標籤:asc 通知 響應式 響應報文 一點 檔案中 text 索引 報文格式
1.Http協議概述
關於Http協議的發展,各種資料有很多,在此不再贅述,不明白的小夥伴兒可以去搜一下,Http報文分為請求報文和相應報文,由於Http是面向文本的,因此在報文中的每一個欄位都是一些ASCII碼,是摘自謝希仁第五版《電腦網路》的圖片,本文按照這兩種分類對報文頭的欄位進行一下匯總說明。
資料都是從給位大神那裡擷取到的,我只是負責匯總而已~
2.Http請求報文
如(a)中為請求報文格式,分為請求行、首部行和實體主體(本文對實體主體不做說明,下同);
2.1 請求行
請求行包括方法、URL和版本,下面分別其進行說明。
方法:HTTP協議的要求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT,最常用的方法是GET和POST;
URL:請求的地址
版本:協議名稱及版本號碼,例如:HTTP/1.1
2.2 首部行
Accept:用戶端期待接收的檔案類型
Accept-Encoding:用戶端可以接收的編碼格式。它是為了壓縮並提高檔案傳遞速度,用戶端在接收到Web相應之後銜接嗎,然後檢查檔案格式
Accept-Languages:用戶端期望接收到的語言種類
Cache-Control:
Connection:用來通知伺服器是否可以保持固定的HTTP串連,包括Upgrade,Keep-Alive和close。HTTP/1.1使用Keep-Alive為預設值,保證了瀏覽器需要多個檔案時,不需要每次都建立串連。使用close之後,伺服器會斷開與用戶端的串連。
Host:請求的目標主機
Cookie:這個欄位在開發的時候比較常用,最初在實現購物車效果的時候,一般都採用Cookie。關於Cookie的工作原理,文章最後會做詳細解釋。
User-Agent:User-Agent是Http協議中的一部分,屬於頭域的組成部分,User Agent也簡稱UA。用較為普通的一點來說,是一種向訪問網站提供你所使用的瀏覽器類型、作業系統及版本、CPU 類型、瀏覽器渲染引擎、瀏覽器語言、瀏覽器外掛程式等資訊的標識。具體內容請參考:http://blog.csdn.net/rj042/article/details/6991441
Upgrade-Insecure-Requests:與安全相關的設定
If-Modified-Since:
3.Http響應報文
4.Cookie工作原理
Cookie是這樣工作的:
當使用者瀏覽某個使用Cookie的網站時,該網站的伺服器就為使用者產生一個唯一的識別碼,並以此作為索引在伺服器的後端資料庫中產生一個項目。並在給使用者的HTTP相應報文中添加一個叫做Set-Cookie的首部行,這裡的“首部欄位名稱”就是“Set-Cookie”,對應的欄位值就是伺服器賦予該使用者的“識別碼”。其格式如下:
Set-cookie:abcdefg(只作為樣本,實際肯定比這個複雜)
當使用者收到這個響應式,其瀏覽器就在他管理的特定Cookie檔案中添加一行,其中包括這個伺服器的主機名稱(即host欄位)和Set-cookie對應的這個網站的識別碼,並放到HTTP請求報文的Cookie首部行中,如下:
Cookie:abcdefg
以上就是整個Cookie的流程,網站可以根據Cookie值跟蹤使用者在該網站的活動,假設該網站為一個購物網站,那麼伺服器就可以為該使用者通過Cookie維持一張購物列表,使使用者在結束這次購物時可以一起付費。
Http協議中常用欄位總結(不定時完善中)