HTTP請求的header頭解析No.4
作用: 浏覽器端可以接受的媒體類型
例如: Accept: text/html 代表浏覽器可以接受伺服器回發的類型為text/html
通配符 * 代表任意類型
例如 Accept: */* 代表浏覽器可以處理所有類型,(一般浏覽器發給伺服器都是發這個)
作用: 浏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支援壓縮,支援什麼壓縮方法(gzip,deflate),(注意:這不是隻字元編碼);
例如: Accept-Encoding: zh-CN,zh;q=0.8
作用: 浏覽器申明自己接收的語言。
語言跟字元集的差別:中文是語言,中文有多種字元集,比如big5,gb2312,gbk等等;
例如: Accept-Language: en-us
我們網頁的緩存控制是由HTTP頭中的“Cache-control”來實作的,常見值有private、no-cache、max-age、must-revalidate等,預設為private。這幾種值的作用是根據重新檢視某一頁面時不同的方式來區分的:
(1)、打開新視窗
值為private、no-cache、must-revalidate,那麼打開新視窗通路時都會重新通路伺服器。而如果指定了max-age值(機關為秒),那麼在此值内的時間裡就不會重新通路伺服器,例如:
Cache-control: max-age=5(表示當通路此網頁後的5秒内再次通路不會去伺服器)
(2)、在位址欄回車
值為private或must-revalidate則隻有第一次通路時會通路伺服器,以後就不再通路。
值為no-cache,那麼每次都會通路。
值為max-age,則在過期之前不會重複通路。
(3)、按後退按扭
值為private、must-revalidate、max-age,則不會重通路,
值為no-cache,則每次都重複通路
(4)、按重新整理按扭
無論為何值,都會重複通路
例如: Connection: keep-alive 當一個網頁打開完成後,用戶端和伺服器之間用于傳輸HTTP資料的TCP連接配接不會關閉,如果用戶端再次通路這個伺服器上的網頁,會繼續使用這一條已經建立的連接配接
例如: Connection: close 代表一個Request完成後,用戶端和伺服器之間用于傳輸HTTP資料的TCP連接配接會關閉, 當用戶端再次發送Request,需要重建立立TCP連接配接。
Cookie是用來存儲一些使用者資訊以便讓伺服器辨識使用者身份的(大多數需要登入的網站上面會比較常見),比如cookie會存儲一些使用者的使用者名和密碼,當使用者登入後就會在用戶端産生一個cookie來存儲相關資訊,這樣浏覽器通過讀取cookie的資訊去伺服器上驗證并通過後會判定你是合法使用者,進而允許檢視相應網頁。當然cookie裡面的資料不僅僅是上述範圍,還有很多資訊可以存儲是cookie裡面,比如sessionid等。
作用: 請求報頭域主要用于指定被請求資源的Internet主機和端口号,它通常從HTTP URL中提取出來的
當浏覽器向web伺服器發送請求的時候,一般會帶上Referer,告訴伺服器我是從哪個頁面連結過來的,伺服器籍此可以獲得一些資訊用于處理。比如從我首頁上連結到一個朋友那裡,他的伺服器就能夠從HTTP Referer中統計出每天有多少使用者點選我首頁上的連結通路他的網站。
作用:告訴HTTP伺服器, 用戶端使用的作業系統和浏覽器的名稱和版本.
我們上網登陸論壇的時候,往往會看到一些歡迎資訊,其中列出了你的作業系統的名稱和版本,你所使用的浏覽器的名稱和版本,這往往讓很多人感到很神奇,實際上,伺服器應用程式就是從User-Agent這個請求報頭域中擷取到這些資訊User-Agent請求報頭域允許用戶端将它的作業系統、浏覽器和其它屬性告訴伺服器。