HTTP協議採用了請求/響應模型,瀏覽器或其餘客戶端發出請求,服務器給與響應。就整個網絡資源傳輸而言,包括message-header和message-body兩部分。首先傳遞message- header,即http header消息 。 javascript
經過瀏覽器抓包咱們能夠看到http 請求頭的一些信息 css
一、Accept html
說明:指定客戶端可以接收的內容類型,內容類型中的前後次序表示客戶端接收的前後次序。 java
例如:Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 git
備註:在Prototyp(1.5)的Ajax代碼封裝中,將Accept默認設置爲「text/javascript, text/html, application/xml, text/xml, */*」。這是由於Ajax默認獲取服務器返回的Json數據模式在Ajax代碼中,可使用XMLHttpRequest 對象中setRequestHeader函數方法來動態設置這些Header信息。 web
二、Referer json
說明:先前網頁的地址,當前請求網頁緊隨其後,即來路 瀏覽器
三、Accept-Language 緩存
說明:瀏覽器可接受的語言 例如Accept-Language:zh-CN 服務器
四、User-Agent
說明:HTTP客戶端運行的瀏覽器類型的詳細信息。經過該頭部信息,web服務器能夠判斷到當前HTTP請求的客戶端瀏覽器類別
例如:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1
服務器經過對User-Agent的解析,能夠斷定用戶使用的是什麼瀏覽器,以及瀏覽器的版本等信息。我在http://git.oschina.net/ncthinker/JEEUtils已寫了關於獲取瀏覽器版本信息的工具類。
五、Accept-Encoding
說明:指定客戶端瀏覽器能夠支持的web服務器返回內容壓縮編碼類型。表示容許服務器在將輸出內容發送到客戶端之前進行壓縮,以節約帶寬。而這裏設置的就是客戶端瀏覽器所可以支持的返回壓縮格式。
六、Host
說明:請求的web服務器地址
例如:請求的服務器地址爲http://www.ynjjgt.com/u/937713/blog,那麼Host就爲www.ynjjgt.com
七、DNT 參考(http://en.wikipedia.org/wiki/Do_not_track_header)
說明:請勿追蹤(英語:Do Not Track,簡稱DNT,又譯請勿跟蹤)是一項被提名的HTTP頭。 當用戶提出啓用「請勿追蹤」功能後,具備「請勿追蹤」功能的瀏覽器會在http數據傳輸中添加一個「頭信息」(headers),這個頭信息向商業網站的服務器代表用戶不但願被追蹤。這樣,遵照該規則的網站就不會追蹤用戶的我的信息來用於更精準的在線廣告。
NDT如今接受三個賦值:1表明用戶不想被第三方網站追蹤,0表明接受追蹤,null表明用戶不置能否。
八、Connection
說明:表示是否須要持久鏈接。若是web服務器端看到這裏的值爲「Keep-Alive」,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久鏈接),它就能夠利用持久鏈接的優勢,當頁面包含多個元素時(例如Applet,圖片),顯著地減小下載所須要的時間。要實現這一點, web服務器須要在返回給客戶端HTTP頭信息中發送一個Content-Length(返回信息正文的長度)頭,最簡單的實現方法是:先把內容寫入ByteArrayOutputStream,而後在正式寫出內容以前計算它的大小。
九、Cookie
說明:HTTP請求發送時,會把保存在該請求域名下的全部cookie值一塊兒發送給web服務器。
除了上面的以外還有下面的一些頭信息。