国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HTTP 協(xié)議的基本格式

這篇具有很好參考價值的文章主要介紹了HTTP 協(xié)議的基本格式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

HTTP

什么是HTTP?HTTP是應(yīng)用層的一個重要協(xié)議.它定義了瀏覽器怎樣向服務(wù)器請求文件,以及服務(wù)器怎樣把文件傳送給瀏覽器.

我們打開瀏覽器,手動輸入一個網(wǎng)址:baidu.com.那么此時瀏覽器就會給百度的服務(wù)器發(fā)送請求.百度服務(wù)器在返回一個html的響應(yīng).
HTTP 協(xié)議的基本格式

那么我們?nèi)绾螌W(xué)習(xí)HTTP協(xié)議呢?通過它的協(xié)議報文格式,我們就能看到HTTP具體是什么樣子的了。

HTTP的報文協(xié)議格式

學(xué)習(xí)HTTP的報文格式,需要通過一個抓包工具來實現(xiàn).
那么抓包工具是什么呢?

一. 抓包工具

抓包工具的本質(zhì)就是一個代理,簡稱跑腿的.比如A想喝樓下茶百道奶,讓給他買.B此時充當(dāng)?shù)慕巧褪谴怼?br>HTTP 協(xié)議的基本格式

由于B是那個替別人執(zhí)行任務(wù)的,所以非常清楚任務(wù)的具體執(zhí)行過程。
我們引入抓包,就是為了獲取想要的原始數(shù)據(jù)。

我們推薦使用Fiddler來實現(xiàn)http的抓包。

Fidder的使用詳解

左右結(jié)構(gòu)

  • 左側(cè):抓到的包的列表(注意,它是一直在持續(xù)的)

  • 右側(cè):雙擊找到的包,會出現(xiàn)這個包的詳情頁。右上:請求 右下:響應(yīng)
    HTTP 協(xié)議的基本格式

二.HTTP請求

雙擊右上的Raw,就可以看到原來的格式,然后點擊view in notepad.就可以通過記事本來打開啦!
下圖就是一個完整的HTTP請求:
HTTP 協(xié)議的基本格式

HTTP請求的組成部分
  1. 首行
    HTTP 協(xié)議的基本格式
    2.Header
    HTTP 協(xié)議的基本格式

3.空行
HTTP 協(xié)議的基本格式
Header的結(jié)束標(biāo)記
4.正文
body (可有可沒有)

下面我們著重介紹四個部分的首行和請求頭Header部分

1.首行
HTTP方法

HTTP有很多方法,其中比較重要的有兩個:

  • get 請求

  • post請求
    HTTP 協(xié)議的基本格式

它們都是客戶端向服務(wù)器發(fā)送請求的方法

