
Referrer Policy 是什么?
我們知道,在頁面引入圖片、JS 等資源,或者從一個頁面跳到另一個頁面,都會產生新的 HTTP 請求,
瀏覽器一般都會給這些請求頭加上表示來源的 Referrer 字段。Referrer 在分析用戶來源時很有用,有着廣泛的使用。
屬性介紹:
新的 Referrer Policy 規定了五種 Referrer 策略:No Referrer、No Referrer When Downgrade、Origin Only、Origin When Cross-origin、和 Unsafe URL。
之前就存在的三種策略:never、default 和 always,在新標准里換了個名稱。他們的對應關系如下:
| 策略名稱 | 屬性值(新) | 屬性值(舊) |
|---|---|---|
| No Referrer | no-referrer | never |
| No Referrer When Downgrade | no-referrer-when-downgrade | default |
| Origin Only | origin | - |
| Origin When Cross-origin | origin-when-crossorigin | - |
| Unsafe URL | unsafe-url | always |
- No Referrer :
- 任何情況下都不發送 Referrer 信息;
- No Referrer When Downgrade :
- 僅當發生協議降級(如 HTTPS 頁面引入 HTTP 資源,從 HTTPS 頁面跳到 HTTP 等)時不發送 Referrer 信息。
- 這個規則是現在大部分瀏覽器默認所采用的;
- Origin Only
- :發送只包含 host 部分的 Referrer。啟用這個規則,無論是否發生協議降級,
- 無論是本站鏈接還是站外鏈接,都會發送 Referrer 信息,但是只包含協議 + host 部分(不包含具體的路徑及參數等信息);
- Origin When Cross-origin
- :僅在發生跨域訪問時發送只包含 host 的 Referrer,同域下還是完整的。
- 它與Origin Only的區別是多判斷了是否Cross-origin。需要注意的是協議、域名和端口都一致,才會被瀏覽器認為是同域;
- Unsafe URL :
- 無論是否發生協議降級,無論是本站鏈接還是站外鏈接,統統都發送 Referrer 信息。正如其名,這是最寬松而最不安全的策略;
使用:
知道了有哪些策略可以用,還需要了解怎么用。這里介紹指定 Referrer Policy 的三種方式:
1.CSP 響應頭
CSP(Content Security Policy),是一個跟頁面內容安全有關的規范。
在 HTTP 中通過響應頭中的Content-Security-Policy字段來告訴瀏覽器當前頁面要使用何種 CSP 策略。我之前寫過一篇Content Security Policy 介紹,
可以先看看。現在 CSP 還可以通過referrer指令和五種可選的指令值,來指定 Referrer 策略,格式非常簡單:
Content-Security-Policy: referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url;
注:根據文檔,通過 CSP 頭部設置Origin When Cross-origin策略時,指令值應該用origin-when-cross-origin,
這跟前面的表格里的origin-when-crossorigin有差異。實際上經過我的測試,Chrome 42 只支持origin-when-crossorigin,
后續會不會變還不知道,建議大家使用時,自己先測一下。
CSP 的指令和指令值之間以空格分割,多個指令之間用英文分號分割。
2. <meta> 標簽
通過<meta>標簽也可以指定 Referrer 策略,同樣很簡單:
<meta name="referrer" content="no-referrer|no-referrer-when-downgrade|origin|origin-when-crossorigin|unsafe-url">
需要注意的是,<meta>只能放在<head>...</head>之間,如果出現的位置不對會被忽略。同樣,如果沒有給它定義content屬性,或者content屬性為空,也會被忽略。如果content屬性不是合法的取值,瀏覽器會自動選擇no-referrer這種最嚴格的策略。
通過給<a>標簽增加referrer屬性也可以指定 Referrer 策略,格式如下:
<a href="http://example.com" referrer="no-referrer|origin|unsafe-url">xxx</a>
這種方式作用的只是這一個鏈接。並且,<a>標簽可用的 Referrer 策略只有三種:不傳、只傳 host 和都傳。
另外,這樣針對單個鏈接設置的策略優先級比 CSP 和<meta>要高。
另外再重復一遍,現階段的瀏覽器還保留了對 never、default 和 always 的支持,但是已經不推薦使用了。
可以看到,通過新的 Referrer 策略,網站所有者可以選擇更高的安全級別來保證用戶隱私不被泄露;
也可以選擇更低的安全級別來獲得一些便利,相比之前只能由瀏覽器默認策略一刀切,確實靈活了不少。

