- HTTP報(bào)文首部
報(bào)文首部 |
---|
空行 |
報(bào)文主體 |
HTTP請(qǐng)求報(bào)文首部
在請(qǐng)求中乙各,HTTP報(bào)文由方法爬骤,URI,HTTP版本缀旁,HTTP首部字段等部分構(gòu)成记劈。HTTP響應(yīng)報(bào)文首部
在響應(yīng)中,HTTP報(bào)文由HTTP版本并巍,狀態(tài)碼目木,HTTP首部字段3部分組成-
HTTP首部字段
使用首部字段是為了給瀏覽器和服務(wù)器提供報(bào)文主體大小,所使用的語(yǔ)言,認(rèn)證信息等內(nèi)容刽射。- HTTP首部字段結(jié)構(gòu)
首部字段名:字段值 - 通用首部字段類型
請(qǐng)求報(bào)文和響應(yīng)報(bào)文兩方都會(huì)使用的首部军拟。 - 請(qǐng)求首部字段
- 響應(yīng)首部字段
- 實(shí)體首部字段
針對(duì)請(qǐng)求報(bào)文和響應(yīng)報(bào)文的實(shí)體部分使用的首部,補(bǔ)充了資源內(nèi)容更新時(shí)間等與實(shí)體有關(guān)的信息誓禁。
- HTTP首部字段結(jié)構(gòu)
-
end-to-end首部和Hop-by-hop
- 端到端首部
分在此類別中的首部分會(huì)轉(zhuǎn)發(fā)給請(qǐng)求/響應(yīng)對(duì)應(yīng)的最終接受目標(biāo)懈息,且必須保存在由緩存生成的響應(yīng)中,另外規(guī)定它必須被轉(zhuǎn)發(fā)摹恰。 - 逐跳首部
分在此類中的首部只對(duì)單次轉(zhuǎn)發(fā)有效辫继,會(huì)因通過(guò)緩存或代理而不再轉(zhuǎn)發(fā)。
- 端到端首部
-
HTTP/1.1通用首部字段
- Cache-Control
操作緩存的工作機(jī)制俗慈。- public:表示其他用戶也可利用緩存
- private:響應(yīng)只能以特定的用戶為對(duì)象
- no-cache:強(qiáng)制向源服務(wù)器再次驗(yàn)證緩存姑宽,防止從緩存中返回過(guò)期的資源
- no-store:不緩存請(qǐng)求或響應(yīng)的任何內(nèi)容,暗示請(qǐng)求或響應(yīng)中包含機(jī)密信息闺阱。
- s-maxage=秒:公共緩存的最大時(shí)間界限
- max-age=秒:與上一個(gè)類似炮车,區(qū)別是上一個(gè)是公共的,這個(gè)是針對(duì)特定用戶服務(wù)器的
- min-fresh=秒:期望在指定時(shí)間內(nèi)的響應(yīng)仍有效酣溃,即至少未過(guò)指定時(shí)間的緩存資源
- max-stale=秒:用來(lái)接受過(guò)期的資源瘦穆,沒(méi)有時(shí)間是什么資源都接受,由時(shí)間是過(guò)期時(shí)間在限定內(nèi)的資源
- noly-if-cached:從緩存中獲取資源
- Connection
控制不再轉(zhuǎn)發(fā)給代理的首部字段
管理持久連接- 控制不再轉(zhuǎn)發(fā)的首部字段
就是字段值寫什么赊豌,什么首部就不會(huì)被轉(zhuǎn)發(fā) - http/1.1版本的默認(rèn)連接都是持久連接扛或,為此,客戶端會(huì)再持久連接上發(fā)送請(qǐng)求碘饼。當(dāng)服務(wù)器想明確斷開(kāi)連接時(shí)告喊,則指定Connection首部字段的值為Close。
- 控制不再轉(zhuǎn)發(fā)的首部字段
- Date
首部字段Date表明創(chuàng)建HTtp報(bào)文的日期和時(shí)間派昧。 - Pargma
歷史遺留的兼容版本黔姜。不用特地記。 - Trailer
首部字段Trailer會(huì)事先說(shuō)明在報(bào)文主體后記錄了哪些首部字段蒂萎,該首部字段可應(yīng)用再HTTP/1.1版本分塊傳輸編碼時(shí)秆吵。 - Transfer-Encoding
規(guī)定了傳輸報(bào)文主體時(shí)所用的編碼方式。
HTTP/1.1的傳輸編碼方式僅對(duì)分塊傳輸編碼有效五慈。 - Upgrade
用于檢測(cè)HTTP協(xié)議及其他協(xié)議是否可使用更高的版本進(jìn)行通信纳寂,其參數(shù)值可以用來(lái)指定一個(gè)完全不同的通信協(xié)議。 - Via
用來(lái)追蹤客戶端和服務(wù)器之間的請(qǐng)求和響應(yīng)報(bào)文的傳輸路徑泻拦。
經(jīng)過(guò)代理和網(wǎng)關(guān)的時(shí)候毙芜,會(huì)先在首部字段Via中附加該服務(wù)器的信息,然后再進(jìn)行轉(zhuǎn)發(fā)争拐。 - Warning
HTTP/1.1的Warbning告知用戶一些與緩存相關(guān)的問(wèn)題的警告腋粥。
Warning: 警告碼 警告主機(jī):端口 “警告內(nèi)容” 日期時(shí)間
- Cache-Control
-
請(qǐng)求首部字段
- accept
用來(lái)告知服務(wù)器用戶代理(瀏覽器)能夠處理的媒體類型及媒體類型的相對(duì)優(yōu)先級(jí)
一般用q來(lái)表示優(yōu)先級(jí)的權(quán)重值,q的范圍再0~1,最高是1隘冲,最低是0闹瞧,可以到小數(shù)后三位。默認(rèn)權(quán)重值為1 展辞。 - accept-charset
用來(lái)通知服務(wù)器用戶代理支持的字符集及字符集的相對(duì)優(yōu)先順序奥邮,另外,也支持權(quán)重值q罗珍。 - accept-Encoding
用來(lái)告知服務(wù)器用戶代理(瀏覽器)支持的內(nèi)容編碼及內(nèi)容編碼的優(yōu)先級(jí)順序洽腺。 - Accept-Language
用來(lái)告知服務(wù)器用戶代理能夠處理的自然語(yǔ)言集,以及自然語(yǔ)言集的相對(duì)優(yōu)先級(jí)覆旱。 - Authorization
用來(lái)進(jìn)行用戶代理的認(rèn)證信息 已脓。 - From
用來(lái)告知服務(wù)器使用用戶代理的用戶的電子郵件地址。 - Host
虛擬主機(jī)運(yùn)行同一IP上通殃,因此使用首部字段Host加以區(qū)分。 - if-Match
形如If-xxx這種形式的請(qǐng)求首部字段厕宗,都可稱為條件請(qǐng)求画舌,服務(wù)器接收到附帶條件的請(qǐng)求后,只有判斷指定條件為真時(shí)已慢,才會(huì)執(zhí)行請(qǐng)求曲聂。
該條件是匹配實(shí)體標(biāo)記Etag - if-modified-since
是想獲得該時(shí)間之后更新過(guò)的字段。 - if-none-match
與if-match相反的操作佑惠。 - if-range
if-range:“ETag”
range:bytes=
兩者配合使用朋腋,可以返回范圍請(qǐng)求,如果ETag不一致膜楷,則返回全部范圍旭咽。 - if-unmodified-since
與if-modified-since相反。 - max-forwards
表示了可經(jīng)過(guò)的服務(wù)器最大數(shù)目赌厅。 - proxy-Authorization
代理服務(wù)器的驗(yàn)證穷绵。 - Referer
會(huì)告知服務(wù)器請(qǐng)求的原始資源的URI。 - TE
首部字段TE會(huì)告知服務(wù)器客戶端能夠處理響應(yīng)的傳輸編碼方式及相對(duì)優(yōu)先級(jí)特愿,它和首部字段accept-encoding的功能很想象仲墨,但是用于傳輸編碼。 - User-agent
首部字段user-agent會(huì)將創(chuàng)建請(qǐng)求的瀏覽器和用戶代理名稱等信息傳送給服務(wù)器揍障。
- accept
-
響應(yīng)首部字段
- Accept-Ranges
用來(lái)告知客戶端服務(wù)器是否能處理范圍請(qǐng)求目养。
accept-ranges:bytes 是能處理
accpet-ranges:none 是不能處理。 - age
如果是源服務(wù)器毒嫡,則表示是在多久前創(chuàng)建的響應(yīng)
如果就是緩存服務(wù)器癌蚁,代表 ,不太理解。匈勋。 - Etag
能告知客戶端實(shí)體標(biāo)識(shí)礼旅,它是一種可將資源以字符串形式做唯一性標(biāo)識(shí)的方式。服務(wù)器會(huì)為每份資源分配對(duì)應(yīng)的Etag值洽洁。URI相同痘系,語(yǔ)言不同ETAG值不同, 就是應(yīng)用的一個(gè)例子饿自。 - 強(qiáng)ETag值和弱ETag值
強(qiáng)ETag值汰翠,不論實(shí)體發(fā)生多么細(xì)微的變化都會(huì)改變其值。
弱ETag值昭雌,只是用于提示資源是否相同复唤,只有資源發(fā)生了根本改變,產(chǎn)生差異時(shí)才會(huì)改變Etag值烛卧》鹑遥】 - Location
可以將響應(yīng)接收放引導(dǎo)至某個(gè)與請(qǐng)求URI位置不同的資源。
一般用于重定向总放,強(qiáng)制性的呈宇。 - Proxy-Authenticate
首部字段Proxy-Authenticate會(huì)把代理服務(wù)器所要求的認(rèn)證信息發(fā)送給客戶端。 - Proxy-After
告知客戶端應(yīng)該在多久之后再次發(fā)送請(qǐng)求局雄。 - Server
告知客戶端服當(dāng)前服務(wù)器上安裝的HTTP服務(wù)器應(yīng)用程序的信息甥啄,例如阿帕奇之類的。 - Vary
如果有Vary炬搭,緩存服務(wù)器只能對(duì)vary規(guī)定的值與請(qǐng)求的值相同時(shí)才能給客戶端響應(yīng)蜈漓。 - WWW-Authenticate
用于HTTP訪問(wèn)認(rèn)證,它會(huì)告知客戶端適用于訪問(wèn)請(qǐng)求URI所指定資源的認(rèn)證方案和帶參數(shù)提示的質(zhì)詢宫盔。
- Accept-Ranges
-
實(shí)體首部字段
Allow
用于同通知客戶端能夠支持Request-URI指定資源的所有HTTP方法融虽。Content-Encoding
會(huì)告知客戶端對(duì)實(shí)體的主體部分選用的內(nèi)容編碼方式。Content-Language
會(huì)告知客戶端灼芭,實(shí)體主體使用的自然語(yǔ)言衣形。Content-Length
表明了實(shí)體的主體部分的大小,單位是字節(jié)姿鸿。Content-Location
給出與報(bào)文主體部分相對(duì)應(yīng)的URI谆吴。Content-MD5
客戶端會(huì)對(duì)接收的報(bào)文主體執(zhí)行相同的MD5算法,然后與首部字段Content-MD5的字段值比較苛预。-
Content-Range
- Content-Range: bytes 5001-10000/10000
- 針對(duì)范圍請(qǐng)求句狼,返回相應(yīng)時(shí)使用的首部字段Content-Range.
-
Content-Type
- Content-Type: text/html; charset=UTF-8
- Content-Type: application/x-www-form-urlencoded
- 首部字段Content-Type 說(shuō)明了尸體主題內(nèi)對(duì)象的媒體類型。
-
Expires
- Expires: Web, 04 jul 2012 08:26:05 GMT
- 會(huì)將資源失效的日期告知客戶端热某。
- 緩存服務(wù)器用的腻菇。
- 當(dāng)首部字段Cache-Control 有指定max-age指令時(shí)胳螟,會(huì)被max-age指令覆蓋。
-
Last-Modified
- 指明資源最后修改的時(shí)間筹吐。
-
為Cookie服務(wù)的首部字段
- Set-Cookie
- NAME=VALUE
- 賦予Cookie的名稱和其值
- expires=DATE
- 指定瀏覽器可發(fā)送Cookie的有效期
- 當(dāng)省略該屬性時(shí)糖耸,有效期為維持瀏覽器會(huì)話(session)
- path=PATH
- 將服務(wù)器上的文件目錄作為cookie的適用對(duì)象。
- domain=域名
- 結(jié)尾匹配丘薛,example.com 匹配www.example.com或www2.example.com都可以
- secure
- 限制Web頁(yè)面僅在HTTPS安全連接才可以發(fā)送Cookie
- HttpOnly
- true之后嘉竟,使用JavaScript腳本無(wú)法獲得Cookie.
- NAME=VALUE
- Cookie
- Set-Cookie
-
其他首部字段
- X-Frame-Options
- HTTP響應(yīng)頭,用于控制網(wǎng)站內(nèi)容在其他web網(wǎng)站的的Frame標(biāo)簽內(nèi)的顯示問(wèn)題洋侨。其主要目的是為了防止點(diǎn)擊劫持攻擊舍扰。
- DENY:拒絕
- SAMEORIGIN:僅同源域名下的頁(yè)面匹配時(shí)許可。
- X-XSS-Protection
- X-XSS-Protection: 1
- HTTP響應(yīng)頭希坚,它是針對(duì)跨站腳本攻擊(XSS)的一種對(duì)策边苹,用于控制瀏覽器XSS防護(hù)機(jī)制的開(kāi)關(guān)。
- DNT
- DNT: 1
- HTTP請(qǐng)求頭裁僧,Do Not Track的簡(jiǎn)稱个束,意為拒絕個(gè)人信息被收集,是表示拒絕被精準(zhǔn)廣告追蹤的一種方法聊疲。
- P3P
- P3P: CP="CAO DSP LAW CURa"
- HTTP相應(yīng)首部茬底,通過(guò)利用P3P(在線隱私偏好平臺(tái))技術(shù),可以讓W(xué)eb網(wǎng)站上的個(gè)人隱私編程一種僅供程序可理解的形式售睹,以達(dá)到保護(hù)用戶隱私的目的。
- http://www.w3.org/TR/P3P
- X-Frame-Options