RFC 6265: HTTP State Management Mechanismhttps://www.rfc-editor.org/rfc/rfc6265
Set-Cookie 響應頭
服務器使用?Set-Cookie
?響應頭向客戶端(通常是瀏覽器)發送 Cookie。
基本格式:
Set-Cookie: <cookie名稱>=<cookie值>; [屬性參數]
主要屬性參數:
-
Expires=<日期>
?- Cookie 過期時間(GMT/UTC 格式) -
Max-Age=<秒數>
?- Cookie 有效期(秒) -
Domain=<域名>
?- 指定哪些域名可以接收此 Cookie -
Path=<路徑>
?- 指定域名下哪些路徑可以接收此 Cookie -
Secure
?- 僅通過 HTTPS 協議發送 -
HttpOnly
?- 禁止 JavaScript 訪問(防止 XSS 攻擊) -
SameSite=<Strict|Lax|None>
?- 控制跨站 Cookie 發送行為
示例:
Set-Cookie: user_token=abc123; Expires=Wed, 21 Oct 2025 07:28:00 GMT; Secure; HttpOnly; SameSite=Lax
Cookie 請求頭
瀏覽器使用?Cookie
?請求頭將之前存儲的 Cookie 發送回服務器。
格式:
Cookie: <cookie1名稱>=<cookie1值>; <cookie2名稱>=<cookie2值>; ...
示例:
Cookie: sessionId=38afes7a8; user_prefs=font_size:large
主要區別
特性 | Set-Cookie | Cookie |
---|---|---|
方向 | 服務器 → 客戶端(響應頭) | 客戶端 → 服務器(請求頭) |
用途 | 設置或更新 Cookie | 發送已存儲的 Cookie |
出現位置 | HTTP 響應頭 | HTTP 請求頭 |
數量 | 可多次出現(每個 Set-Cookie 設一個) | 所有 Cookie 合并為一個頭字段 |
處理方式 | 瀏覽器自動處理 | 瀏覽器自動添加 |
?