Accept
Accept是什么?
Accept代表發送端(客戶端)希望接受的數據類型
1.Accept屬於請求頭, Content-Type屬於實體頭。
Http報頭分為通用報頭,請求報頭,響應報頭和實體報頭。 請求方的http報頭結構:通用報頭|請求報頭|實體報頭 響應方的http報頭結構:通用報頭|響應報頭|實體報頭
比如:Accept:text/xml(application/json);
代表客戶端希望接受的數據類型是xml(json )類型
Content-Type代表發送端(客戶端|服務器)發送的實體數據的數據類型。
比如:Content-Type:text/html(application/json) ;
代表發送端發送的數據格式是html(json)。
二者合起來,
Accept:text/xml;
Content-Type:text/html
即代表希望接受的數據類型是xml格式,本次請求發送的數據的數據格式是html。
如果accept指定的類型和response返回的類型不一致,會出現406,not acceptable錯誤,對應到java spring工程,就是
HttpHeaders headers = new HttpHeaders();
headers.add("Accept", MediaType.APPLICATION_JSON_UTF8_VALUE.toString());
如果head頭里加了accept,那么@RequestMapping里的produces = "*/*"或produces = "application/json"
Accept-Encoding

Accept-Encoding 是瀏覽器發給服務器,聲明瀏覽器支持的編碼類型的
常見的有
Accept-Encoding: compress, gzip //支持compress 和gzip類型(壓縮) Accept-Encoding: //默認是identity Accept-Encoding: * //支持所有類型 Accept-Encoding: compress;q=0.5, gzip;q=1.0 //按順序支持 gzip , compress Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 // 按順序支持 gzip , identity 服務器返回的對應的類型編碼header是 content-encoding
服務器處理accept-encoding的規則如下所示
1. 如果服務器可以返回定義在Accept-Encoding 中的任何一種Encoding類型, 那么處理成功(除非q的值等於0, 等於0代表不可接受)
2. * 代表任意一種Encoding類型 (除了在Accept-Encoding中顯示定義的類型)
3.如果有多個Encoding同時匹配, 按照q值順序排列
4. identity總是可被接受的encoding類型(除非顯示的標記這個類型q=0) ,
如果Accept-Encoding的值是空 那么只有identity是會被接受的類型
如果Accept-Encoding中的所有類型服務器都沒發返回, 那么應該返回406錯誤給客戶端
如果request中沒有Accept-Encoding 那么服務器會假設所有的Encoding都是可以被接受的,
如果Accept-Encoding中有identity 那么應該優先返回identity (除非有q值的定義,或者你認為另外一種類型是更有意義的)
注意:
如果服務器不支持identity 並且瀏覽器沒有發送Accept-Encoding,那么服務器應該傾向於使用HTTP1.0中的 "gzip" and "compress" ,
服務器可能按照客戶端類型 發送更適合的encoding類型
大部分HTTP1.0的客戶端無法處理q值
Cache-Control
Cache-Control指定了請求和響應遵循的緩存機制。好的緩存機制可以減少對網絡帶寬的占用,可以提高訪問速度,提高用戶的體驗,還可以減輕服務器的負擔。
Cache-Control主要有以下幾種類型:
(1) 請求Request:
[1] no-cache ---- 不要讀取緩存中的文件,要求向WEB服務器重新請求
[2] no-store ---- 請求和響應都禁止被緩存
[2] max-age: ---- 表示當訪問此網頁后的max-age秒內再次訪問不會去服務器請求,其功能與Expires類似,
只是Expires是根據某個特定日期值做比較。一但緩存者自身的時間不准確.則結果可能就是錯誤的,
而max-age,顯然無此問題.。Max-age的優先級也是高於Expires的。
[3] max-stale ---- 允許讀取過期時間必須小於max-stale 值的緩存對象。
[4] min-fresh ---- 接受其max-age生命期大於其當前時間 跟 min-fresh 值之和的緩存對象
[5] only-if-cached ---- 告知緩存者,我希望內容來自緩存,我並不關心被緩存響應,是否是新鮮的.
[6] no-transform ---- 告知代理,不要更改媒體類型,比如jpg,被你改成png.
(2) 響應Response:
[1] public ---- 數據內容皆被儲存起來,就連有密碼保護的網頁也儲存,安全性很低
[2] private ---- 數據內容只能被儲存到私有的cache,僅對某個用戶有效,不能共享
[3] no-cache ---- 可以緩存,但是只有在跟WEB服務器驗證了其有效后,才能返回給客戶端
[4] no-store ---- 請求和響應都禁止被緩存
[4] max-age: ----- 本響應包含的對象的過期時間
[5] Must-revalidate ---- 如果緩存過期了,會再次和原來的服務器確定是否為最新數據,而不是和中間的proxy
[6] max-stale ---- 允許讀取過期時間必須小於max-stale 值的緩存對象。
[7] proxy-revalidate ---- 與Must-revalidate類似,區別在於:proxy-revalidate要排除掉用戶代理的緩存的。即其規則並不應用於用戶代理的本地緩存上。
[8] s-maxage ---- 與max-age的唯一區別是,s-maxage僅僅應用於共享緩存.而不應用於用戶代理的本地緩存等針對單用戶的緩存. 另外,s-maxage的優先級要高於max-age.
[9] no-transform ---- 告知代理,不要更改媒體類型,比如jpg,被你改成png.
Connection
HTTP持久連接允許在事務處理結束之后將TCP連接保持在打開狀態,以便為未來的HTTP請求重用現存的連接。
在事務處理結束之后仍然保持在打開狀態的TCP連接被稱為持久連接。持久連接會在不同事務之間保持打開狀態,直到客戶端或服務器決定將其關閉為止。
優點:重用已對目標服務器打開的空閑持久連接,可以避開緩慢的連接建立階段,更快速地進行數據的傳輸。
缺點:管理不當可能會積累出大量的空閑連接,耗費本地客戶端以及遠程服務器上的資源。
非持久連接會在每個事務處理結束之后關閉。
HTTP持久連接實現手段是HTTP首部添加Connection字段
- Connection: keep-alive , 開啟HTTP持久連接,HTTP 1.1默認值
- Connection: close , 關閉HTTP持久連接,HTTP 1.0默認值
HTTP keep-alive與TCP keep-alive區別
- HTTP keep-alive參數為了減少TCP連接和斷開而提出的一種解決方案,HTTP持久連接即TCP長連接。
- TCP keep-alive參數主要為探測長連接的存活狀況,即TCP保活功能。
本文將對HTTP首部Connction實踐,對比keep-alive/close兩個值在HTTP和TCP的表現情況。后端使用Spring boot+Java,前端使用HTML+CSS。
HTTP Request首部Connection
如果Client希望HTTP使用持久連接,在Request首部指定Connection: keep-alive,否則指定Connection: close
Origin

