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

HTTP協(xié)議基本格式

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

HTTP即HyperText Transfer Protocol(超文本傳輸協(xié)議),HTTP基于TCP/IP協(xié)議傳輸數(shù)據(jù)。

Chrome抓包

注:Chrome瀏覽器或Chrome內(nèi)核瀏覽器可用(如Edge, Firefox)

  1. 在目標(biāo)網(wǎng)頁(yè)打開開發(fā)者工具:
    HTTP協(xié)議基本格式
  2. 點(diǎn)擊網(wǎng)絡(luò)(Network):
    HTTP協(xié)議基本格式
    此時(shí)就可以看到目標(biāo)網(wǎng)頁(yè)的所有請(qǐng)求。
  3. 查看請(qǐng)求和響應(yīng):
    HTTP協(xié)議基本格式

Fiddler代理抓包

瀏覽器自帶抓包工具功能有限,實(shí)際開發(fā)過(guò)程中往往會(huì)選擇一些代理工具進(jìn)行抓包。
常見的抓包工具主要有:Charles、Wireshark、Tcpdump、Fiddler等。對(duì)于初學(xué)者來(lái)說(shuō),使用簡(jiǎn)單且免費(fèi)的Fiddler(Fiddler只適用于Windows系統(tǒng))即可。

FIddler下載地址
Fiddler默認(rèn)是不支持抓取HTTPS的,因此需要先進(jìn)行設(shè)置: 先點(diǎn)擊Tools-options-HTTPS進(jìn)行設(shè)置:

HTTP協(xié)議基本格式
HTTP協(xié)議基本格式
接下來(lái)Fiddler就可以進(jìn)行抓包了。

例如抓取嗶哩嗶哩的HTML頁(yè)面請(qǐng)求:
首先打開bilibili網(wǎng)站,要抓的包就是:
HTTP協(xié)議基本格式
這么多包如何確定我們要找的是哪一個(gè)?

  1. 首先看URL,也就是目標(biāo)域名。
  2. 不同類型的包顏色不同,這里抓的是HTML頁(yè)面的包,因此找藍(lán)色的。
  3. 看body大小,請(qǐng)求的HTML頁(yè)面,body大小一般很大。

找到目標(biāo)后雙擊即可看到詳情:
HTTP協(xié)議基本格式

HTTP協(xié)議格式

HTTP是一種請(qǐng)求——響應(yīng)式協(xié)議,由客戶端(即瀏覽器)發(fā)起請(qǐng)求,服務(wù)器返回響應(yīng)??梢酝ㄟ^(guò)抓包來(lái)分析HTTP協(xié)議的請(qǐng)求和響應(yīng)細(xì)節(jié)以及特點(diǎn)。
抓包工具可以使用Chrome開發(fā)者工具或者Fiddler。

HTTP請(qǐng)求

HTTP協(xié)議基本格式
對(duì)于Get請(qǐng)求,一般沒有body,但是Post請(qǐng)求一般有body,在空行后的部分都是body內(nèi)容。
例如一個(gè)Post請(qǐng)求:
HTTP協(xié)議基本格式
Get請(qǐng)求中雖然可以放body,但一般不建議,某些服務(wù)器或代理會(huì)忽略或刪除get方法中的body,某些客戶端不支持get請(qǐng)求添加body等。因此要攜帶body最好是使用post請(qǐng)求。

首行

首行包括方法、URL以及版本號(hào)。

URL

URL(Uniform Resource Locator),即統(tǒng)一資源定位符,俗稱“網(wǎng)址”?;ヂ?lián)網(wǎng)上的每一個(gè)文件都有唯一的一個(gè)URL。
一個(gè)URL通常包含:協(xié)議、主機(jī)、端口、路徑、查詢參數(shù)、錨點(diǎn)。
HTTP協(xié)議基本格式

方法

HTTP協(xié)議常用方法有:
HTTP協(xié)議基本格式

Get方法

GET 是最常用的 HTTP 方法,用來(lái)獲取服務(wù)器的某個(gè)資源。抓取的包大多數(shù)都是Get請(qǐng)求。

以百度首頁(yè)為例:
HTTP協(xié)議基本格式
特點(diǎn)

  • URL中的查詢參數(shù)可以為空,也可以不為空
  • Header中的若干屬性以鍵值對(duì)的形式存在
  • Get請(qǐng)求中的body一般為空
Post方法

