一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

了解HTTP Headers的方方面面(2)

 流曲頻陽(yáng) 2017-04-27

 


HTTP Request 的結(jié)構(gòu)



被稱作“first line”的第一行包含三個(gè)部分:



  • “method” 表明這是何種類型的請(qǐng)求. 最常見(jiàn)的請(qǐng)求類型有 GET, POST 和 HEAD.

  • “path” 體現(xiàn)的是主機(jī)之后的路徑. 例如,當(dāng)你請(qǐng)求 “http://net./tutorials/other/top-20-mysql-best-practices/”時(shí) , path 就會(huì)是 “/tutorials/other/top-20-mysql-best-practices/”.

  • “protocol” 包含有 “HTTP” 和版本號(hào), 現(xiàn)代瀏覽器都會(huì)使用1.1.


剩下的部分每行都是一個(gè)“Name:Value”對(duì)。它們包含了各式各樣關(guān)于請(qǐng)求和你瀏覽器的信息。例如”User-Agent“就表明了你瀏覽器版本和你所用的操作系統(tǒng)?!盇ccept-Encoding“會(huì)告訴服務(wù)器你的瀏覽可以接受類似gzip的壓縮輸出。


這些headers大部分都是可選的。HTTP 請(qǐng)求甚至可以被精簡(jiǎn)成這樣子:


GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1

Host: net.


并且你仍舊可以從服務(wù)器收到有效的響應(yīng)。


請(qǐng)求類型


三種最常見(jiàn)的請(qǐng)求類型是:GET,POST 和 HEAD ,從html的編寫(xiě)過(guò)程中你可能已經(jīng)熟悉了前兩種。


GET:獲取一個(gè)文檔


大部分被傳輸?shù)綖g覽器的html,images,js,css, … 都是通過(guò)GET方法發(fā)出請(qǐng)求的。它是獲取數(shù)據(jù)的主要方法。


例如,要獲取Nettuts+ 的文章,http request的第一行通??雌饋?lái)是這樣的:


GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1


一旦html加載完成,瀏覽器將會(huì)發(fā)送GET 請(qǐng)求去獲取圖片,就像下面這樣:


GET /wp-content/themes/tuts_theme/images/header_bg_tall.png HTTP/1.1


表單也可以通過(guò)GET方法發(fā)送,下面是個(gè)例子:


<form action="foo.php" method="GET">

First Name: <input name="first_name" type="text" />

Last Name: <input name="last_name" type="text" />

<input name="action" type="submit" value="Submit" />

</form>


當(dāng)這個(gè)表單被提交時(shí),HTTP request 就會(huì)像這樣:


GET /foo.php?first_name=John&last_name=Doe&action=Submit HTTP/1.1

...


你可以將表單輸入通過(guò)附加進(jìn)查詢字符串的方式發(fā)送至服務(wù)器。


POST:發(fā)送數(shù)據(jù)至服務(wù)器


盡管你可以通過(guò)GET方法將數(shù)據(jù)附加到url中傳送給服務(wù)器,但在很多情況下使用POST發(fā)送數(shù)據(jù)給服務(wù)器更加合適。通過(guò)GET發(fā)送大量數(shù)據(jù)是不現(xiàn)實(shí)的,它有一定的局限性。


用POST請(qǐng)求來(lái)發(fā)送表單數(shù)據(jù)是普遍的做法。我們來(lái)吧上面的例子改造成使用POST方式:


<form action="foo.php" method="POST">

First Name: <input name="first_name" type="text" />

Last Name: <input name="last_name" type="text" />

<input name="action" type="submit" value="Submit" />

</form>


提交這個(gè)表單會(huì)創(chuàng)建一個(gè)如下的HTTP 請(qǐng)求:


POST /foo.php HTTP/1.1

Host: localhost

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-us,en;q=0.5

Accept-Encoding: gzip,deflate

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

Referer: http://localhost/test.php

Content-Type: application/x-www-form-urlencoded

Content-Length: 43

first_name=John&last_name=Doe&action=Submit


這里有三個(gè)需要注意的地方:



  • 第一行的路徑已經(jīng)變?yōu)楹?jiǎn)單的 /foo.php , 已經(jīng)沒(méi)了查詢字符串。

  • 新增了 Content-Type 和 Content-Lenght 頭部,它提供了發(fā)送信息的相關(guān)信息.

  • 所有數(shù)據(jù)都在headers之后,以查詢字符串的形式被發(fā)送.


POST方式的請(qǐng)求也可用在AJAX,應(yīng)用程序,cURL … 之上。并且所有的文件上傳表單都被要求使用POST方式。


HEAD:接收頭部信息


HEAD和GET很相似,只不過(guò)HEAD不接受HTTP響應(yīng)的內(nèi)容部分。當(dāng)你發(fā)送了一個(gè)HEAD請(qǐng)求,那就意味著你只對(duì)HTTP頭部感興趣,而不是文檔本身。


這個(gè)方法可以讓瀏覽器判斷頁(yè)面是否被修改過(guò),從而控制緩存。也可判斷所請(qǐng)求的文檔是否存在。


例如,假如你的網(wǎng)站上有很多鏈接,那么你就可以簡(jiǎn)單的給他們分別發(fā)送HEAD請(qǐng)求來(lái)判斷是否存在死鏈,這比使用GET要快很多。



               

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产午夜福利不卡片在线观看| 激情内射亚洲一区二区三区| 欧美激情一区=区三区| 国产精品激情对白一区二区| 日韩精品一区二区亚洲| 好吊视频一区二区在线| 国产精品自拍杆香蕉视频| 亚洲中文字幕人妻av| 内射精品欧美一区二区三区久久久| 麻豆剧果冻传媒一二三区| 精品人妻一区二区四区| 欧美一区二区三区五月婷婷| 美女黄片大全在线观看| 91亚洲熟女少妇在线观看| 丝袜人妻夜夜爽一区二区三区| 国产农村妇女成人精品| 偷拍洗澡一区二区三区| 97人妻精品一区二区三区免| 午夜免费精品视频在线看| 欧美日韩国产综合特黄| 视频一区二区 国产精品| 国产精品免费不卡视频| 亚洲专区一区中文字幕| 香蕉尹人视频在线精品| 91老熟妇嗷嗷叫太91| 欧美一区二区在线日韩| 九九热最新视频免费观看| 国内外激情免费在线视频| 91日韩在线观看你懂的| 亚洲天堂精品在线视频| 色一欲一性一乱—区二区三区| 超薄丝袜足一区二区三区| 久久成人国产欧美精品一区二区| 高清一区二区三区不卡免费| 中文字幕佐山爱一区二区免费 | 日韩欧美三级视频在线| 美女露小粉嫩91精品久久久| 日韩亚洲激情在线观看| 91欧美激情在线视频| 日本人妻精品中文字幕不卡乱码 | 中文字幕日韩欧美亚洲午夜|