1、定義
包含在請求和響應中的實體部分所使用的首部,用於補充內容的更新時間等與實體相關的信息
2、Allow
通知客戶端能夠支持的Request-URI指定資源的所有http方法:如果服務器接收到不支持的方法,會返回狀態碼405Method Not Allowed作為響應返回
Allow:GET, HEAD
3、Content-Encoding
告知客戶端服務器對實體的主體部分的選用的內容編碼方式
內容編碼指在不丟失實體信息的前提下所進行的壓縮
主要采用以下這四種內容編碼方式
gizp,conpress,deflate,identity
Content-Encoding: gizp
4、Content-Lanuage
告知客戶端實體主體使用的自然語言(優先接收的語言)
Content-Lanuage: zh-CN
5、Content-Length
表明實體主體部分的大下(單位是字節)
若對實體主體進行編碼傳輸,不能使用該字段
Content-Length: 15000
6、Content-Location
給出了與報文主體部分相對應的URI。與Location不同,該字段表示的是報文主體返回資源的URI
Content-Location: http://www.baidu/com/index-miss.html
7、Content-MD5
由一串由MD5算法生成的值,其目的在於檢查報文 主體在傳輸中是否保持完整,以及確認傳輸到達。
Content-MD5: OFJKGKLDFUIGNG35565FGNHLDGNH==
8、Content-Range
告知客戶端作為響應返回的實體的哪個部分符合范圍請求,(單位:字節),表示當前發送部分及整個實體大小
Content-Range: bytes 5001-10000/10000
9、Expires
告知客戶端資源失效的日期
如果首部字段存在Cache-Control有指定max-age指定時,會優先處理max-age指令
Expires: Wed, 04 Jul 2016 09:26:05 GMT
10、Last-Modified
指明資源的最終修改的時間
Last-Modified: Wed, 04 Jul 2016 09:26:05 GMT
這部分主要是附帶說說,一般工作中不常用到,但了解也是很有好處的 - -
為Cookie服務的首部字段
Cookie的工作機制是用戶識別及狀態管理。
實現原理:方便管理用戶狀態,通過web瀏覽器將一些數據臨時寫入用戶的計算機內,當用戶訪問時可通過通信方式取回之前發送的Cookle
調用Cookie的時候,由於可以調用Cookie的有效期,以及發送方的域、路徑、協議等信息,所以正規發布的Cookie不是因為來自其他web站點和攻擊者的攻擊而泄漏
為Cookle服務的首部字段:
1、Set-Cookie字段的屬性:
1)expires
指定瀏覽器可發送Cookie的有效期
若不指定則默認為會話時間段內
一旦Cookie從服務端發送到客戶端,服務器就不存在可顯式刪除Cookie的方法,但可通過覆蓋已過期的Cookie,實現對客戶端的實質性刪除
2)path
用於限制指定Cookie發送范圍的文件目錄
3)domain
通過該屬性指定的域名可做到與結尾匹配一致
除了針對具體指定的多個域名發送的Cookie外,不指定domain屬性顯得更安全
4)secure
限制web界面僅在HTTPS安全連接時,才可以發送Cookie
發送Cookie時,指定屬性的方法如下:
Set-Cookie: name=value; secure
5)HttpCookie
Cookie的擴展功能,使JavaScript腳本無法獲得Cookie。主要目的是為了防止跨站腳本攻擊對Cookie的信息竊取
發送指定HttpOnly屬性的方法如下:
Set-Cookie: name=value; HttpOnly
2、Cookie
告知服務器,客戶端想獲得http狀態管理支持時,就會在請求中包含從服務器接收到的Cookie。接收多個時,同樣可以以多個發送
到這里基本關於http協議的基礎就整理完了,整個的思路大概就是對TCP/IP的介紹,握手,數據傳輸的方式以及幾種數據傳輸方法,請求響應報文的類型,字段等知識。。。