HTTP協(xié)議基本格式
特點(diǎn)

  • URL中的查詢參數(shù)一般為空
  • Header中的若干屬性以鍵值對(duì)的形式存在
  • body 部分一般不為空
  • body 內(nèi)的數(shù)據(jù)格式通過(guò) header 中的 Content-Type 指定
  • body 的長(zhǎng)度由header 中的 Content-Length 指定
Get與Post的區(qū)別

get與post沒有本質(zhì)區(qū)別,get和post一般可以互換,但二者有些不同:

  • get一般用于獲取,post一般用于提交
  • get方法通過(guò)查詢參數(shù)獲取數(shù)據(jù),body一般為空
  • post方法通過(guò)body提交數(shù)據(jù),查詢參數(shù)一般為空
  • get一般是冪等的,post一般不是冪等的(每次相同請(qǐng)求返回同一個(gè)響應(yīng)就視為冪等)
  • get可以緩存(因?yàn)閮绲刃裕?,post不可以緩存

請(qǐng)求報(bào)頭中的屬性

  • Host:表示服務(wù)器主機(jī)的地址和端口

明明URL中已經(jīng)包含了服務(wù)器的地址和端口,為什么還要在設(shè)置一個(gè)Host呢?
其實(shí)一個(gè)服務(wù)器是可以托管多個(gè)網(wǎng)站的,這些網(wǎng)站共享同一個(gè)IP地址和端口號(hào),但是他們有不同的域名,這時(shí)Host的作用就體現(xiàn)出來(lái)了。Host屬性往往使用域名作為字段,這樣便于服務(wù)器識(shí)別。
例如網(wǎng)站A:www.A.com和網(wǎng)站B:www.B.com由同一個(gè)服務(wù)器托管,那么他們的URL中的ip地址和端口號(hào)就相同。無(wú)論是A網(wǎng)站還是B網(wǎng)站發(fā)起請(qǐng)求,通過(guò)DNS協(xié)議進(jìn)行域名解析后會(huì)得到同一個(gè)ip地址和端口號(hào),此時(shí)就需要Host屬性來(lái)識(shí)別是A網(wǎng)站的請(qǐng)求還是B網(wǎng)站的請(qǐng)求。

  • User-Agent:表示瀏覽器或操作系統(tǒng)的一些信息,包括類型、版本、語(yǔ)言等。
    User-Agent的作用是讓服務(wù)器能夠識(shí)別客戶端的類型和能力,從而返回合適的響應(yīng)。
    例如4399小游戲,需要Flash插件才能正常運(yùn)行,但是目前瀏覽器禁止自帶Flash功能,因此打開一個(gè)小游戲后會(huì)顯示:
    HTTP協(xié)議基本格式
    同時(shí)User-Agent也用來(lái)表示客戶端是手機(jī)端還是網(wǎng)頁(yè)端,這也解釋了為什么同一個(gè)網(wǎng)站,用手機(jī)打開和用電腦打開時(shí),頁(yè)面布局什么的不盡相同。

  • Content-Length:表示body的數(shù)據(jù)長(zhǎng)度

  • Content-Type:表示body中的數(shù)據(jù)格式
    Content-Type有多種類型,一般分為如下幾類:

    1. text/plain,表示純文本類型。它會(huì)把表單中的數(shù)據(jù)直接放到請(qǐng)求體中。這種格式適合于傳輸簡(jiǎn)單的文本數(shù)據(jù)。

    2. 以application開頭的,表示應(yīng)用類型。如:application/json表示JSON數(shù)據(jù)格式,application/x-www-form-urlencoded表示表單數(shù)據(jù)格式。

    3. 以mutipart開頭的,表示多部分類型。如:multipart/form-data表示表單數(shù)據(jù)格式。

      application/x-www-form-urlencoded是默認(rèn)的表單數(shù)據(jù)格式,適用于大多數(shù)場(chǎng)景,但是不能上傳文件和二進(jìn)制數(shù)據(jù)
      multipart/form-data是一種多部分?jǐn)?shù)據(jù)格式,它把表單中的數(shù)據(jù)分為多個(gè)部分,每個(gè)部分用特定的符號(hào)分隔開,每個(gè)部分都可以有自己的Content-Type和編碼方式。可以上傳文件和二進(jìn)制數(shù)據(jù)。
      multipart/form-data會(huì)占用更多的資源和帶寬,因此只有上傳文件或二進(jìn)制數(shù)據(jù)時(shí),才使用multipart/form-data,其他情況都使用application/x-www-form-urlencoded。

  • Referer:表示頁(yè)面是從哪一個(gè)頁(yè)面跳轉(zhuǎn)過(guò)來(lái)的。
    例如從百度跳轉(zhuǎn)到B站,抓到的包就是:
    HTTP協(xié)議基本格式
    這里的refer即表示了B站是從百度跳轉(zhuǎn)過(guò)來(lái)的。
    當(dāng)我們?cè)谒阉饕嫔纤阉鲿r(shí),總會(huì)出現(xiàn)廣告,這些都是廣告商投遞的,廣告商通過(guò)搜索提高曝光度:
    HTTP協(xié)議基本格式
    廣告商通過(guò)用戶點(diǎn)擊鏈接來(lái)確認(rèn)成交量。但是廣告商不會(huì)只在一個(gè)搜索引擎上投遞廣告,因此refer就可以幫助確定來(lái)源。