Pragma
pragma是http/1.1之前版本的歷史遺留字段,僅作為與http的向后兼容而定義。
Referer
HTTP Referer是header的一部分,當瀏覽器向web服務器發送請求的時候,一般會帶上Referer,
告訴服務器該網頁是從哪個頁面鏈接過來的,服務器因此可以獲得一些信息用於處理。
User-Agent

User-Agent 首部包含了一個特征字符串,用來讓網絡協議的對端來識別發起請求的用戶代理軟件的應用類型、操作系統、軟件開發商以及版本號。

資源可支持的HTTP方法
Content-Type

Content-Type(內容類型),一般是指網頁中存在的 Content-Type,用於定義網絡文件的類型和網頁的編碼,決定瀏覽器將以什么形式、什么編碼讀取這個文件
常見的媒體格式類型如下: text/html : HTML格式 text/plain :純文本格式 text/xml : XML格式 image/gif :gif圖片格式 image/jpeg :jpg圖片格式 image/png:png圖片格式 以application開頭的媒體格式類型: application/xhtml+xml :XHTML格式 application/xml: XML數據格式 application/atom+xml :Atom XML聚合格式 application/json: JSON數據格式 application/pdf:pdf格式 application/msword : Word文檔格式 application/octet-stream : 二進制流數據(如常見的文件下載) application/x-www-form-urlencoded : <form encType=””>中默認的encType,
form表單數據被編碼為key/value格式發送到服務器(表單默認的提交數據的格式) 另外一種常見的媒體格式是上傳文件之時使用的: multipart/form-data : 需要在表單中進行文件上傳時,就需要使用該格式
文件擴展名 Content-Type(Mime-Type) 文件擴展名 Content-Type(Mime-Type)
.*( 二進制流,不知道下載文件類型) application/octet-stream .tif image/tiff
.001 application/x-001 .301 application/x-301
.323 text/h323 .906 application/x-906
.907 drawing/907 .a11 application/x-a11
.acp audio/x-mei-aac .ai application/postscript
.aif audio/aiff .aifc audio/aiff
.aiff audio/aiff .anv application/x-anv
.asa text/asa .asf video/x-ms-asf
.asp text/asp .asx video/x-ms-asf
.au audio/basic .avi video/avi
.awf application/vnd.adobe.workflow .biz text/xml
.bmp application/x-bmp .bot application/x-bot
.c4t application/x-c4t .c90 application/x-c90
.cal application/x-cals .cat application/vnd.ms-pki.seccat
.cdf application/x-netcdf .cdr application/x-cdr
.cel application/x-cel .cer application/x-x509-ca-cert
.cg4 application/x-g4 .cgm application/x-cgm
.cit application/x-cit .class java/*
.cml text/xml .cmp application/x-cmp
.cmx application/x-cmx .cot application/x-cot
.crl application/pkix-crl .crt application/x-x509-ca-cert
.csi application/x-csi .css text/css
.cut application/x-cut .dbf application/x-dbf
.dbm application/x-dbm .dbx application/x-dbx
.dcd text/xml .dcx application/x-dcx
.der application/x-x509-ca-cert .dgn application/x-dgn
.dib application/x-dib .dll application/x-msdownload
.doc application/msword .dot application/msword
.drw application/x-drw .dtd text/xml
.dwf Model/vnd.dwf .dwf application/x-dwf
.dwg application/x-dwg .dxb application/x-dxb
.dxf application/x-dxf .edn application/vnd.adobe.edn
.emf application/x-emf .eml message/rfc822
.ent text/xml .epi application/x-epi
.eps application/x-ps .eps application/postscript
.etd application/x-ebx .exe application/x-msdownload
.fax image/fax .fdf application/vnd.fdf
.fif application/fractals .fo text/xml
.frm application/x-frm .g4 application/x-g4
.gbr application/x-gbr . application/x-
.gif image/gif .gl2 application/x-gl2
.gp4 application/x-gp4 .hgl application/x-hgl
.hmr application/x-hmr .hpg application/x-hpgl
.hpl application/x-hpl .hqx application/mac-binhex40
.hrf application/x-hrf .hta application/hta
.htc text/x-component .htm text/html
.html text/html .htt text/webviewhtml
.htx text/html .icb application/x-icb
.ico image/x-icon .ico application/x-ico
.iff application/x-iff .ig4 application/x-g4
.igs application/x-igs .iii application/x-iphone
.img application/x-img .ins application/x-internet-signup
.isp application/x-internet-signup .IVF video/x-ivf
.java java/* .jfif image/jpeg
.jpe image/jpeg .jpe application/x-jpe
.jpeg image/jpeg .jpg image/jpeg
.jpg application/x-jpg .js application/x-javascript
.jsp text/html .la1 audio/x-liquid-file
.lar application/x-laplayer-reg .latex application/x-latex
.lavs audio/x-liquid-secure .lbm application/x-lbm
.lmsff audio/x-la-lms .ls application/x-javascript
.ltr application/x-ltr .m1v video/x-mpeg
.m2v video/x-mpeg .m3u audio/mpegurl
.m4e video/mpeg4 .mac application/x-mac
.man application/x-troff-man .math text/xml
.mdb application/msaccess .mdb application/x-mdb
.mfp application/x-shockwave-flash .mht message/rfc822
.mhtml message/rfc822 .mi application/x-mi
.mid audio/mid .midi audio/mid
.mil application/x-mil .mml text/xml
.mnd audio/x-musicnet-download .mns audio/x-musicnet-stream
.mocha application/x-javascript .movie video/x-sgi-movie
.mp1 audio/mp1 .mp2 audio/mp2
.mp2v video/mpeg .mp3 audio/mp3
.mp4 video/mpeg4 .mpa video/x-mpg
.mpd application/vnd.ms-project .mpe video/x-mpeg
.mpeg video/mpg .mpg video/mpg
.mpga audio/rn-mpeg .mpp application/vnd.ms-project
.mps video/x-mpeg .mpt application/vnd.ms-project
.mpv video/mpg .mpv2 video/mpeg
.mpw application/vnd.ms-project .mpx application/vnd.ms-project
.mtx text/xml .mxp application/x-mmxp
.net image/pnetvue .nrf application/x-nrf
.nws message/rfc822 .odc text/x-ms-odc
.out application/x-out .p10 application/pkcs10
.p12 application/x-pkcs12 .p7b application/x-pkcs7-certificates
.p7c application/pkcs7-mime .p7m application/pkcs7-mime
.p7r application/x-pkcs7-certreqresp .p7s application/pkcs7-signature
.pc5 application/x-pc5 .pci application/x-pci
.pcl application/x-pcl .pcx application/x-pcx
.pdf application/pdf .pdf application/pdf
.pdx application/vnd.adobe.pdx .pfx application/x-pkcs12
.pgl application/x-pgl .pic application/x-pic
.pko application/vnd.ms-pki.pko .pl application/x-perl
.plg text/html .pls audio/scpls
.plt application/x-plt .png image/png
.png application/x-png .pot application/vnd.ms-powerpoint
.ppa application/vnd.ms-powerpoint .ppm application/x-ppm
.pps application/vnd.ms-powerpoint .ppt application/vnd.ms-powerpoint
.ppt application/x-ppt .pr application/x-pr
.prf application/pics-rules .prn application/x-prn
.prt application/x-prt .ps application/x-ps
.ps application/postscript .ptn application/x-ptn
.pwz application/vnd.ms-powerpoint .r3t text/vnd.rn-realtext3d
.ra audio/vnd.rn-realaudio .ram audio/x-pn-realaudio
.ras application/x-ras .rat application/rat-file
.rdf text/xml .rec application/vnd.rn-recording
.red application/x-red .rgb application/x-rgb
.rjs application/vnd.rn-realsystem-rjs .rjt application/vnd.rn-realsystem-rjt
.rlc application/x-rlc .rle application/x-rle
.rm application/vnd.rn-realmedia .rmf application/vnd.adobe.rmf
.rmi audio/mid .rmj application/vnd.rn-realsystem-rmj
.rmm audio/x-pn-realaudio .rmp application/vnd.rn-rn_music_package
.rms application/vnd.rn-realmedia-secure .rmvb application/vnd.rn-realmedia-vbr
.rmx application/vnd.rn-realsystem-rmx .rnx application/vnd.rn-realplayer
.rp image/vnd.rn-realpix .rpm audio/x-pn-realaudio-plugin
.rsml application/vnd.rn-rsml .rt text/vnd.rn-realtext
.rtf application/msword .rtf application/x-rtf
.rv video/vnd.rn-realvideo .sam application/x-sam
.sat application/x-sat .sdp application/sdp
.sdw application/x-sdw .sit application/x-stuffit
.slb application/x-slb .sld application/x-sld
.slk drawing/x-slk .smi application/smil
.smil application/smil .smk application/x-smk
.snd audio/basic .sol text/plain
.sor text/plain .spc application/x-pkcs7-certificates
.spl application/futuresplash .spp text/xml
.ssm application/streamingmedia .sst application/vnd.ms-pki.certstore
.stl application/vnd.ms-pki.stl .stm text/html
.sty application/x-sty .svg text/xml
.swf application/x-shockwave-flash .tdf application/x-tdf
.tg4 application/x-tg4 .tga application/x-tga
.tif image/tiff .tif application/x-tif
.tiff image/tiff .tld text/xml
.top drawing/x-top .torrent application/x-bittorrent
.tsd text/xml .txt text/plain
.uin application/x-icq .uls text/iuls
.vcf text/x-vcard .vda application/x-vda
.vdx application/vnd.visio .vml text/xml
.vpg application/x-vpeg005 .vsd application/vnd.visio
.vsd application/x-vsd .vss application/vnd.visio
.vst application/vnd.visio .vst application/x-vst
.vsw application/vnd.visio .vsx application/vnd.visio
.vtx application/vnd.visio .vxml text/xml
.wav audio/wav .wax audio/x-ms-wax
.wb1 application/x-wb1 .wb2 application/x-wb2
.wb3 application/x-wb3 .wbmp image/vnd.wap.wbmp
.wiz application/msword .wk3 application/x-wk3
.wk4 application/x-wk4 .wkq application/x-wkq
.wks application/x-wks .wm video/x-ms-wm
.wma audio/x-ms-wma .wmd application/x-ms-wmd
.wmf application/x-wmf .wml text/vnd.wap.wml
.wmv video/x-ms-wmv .wmx video/x-ms-wmx
.wmz application/x-ms-wmz .wp6 application/x-wp6
.wpd application/x-wpd .wpg application/x-wpg
.wpl application/vnd.ms-wpl .wq1 application/x-wq1
.wr1 application/x-wr1 .wri application/x-wri
.wrk application/x-wrk .ws application/x-ws
.ws2 application/x-ws .wsc text/scriptlet
.wsdl text/xml .wvx video/x-ms-wvx
.xdp application/vnd.adobe.xdp .xdr text/xml
.xfd application/vnd.adobe.xfd .xfdf application/vnd.adobe.xfdf
.xhtml text/html .xls application/vnd.ms-excel
.xls application/x-xls .xlw application/x-xlw
.xml text/xml .xpl audio/scpls
.xq text/xml .xql text/xml
.xquery text/xml .xsd text/xml
.xsl text/xml .xslt text/xml
.xwd application/x-xwd .x_b application/x-x_b
.sis application/vnd.symbian.install .sisx application/vnd.symbian.install
.x_t application/x-x_t .ipa application/vnd.iphone
.apk application/vnd.android.package-archive .xap application/x-silverlight-app
Server

WSGIServer/0.2 CPython/3.7.2 表示服務端用的語言和服務
Vary

Vary 是一個HTTP響應頭部信息,它決定了對於未來的一個請求頭,
應該用一個緩存的回復(response)還是向源服務器請求一個新的回復。
它被服務器用來表明在 content negotiationalgorithm(內容協商算法)中選擇一個資源代表的時候應該使用哪些頭部信息(headers)
X-Frame-Options
The X-Frame-Options HTTP 響應頭是用來給瀏覽器 指示允許一個頁面
可否在 <frame>, <iframe>, <embed> 或者 <object> 中展現的標記。
站點可以通過確保網站沒有被嵌入到別人的站點里面,從而避免 clickjacking 攻擊。
使用 X-Frame-Options
X-Frame-Options 有三個值:
-
DENY - 表示該頁面不允許在 frame 中展示,即便是在相同域名的頁面中嵌套也不允許。
-
SAMEORIGIN - 表示該頁面可以在相同域名頁面的 frame 中展示。
-
ALLOW-FROM uri - 表示該頁面可以在指定來源的 frame 中展示。
- ps:
換一句話說,如果設置為 DENY,不光在別人的網站 frame 嵌入時會無法加載,
在同域名頁面中同樣會無法加載。另一方面,如果設置為 SAMEORIGIN,那么頁面就可以在同域名頁面的 frame 中嵌套。
所有頭
6. 首部
6.1 通用首部字段
| 首部字段名 | 說明 |
|---|---|
| Cache-Control | 控制緩存行為 |
| Connection | 鏈接的管理 |
| Date | 報文日期 |
| Pragma | 報文指令 |
| Trailer | 報文尾部的首部 |
| Trasfer-Encoding | 指定報文主體的傳輸編碼方式 |
| Upgrade | 升級為其他協議 |
| Via | 代理服務器信息 |
| Warning | 錯誤通知 |
6.2 請求首部字段
| 首部字段名 | 說明 |
|---|---|
| Accept | 用戶代理可處理的媒體類型 |
| Accept-Charset | 優先的字符集 |
| Accept-Encoding | 優先的編碼 |
| Accept-Langulage | 優先的語言 |
| Authorization | Web認證信息 |
| Expect | 期待服務器的特定行為 |
| From | 用戶的電子郵箱地址 |
| Host | 請求資源所在的服務器 |
| If-Match | 比較實體標記 |
| If-Modified-Since | 比較資源的更新時間 |
| If-None-Match | 比較實體標記 |
| If-Range | 資源未更新時發送實體Byte的范圍請求 |
| If-Unmodified-Since | 比較資源的更新時間(和If-Modified-Since相反) |
| Max-Forwards | 最大傳輸跳數 |
| Proxy-Authorization | 代理服務器需要客戶端認證 |
| Range | 實體字節范圍請求 |
| Referer | 請求中的URI的原始獲取方 |
| TE | 傳輸編碼的優先級 |
| User-Agent | HTTP客戶端程序的信息 |
6.3 響應首部字段
| 首部字段名 | 說明 |
|---|---|
| Accept-Ranges | 是否接受字節范圍 |
| Age | 資源的創建時間 |
| ETag | 資源的匹配信息 |
| Location | 客戶端重定向至指定的URI |
| Proxy-Authenticate | 代理服務器對客戶端的認證信息 |
| Retry-After | 再次發送請求的時機 |
| Server | 服務器的信息 |
| Vary | 代理服務器緩存的管理信息 |
| www-Authenticate | 服務器對客戶端的認證 |
6.4 實體首部字段
| 首部字段名 | 說明 |
|---|---|
| Allow | 資源可支持的HTTP方法 |
| Content-Encoding | 實體的編碼方式 |
| Content-Language | 實體的自然語言 |
| Content-Length | 實體的內容大小(字節為單位) |
| Content-Location | 替代對應資源的URI |
| Content-MD5 | 實體的報文摘要 |
| Content-Range | 實體的位置范圍 |
| Content-Type | 實體主體的媒體類型 |
| Expires | 實體過期時間 |
| Last-Modified | 資源的最后修改時間 |
| 請求頭字段 | 說明 | 響應頭字段 |
|---|---|---|
| Accept | 告知服務器發送何種媒體類型 | Content-Type |
| Accept-Language | 告知服務器發送何種語言 | Content-Language |
| Accept-Charset | 告知服務器發送何種字符集 | Content-Type |
| Accept-Encoding | 告知服務器采用何種壓縮方式 | Content-Encoding |




