HTTP圖解讀書筆記(第六章 HTTP首部)為cookie服務的首部欄位和其它首部欄位
為cookie服務的首部欄位
Set-Cookie
當服務端開始準備管理客戶端的狀態時,會事先告知各種資訊。
Set-Cookie欄位屬性:
- expires
指定瀏覽器可傳送cookie的指定期限,當省略 expires 屬性時,其有效期僅限於維持瀏覽器會話(Session)時間段內。
一旦 Cookie 從伺服器端傳送至客戶端,伺服器端就不存在可以顯式刪除 Cookie 的方法。但可通過覆蓋已過期的 Cookie,實現對客戶端 Cookie 的實質性刪除操作。
- path
限制指定 Cookie 的傳送範圍的檔案目錄。不過另有辦法可避開這項限制,看來對其作為安全機制的效果不能抱有期待
- domain
指定的域名可做到與結尾匹配一致當指定 example.com 後,除 example.com 以外,www.example.com或 www2.example.com 等都可以傳送 Cookie
- secure
於限制 Web 頁面僅在 HTTPS 安全連線時,才可以傳送 Cookie
- HttpOnly
使 JavaScript 指令碼無法獲得 Cookie。其主要目的為防止跨站指令碼攻擊(Cross-sitescripting,XSS)對 Cookie 的資訊竊取
Cookie
首部欄位 Cookie 會告知伺服器,當客戶端想獲得 HTTP 狀態管理支援時,就會在請求中包含從伺服器接收到的 Cookie。接收到多個Cookie 時,同樣可以以多個 Cookie 形式傳送。
其它首部欄位
最為常用的其它首部欄位
- X-Frame-Optio
屬於HTTP響應首部,控制網站內容在其他 Web 網站的 Frame 標籤內的顯示問題。其主要目的是為了防止點選劫持(clickjacking)攻擊
兩個可指定的欄位值:
DENY :拒絕
SAMEORIGIN :僅同源域名下的頁面匹配時許可。
- X-XSS-Protecti
屬於HTTP響應首部,它是針對跨站指令碼攻擊(XSS)的一種對策,用於控制瀏覽器 XSS 防護機制的開關
可指定的欄位值:
0 :將 XSS 過濾設定成無效狀態
1 :將 XSS 過濾設定成有效狀態
- DNT
屬於HTTP請求首部,主要是為了拒絕個人資訊被收集,是表示拒絕被精準廣告追蹤的一種方法。
可指定的欄位值如下:
0 :同意被追蹤
1 :拒絕被追蹤
- P3P(線上隱私偏好平臺)
屬於HTTP的響應首部, 可以讓 Web 網站上的個人隱私變成一種僅供程式可理解的形式,以達到保護使用者隱私的目的