Cookie和Session

HTTP協(xié)議是無(wú)狀態(tài)協(xié)議。無(wú)狀態(tài)指的是HTTP服務(wù)器沒有記憶功能,每次客戶端向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器都無(wú)法確定這個(gè)請(qǐng)求和之前的請(qǐng)求是否有關(guān),例如上某寶網(wǎng)購(gòu),雖然一開始登錄成功,當(dāng)我選定某個(gè)商品后,準(zhǔn)備進(jìn)行后續(xù)操作時(shí),服務(wù)器并不能確定這個(gè)請(qǐng)求是否關(guān)聯(lián)到之前的請(qǐng)求。之所以這樣設(shè)計(jì)是為了簡(jiǎn)化服務(wù)器的處理邏輯,節(jié)省網(wǎng)絡(luò)傳輸?shù)某杀?,但是這樣并不便于用戶操作,因此引入Cookie和Session來(lái)彌補(bǔ)這部分的缺陷。

  • Cookie
    Cookie是一種在客戶端存儲(chǔ)用戶信息的機(jī)制,客戶端發(fā)送請(qǐng)求后,服務(wù)器除了返回響應(yīng)外,還會(huì)返回一個(gè)Cookie給客戶端,Cookie中存儲(chǔ)了當(dāng)前客戶端的狀態(tài)信息,例如登錄狀態(tài)等。當(dāng)客戶端下次發(fā)送請(qǐng)求時(shí),會(huì)一并把Cookie發(fā)過(guò)去,服務(wù)器就可以根據(jù)Cookie來(lái)確定客戶端的狀態(tài)。
  • Session
    Cookie中往往會(huì)包含一些敏感信息,這些信息在傳輸過(guò)程中是透明的,并不安全,容易被盜用篡改。Session是一種更為安全的方法。
    Session是一種在服務(wù)器存儲(chǔ)用戶信息的機(jī)制,客戶端發(fā)送請(qǐng)求后,服務(wù)器除了返回響應(yīng)外,同時(shí)會(huì)生成Cookie信息和一個(gè)Session ID,服務(wù)器把這個(gè)Session ID一并返回客戶端,后續(xù)客戶端發(fā)起請(qǐng)求時(shí),會(huì)一并把Session ID發(fā)過(guò)來(lái),服務(wù)器通過(guò)這個(gè)Session ID就可以找到對(duì)應(yīng)的Cookie信息,從而確定客戶端的狀態(tài)。

Cookie與Session的區(qū)別

  • 存儲(chǔ)位置不同:Cookie存儲(chǔ)在客戶端,Session存儲(chǔ)在服務(wù)器。
  • 安全性不同:Cookie不安全,Session相對(duì)安全。
  • 性能不同:Cookie占用客戶端資源,影響瀏覽體驗(yàn);Session占用服務(wù)器資源,影響性能。
  • 有效期不同:Cookie可以設(shè)置有效期,過(guò)期自動(dòng)刪除;Session沒有設(shè)置過(guò)期時(shí)間時(shí),瀏覽器關(guān)閉即刪除。

HTTP響應(yīng)

HTTP狀態(tài)碼

  • 常見狀態(tài)碼有:
狀態(tài)碼 含義
200 OK(正常)
404 Not Found(沒有找到資源)
403 Forbidden(訪問(wèn)被拒絕)
405 Method Not Allowed(方法不支持)
500 Internal Server Error(服務(wù)器內(nèi)部錯(cuò)誤)
502 Bad Gateway(錯(cuò)誤網(wǎng)關(guān))
504 Gateway Timeout(響應(yīng)超時(shí))
302 Move temporarily(臨時(shí)重定向)
301 Moved Permanently(永久重定向)
  • 狀態(tài)碼小結(jié):
    HTTP協(xié)議基本格式