get和post的區(qū)別
本質(zhì)上沒有室內(nèi)區(qū)別,但是在方法的使用上有些不同.
1.get用來表示“獲取一個數(shù)據(jù)”,post表示“提交一個數(shù)據(jù)”;
2.get沒有body,需要攜帶數(shù)據(jù)的話要放入URL中。而Post有body;
3.get是冪等的;=,post無要求;
(冪等就是輸入一定,輸出也一定。這樣只要是同一個輸入,就會有同一個輸出?。。。?br> 4.get可以緩存,post不可以;
(緩存是建立在冪等的基礎(chǔ)之上的,因為輸入一定,輸出也一定。所以我們可以把輸出緩存起來。這樣只要是同一個輸入。服務(wù)器就不用計算了,直接返回緩存中的結(jié)果)
5.get可以被瀏覽器收藏,post不可以。

URL

唯一資源定位標(biāo)識,描述了網(wǎng)絡(luò)上的一個唯一的資源。

HTTP 協(xié)議的基本格式
如果覺得很抽象的話!我們可以舉一個生活中的例子,便于理解。
假設(shè)我們要去重慶工商大學(xué)的18窗口吃重慶小面:
那用URL來表示就是:
http://重慶工商大學(xué)3食堂:18//重慶小面/豌雜面?蔥=不要&辣椒=微辣&香菜=不要
服務(wù)器地址:重慶工商大學(xué)
端口號:18
訪問資源:重慶小面的豌雜面
補充說明:不要蔥微辣不要香菜.

注:查詢字符串是有鍵值對組成的。&分割鍵值對,=分割鍵和值。

版本號

HTTP的版本號有:HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3
最新版本:HTTP/3
最常用版本:HTTP/1.1

2. 請求頭Header

鍵值對結(jié)構(gòu)。每個鍵值對都是一行;鍵和值之間采用: (冒號+空格)分割

HTTP 協(xié)議的基本格式
空行結(jié)束。

Host

描述了瀏覽器要訪問的服務(wù)器是誰(地址+端口號)

與URL的區(qū)別:
URL中存放的是當(dāng)前目標(biāo),Host中存放的是最終目標(biāo)。

content-Type和content-Length
  • content-Type

描述body的數(shù)據(jù)格式

作為請求的寫法:

HTTP 協(xié)議的基本格式

通過form表單提交數(shù)據(jù),body的格式和查詢字符串(querry String)一樣,也就是url中的查詢字符串的格式:username=cy&password=gw520

HTTP 協(xié)議的基本格式數(shù)據(jù)格式是json,字符集是utf-8

{
username:cy;
password:gw520;

}

  • content-Length

描述body的數(shù)據(jù)長度

HTTP 協(xié)議的基本格式

這兩個屬性是跟著body走的,所以只有請求是Post時,才會出現(xiàn).

User-Agent(UA)

主要描述系統(tǒng)和瀏覽器是什么版本。

HTTP 協(xié)議的基本格式
作用:
UA在早年互聯(lián)網(wǎng)行業(yè)還未發(fā)展起來的時候,是用來區(qū)分各種上網(wǎng)設(shè)備的(不同的型號等),不同的上網(wǎng)設(shè)備能支持的功能不同。
而如今,隨著互聯(lián)網(wǎng)的快速發(fā)展,瀏覽器之間的區(qū)別以及非常小了,UA存在的價值就是區(qū)分用戶是手機端、PC端還是平板。

referer

表示這個頁面是從哪個頁面跳轉(zhuǎn)過來的。

比如我在百度搜索肖戰(zhàn)。
此時的referer表示當(dāng)前頁面是從百度頁面跳轉(zhuǎn)過來的:

HTTP 協(xié)議的基本格式*

Cookie

俗稱小餅干,也是由鍵值對組成的。它是瀏覽器在本地存儲用戶自定義數(shù)據(jù)的一種重要機制。

HTTP 協(xié)議的基本格式
數(shù)據(jù)都是存儲在服務(wù)器的,瀏覽器也需要存儲數(shù)據(jù)嗎?是的。
瀏覽器要存儲數(shù)據(jù),比如用戶信息。那么它如何存儲呢?直接訪問硬盤文件嗎?不可以,如果允許網(wǎng)頁訪問文件系統(tǒng)的話,如果有不良網(wǎng)頁篡改我們硬盤中的某些數(shù)據(jù),后果將不堪設(shè)想?。。?br> 所以為了保證網(wǎng)絡(luò)安全,瀏覽器會限制網(wǎng)頁訪問我們的文件系統(tǒng)。
既然瀏覽器阻止網(wǎng)頁訪問文件系統(tǒng),又想要存數(shù)據(jù)。該如何實現(xiàn)呢?Cookie機制!
瀏覽器通過Cookie機制,允許網(wǎng)頁往瀏覽器這邊寫入一些自定義的鍵值對。這些數(shù)據(jù)通過瀏覽器的api,寫入特定的文件(往指定位置存儲指定文件)。

  1. Cookie從哪兒來

從服務(wù)器來。當(dāng)瀏覽器訪問服務(wù)器時,服務(wù)器會返回一個HTTP響應(yīng),響應(yīng)中的set-Cookie字段就包含了Cookie鍵值對。

在瀏覽器搜索baidu.com,通過抓包工具進行抓包,找到這個包,點擊響應(yīng),打開:
HTTP 協(xié)議的基本格式
再次打開瀏覽器,就可以看到瀏覽器存儲的數(shù)據(jù)了。
HTTP 協(xié)議的基本格式

  1. Cookie到哪里去

瀏覽器保存之后,后續(xù)再訪問服務(wù)器,就會帶上Cookie。

  1. Cookie有什么用

瀏覽器本地存儲數(shù)據(jù)的機制。最主要的作用就是存儲用戶登錄信息。當(dāng)再次訪問服務(wù)器,帶上Cookie,服務(wù)器就能知道是哪個用戶。

例1:我們登錄 QQ郵箱,此時瀏覽器會記住用戶登錄信息,服務(wù)器根據(jù)這個用戶登陸信息,返回這個用戶信息的數(shù)據(jù)(比如收件箱,草稿箱等等)。我們再去點擊收件箱,就不用重新登錄了,會直接出來這個這個用戶對應(yīng)的頁面。
例2:cookie有點像我們平時的校園卡,校園卡里存儲了每個學(xué)生的信息,姓名,學(xué)號,余額等等。當(dāng)我們刷校園卡出入校門,系統(tǒng)就能通過校園卡識別信息。確認是本校學(xué)生,就可以進門了。

三.HTTP響應(yīng)

HTTP響應(yīng)的組成部分

像HTTP請求一樣,先點擊Raw,再點擊使用記事本打開??梢园l(fā)現(xiàn),是一個二進制文件!這是由于此時打開的是一個HTTP響應(yīng)的壓縮文件。我們可以點擊這個:
HTTP 協(xié)議的基本格式

打開,就可以看到解壓過后的文本文件了。
如下圖是一個完整的HTTP響應(yīng):

HTTP 協(xié)議的基本格式
HTTP響應(yīng)也可以分成四個部分:
1.首行

HTTP 協(xié)議的基本格式
2.響應(yīng)報頭(Header)
HTTP 協(xié)議的基本格式

3.空行
HTTP 協(xié)議的基本格式

4.正文
(此處是一個HTML代碼HTTP 協(xié)議的基本格式
HTTP響應(yīng)與HTTP請求的組成部分差不多,重點了解HTTP響應(yīng)首行中的狀態(tài)碼代表什么意思就可以了.

HTTP狀態(tài)碼

表示此次請求是成功還是失敗,用數(shù)字表示.

HTTP 協(xié)議的基本格式
比較經(jīng)典的錯誤::
200:表示請求成功
301:永久重定向
302:臨時重定向
404:表示訪問的資源不存在
403:表示訪問被拒絕(沒有權(quán)限)
500:服務(wù)器內(nèi)部錯誤
504:服務(wù)器訪問超時

總結(jié)

HTTP協(xié)議報文格式:
HTTP 協(xié)議的基本格式文章來源地址http://www.zghlxwxcb.cn/news/detail-458319.html

到了這里,關(guān)于HTTP 協(xié)議的基本格式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • JavaEE & HTTP應(yīng)用層協(xié)議

    JavaEE & HTTP應(yīng)用層協(xié)議

    HTTP應(yīng)用層協(xié)議 超文本傳輸協(xié)議(Hyper Text [Transfer Protocol](https://baike.baidu.com/item/Transfer Protocol/612755?fromModule=lemma_inlink),HTTP) 是一個簡單的請求-響應(yīng)協(xié)議 ,它通常運行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。請求和響應(yīng)消息的頭以

    2024年02月06日
    瀏覽(24)
  • 【JavaEE】HTTP應(yīng)用層協(xié)議

    【JavaEE】HTTP應(yīng)用層協(xié)議

    HTTP應(yīng)用層協(xié)議 超文本傳輸協(xié)議(Hyper Text [Transfer Protocol](https://baike.baidu.com/item/Transfer Protocol/612755?fromModule=lemma_inlink),HTTP) 是一個簡單的請求-響應(yīng)協(xié)議 ,它通常運行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。請求和響應(yīng)消息的頭以

    2024年02月07日
    瀏覽(25)
  • 【計算機網(wǎng)絡(luò)】應(yīng)用層協(xié)議 -- HTTP協(xié)議

    【計算機網(wǎng)絡(luò)】應(yīng)用層協(xié)議 -- HTTP協(xié)議

    協(xié)議。網(wǎng)絡(luò)協(xié)議的簡稱,網(wǎng)絡(luò)協(xié)議是通信計算機雙方必須共同遵守的一組約定,比如怎么建立連接,怎么互相識別等。 為了使數(shù)據(jù)在網(wǎng)絡(luò)上能夠從源頭到達目的,網(wǎng)絡(luò)通信的參與方必須遵守相同的規(guī)則,我們稱這套相同的規(guī)則為協(xié)議(protocol),而協(xié)議最終都需要通過計算機

    2024年02月15日
    瀏覽(27)
  • 【應(yīng)用層】網(wǎng)絡(luò)基礎(chǔ) -- HTTP協(xié)議

    【應(yīng)用層】網(wǎng)絡(luò)基礎(chǔ) -- HTTP協(xié)議

    協(xié)議是一種 “約定”. socket api的接口,在讀寫數(shù)據(jù)時,都是按 “字符串” 的方式來發(fā)送接收的(tcp是以字節(jié)流的方式發(fā)送的,這里便與表述使用\\\"字符串\\\") 如果我們要傳輸一些\\\"結(jié)構(gòu)化的數(shù)據(jù)\\\" 怎么辦呢? 那么我們(TCP)在收到一個報文的時候,如何保證你收到了一個完整的報文?

    2024年02月11日
    瀏覽(58)
  • 【Linux】應(yīng)用層之HTTP協(xié)議

    【Linux】應(yīng)用層之HTTP協(xié)議

    在應(yīng)用層,需要我們傳遞應(yīng)用層所需特殊的數(shù)據(jù)格式,這種數(shù)據(jù)可能是連續(xù)數(shù)據(jù),例如int類型的整形變量,也可能是string類型的字符串,也可能是多個變量構(gòu)成的結(jié)構(gòu)體,那么就意味著我們發(fā)送的數(shù)據(jù)可能是連續(xù)的,也可能是不連續(xù)的,這時為了統(tǒng)一數(shù)據(jù)的解析方法,我們對

    2024年02月12日
    瀏覽(31)
  • 應(yīng)用層—HTTP詳解(抓包工具、報文格式、構(gòu)造http等……)

    應(yīng)用層—HTTP詳解(抓包工具、報文格式、構(gòu)造http等……)

    HTTP (全稱為 “超文本傳輸協(xié)議”) 是一種應(yīng)用非常廣泛的 應(yīng)用層協(xié)議 。 我們平時打開一個網(wǎng)站,就是通過 Http 協(xié)議來傳輸數(shù)據(jù)的。 學(xué)習(xí) Http 需要先了解 http 協(xié)議格式,這里就需要用到 抓包工具 。抓包工具本質(zhì)上是一個代理。 代理:代理是一種網(wǎng)絡(luò)服務(wù),它充當(dāng)客戶端和目

    2024年01月22日
    瀏覽(26)
  • Linux網(wǎng)絡(luò):應(yīng)用層之HTTP協(xié)議

    Linux網(wǎng)絡(luò):應(yīng)用層之HTTP協(xié)議

    我們程序員寫的一個個解決實際問題,滿足日常需求的網(wǎng)絡(luò)程序,都是在應(yīng)用層。 協(xié)議是一種約定。網(wǎng)絡(luò)協(xié)議是計算機網(wǎng)絡(luò)中通信雙方都必須遵守的一組約定。 在網(wǎng)絡(luò)通信中,都是以 “字符串” 的方式來發(fā)送和接收數(shù)據(jù)的。 如果要發(fā)送和接收一些結(jié)構(gòu)化的數(shù)據(jù),就需要序

    2023年04月26日
    瀏覽(19)
  • 【Java】應(yīng)用層協(xié)議HTTP和HTTPS

    【Java】應(yīng)用層協(xié)議HTTP和HTTPS

    HTTP (全稱為 “超文本傳輸協(xié)議”) 是一種應(yīng)用非常廣泛的 應(yīng)用層協(xié)議. HTTP 往往是基于傳輸層的 TCP 協(xié)議實現(xiàn)的. (HTTP1.0, HTTP1.1, HTTP2.0 均為TCP, HTTP3 基于 UDP 實現(xiàn)) 當(dāng)我們在瀏覽器中輸入一個 搜狗搜索的 “網(wǎng)址” (URL) 時, 瀏覽器就給搜狗的服務(wù)器發(fā)送了一個 HTTP 請 求, 搜狗的服

    2024年02月07日
    瀏覽(25)
  • 【Linux】應(yīng)用層協(xié)議:HTTP和HTTPS

    【Linux】應(yīng)用層協(xié)議:HTTP和HTTPS

    每個人都可以很喜歡每個人,但喜歡治不了病,喜歡買不了東西,喜歡不能當(dāng)飯吃,喜歡很廉價… 1.1 URL的組成 1. 在之前的文章中我們實現(xiàn)了一個網(wǎng)絡(luò)版本的計算器,在那個計算器中揉合了協(xié)議定制以及序列化反序列化的內(nèi)容,我們當(dāng)時也自己定制了一套協(xié)議標(biāo)準,比如請求

    2024年02月10日
    瀏覽(17)
  • 【計算機網(wǎng)絡(luò)】應(yīng)用層——HTTP 協(xié)議(一)

    【計算機網(wǎng)絡(luò)】應(yīng)用層——HTTP 協(xié)議(一)

    個人主頁:兜里有顆棉花糖 歡迎 點贊?? 收藏? 留言? 加關(guān)注??本文由 兜里有顆棉花糖 原創(chuàng) 收錄于專欄【網(wǎng)絡(luò)編程】 本專欄旨在分享學(xué)習(xí)計算機網(wǎng)絡(luò)的一點學(xué)習(xí)心得,歡迎大家在評論區(qū)交流討論?? HTTP協(xié)議全稱超文本傳輸協(xié)議,通過瀏覽器和服務(wù)器進行數(shù)據(jù)交互,進行

    2024年01月23日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包