HTTP響應(yīng)報(bào)頭和正文

HTTP響應(yīng)報(bào)頭

響應(yīng)報(bào)頭的常見屬性有:

  1. text/html,這種格式把響應(yīng)數(shù)據(jù)轉(zhuǎn)化為HTML格式文檔,這種格式適用于返回網(wǎng)頁(yè)數(shù)據(jù),但是需要額外設(shè)置編碼格式。
    例如:Content-Type=text/html; charset=utf8
  2. text/xml,把響應(yīng)數(shù)據(jù)轉(zhuǎn)換為xml格式文檔,這種格式適用于返回結(jié)構(gòu)化數(shù)據(jù),同樣需要設(shè)置編碼格式或者在xml文檔中聲明編碼格式。
  3. 以image開頭的,表示圖像類型,將響應(yīng)數(shù)據(jù)轉(zhuǎn)化為圖片顯示。

除此之外還有很多響應(yīng)屬性例如:text/css、text/javascript等。

HTTP響應(yīng)正文

響應(yīng)正文的具體格式取決于Content-Type屬性。
HTTP協(xié)議基本格式文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-476020.html

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

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

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

相關(guān)文章

  • HTTP超文本傳輸協(xié)議介紹

    HTTP超文本傳輸協(xié)議介紹

    轉(zhuǎn)自:微點(diǎn)閱讀??https://www.weidianyuedu.com HTTP 的全稱是?Hyper?Text Transfer Protocol,中文名叫做超文本傳輸協(xié)議,HTTP協(xié)議是用于從網(wǎng)絡(luò)傳輸超文本數(shù)據(jù)到本地瀏覽器的傳送協(xié)議,它能保證傳送高效而準(zhǔn)確地傳送超文本文檔。 HTTP、HTTPS HTTP 的全稱是 Hyper Text Transfer Protocol,中文名叫

    2024年01月16日
    瀏覽(25)
  • 【網(wǎng)絡(luò)編程】一文詳解http協(xié)議(超文本傳輸協(xié)議)

    【網(wǎng)絡(luò)編程】一文詳解http協(xié)議(超文本傳輸協(xié)議)

    需要云服務(wù)器等云產(chǎn)品來(lái)學(xué)習(xí)Linux的同學(xué)可以移步/--騰訊云--/--阿里云--/--華為云--/官網(wǎng),輕量型云服務(wù)器低至112元/年,新用戶首次下單享超低折扣。 ?? 目錄 一、http協(xié)議 1、http協(xié)議的介紹 2、URL的組成 3、urlencode和urldecode 二、http的請(qǐng)求方法、狀態(tài)碼及狀態(tài)碼描述、常見的響

    2024年02月06日
    瀏覽(31)
  • FTP(File Transfer Protocol,文件傳輸協(xié)議)是一種用于在網(wǎng)絡(luò)上傳輸文件的協(xié)議

    FTP(File Transfer Protocol,文件傳輸協(xié)議)是一種用于在網(wǎng)絡(luò)上傳輸文件的協(xié)議。它允許用戶通過(guò)網(wǎng)絡(luò)連接到遠(yuǎn)程計(jì)算機(jī),并在本地計(jì)算機(jī)和遠(yuǎn)程計(jì)算機(jī)之間進(jìn)行文件傳輸。 FTP分為兩個(gè)主要角色:客戶端和服務(wù)器。客戶端是發(fā)起文件傳輸請(qǐng)求的計(jì)算機(jī),而服務(wù)器是存放文件和響

    2024年02月05日
    瀏覽(33)
  • 【Java網(wǎng)絡(luò)編程】HTTP超文本傳輸協(xié)議

    【Java網(wǎng)絡(luò)編程】HTTP超文本傳輸協(xié)議

    ? ? HTTP 全稱為 Hyper Text Transfer Protocol 超文本傳輸協(xié)議,它是基于 TCP 傳輸協(xié)議構(gòu)建的應(yīng)用層協(xié)議,作為支撐萬(wàn)維網(wǎng) www 的核心協(xié)議,為了保證其效率及處理大量事務(wù)的能力,因此在設(shè)計(jì)時(shí), HTTP 被制定成為一種無(wú)狀態(tài)協(xié)議,也就是說(shuō): HTTP 本身不會(huì)對(duì)發(fā)送過(guò)的請(qǐng)求和相應(yīng)的通

    2024年04月09日
    瀏覽(20)
  • 直播程式源碼平臺(tái)細(xì)講HTTP協(xié)議:超文本傳輸

    直播程式源碼平臺(tái)細(xì)講HTTP協(xié)議:超文本傳輸

    HTTP協(xié)議的簡(jiǎn)介 ? HTTP協(xié)議是一種數(shù)據(jù)通信協(xié)議,是瀏覽器與服務(wù)器之間的協(xié)議,HTTP協(xié)議的中文全稱為超文本傳輸協(xié)議,HTTP協(xié)議在直播程式源碼平臺(tái)中,承載著數(shù)據(jù)傳輸?shù)闹匾蝿?wù),用戶可以通過(guò)HTTP協(xié)議獲取直播程式源碼平臺(tái)中提供給用戶的信息與視頻資源,并通過(guò)網(wǎng)絡(luò)流傳

    2024年02月10日
    瀏覽(21)
  • HTTP 協(xié)議的基本格式

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

    什么是HTTP?HTTP是應(yīng)用層的一個(gè)重要協(xié)議.它定義了瀏覽器怎樣向服務(wù)器請(qǐng)求文件,以及服務(wù)器怎樣把文件傳送給瀏覽器. 我們打開瀏覽器,手動(dòng)輸入一個(gè)網(wǎng)址:baidu.com.那么此時(shí)瀏覽器就會(huì)給百度的服務(wù)器發(fā)送請(qǐng)求.百度服務(wù)器在返回一個(gè)html的響應(yīng). 那么我們?nèi)绾螌W(xué)習(xí)HTTP協(xié)議呢?通過(guò)它

    2024年02月06日
    瀏覽(21)
  • HTTP協(xié)議基本格式

    HTTP協(xié)議基本格式

    HTTP即HyperText Transfer Protocol(超文本傳輸協(xié)議),HTTP基于TCP/IP協(xié)議傳輸數(shù)據(jù)。 注:Chrome瀏覽器或Chrome內(nèi)核瀏覽器可用(如Edge, Firefox) 在目標(biāo)網(wǎng)頁(yè)打開開發(fā)者工具: 點(diǎn)擊網(wǎng)絡(luò)(Network): 此時(shí)就可以看到目標(biāo)網(wǎng)頁(yè)的所有請(qǐng)求。 查看請(qǐng)求和響應(yīng): 瀏覽器自帶抓包工具功能有限,

    2024年02月08日
    瀏覽(20)
  • HTTP協(xié)議的基本格式

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

    目錄 一、HTTP請(qǐng)求 ?1.1 首行 1.1.1 URL 1.1.2 方法 1.2 請(qǐng)求報(bào)頭(header) 1.2.1 host ?編輯 1.2.2?Content-Length和Content-Type 1.2.3 User-Agent 1.2.4 Referer 1.2.5 Cookie 1.3 請(qǐng)求正文(body) 1.3.1??application/x-www-form-urlencoded ?1.3.2?application/json 1.3.3? multipart/form-data 二、HTTP響應(yīng) 2.1 首行 2.1.1 狀態(tài)碼 H

    2024年02月17日
    瀏覽(19)
  • HTTP 協(xié)議的基本格式和 fiddler 的用法

    HTTP 協(xié)議的基本格式和 fiddler 的用法

    目錄 一.??HTTP 協(xié)議 1. HTTP協(xié)議是什么 2.?HTTP協(xié)議的基本格式 ?HTTP請(qǐng)求 首行? ????????????????GET和POST方法: ????????????????其他方法? ????????????????經(jīng)典面試題: ????????????????URL Header(請(qǐng)求報(bào)頭)部分 空行? ?HTTP響應(yīng) ?????????狀態(tài)

    2024年02月12日
    瀏覽(18)
  • https是什么意思?(安全超文本傳輸協(xié)議)

    在逛論壇的時(shí)候發(fā)現(xiàn)有網(wǎng)友說(shuō)到IE打不開HTTPS的情況,在論壇上的留言發(fā)現(xiàn)有部分網(wǎng)友說(shuō)到還不知道什么是HTTPS?那么 HTTPS是什么意思? 所以yii666就在這里跟大家詳細(xì)講解HTTP的具體含義。內(nèi)容如下: HTTP(hypertext transport protocol) HTTP相信大家有見到過(guò),HTTP它所代表的就是超文

    2024年02月05日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包