以下為常見的的 cookie 屬性。
Set-Cookie: session=abc; Path=/ → 此 cookie 對整個網站(所有路徑)都有效。Set-Cookie: admin=1; Path=/admin → 只有當請求的 URL path 以 /admin 開頭時,瀏覽器才會送這個 cookie。app.example.com 回應的 cookie,只有 app.example.com 會送出。Domain=example.com 或 Domain=.example.com:允許 example.com 以及所有子域(如 www.example.com, shop.example.com)在對應請求時送該 cookie。Set-Cookie: lang=en; Domain=example.com; Path=/ → www.example.com 與 api.example.com 都會送出 lang。Set-Cookie: session=abc; Secure → 在 https:// 時才會送;http:// 不會送。document.cookie 存取該 cookie。Set-Cookie: session=abc; HttpOnly → XSS(跨站腳本)若成功執行,也無法用 JS 讀走這個 cookie。Set-Cookie: id=1; Max-Age=3600 → 1 小時後到期。SameSite=Strict:最嚴格,只有當請求是「同源導航」時才送 cookie(例如從 example.com 內部點連結)。跨站點導向(例如從 evil.com 的一個連結導向 example.com)不會送 cookie。SameSite=Lax:較寬鬆,允許一些「安全性較高的跨站情況」送 cookie(例如 GET 導航),但在跨站 POST 或子資源請求(iframe、圖片 POST)通常不送。現代瀏覽器的預設通常為 Lax。SameSite=None:允許跨站送 cookie,但必須配合 Secure(也就是只能在 HTTPS 上使用 SameSite=None; Secure)。Set-Cookie: id=1; SameSite=Strict; Secure; HttpOnly
SameSite=None; Secure;對於一般 session cookie 建議 Lax 或 Strict 以防 CSRF。這是瀏覽器強制的命名約束(有助於提升安全):
__Secure-:
Set-Cookie: __Secure-ID=abc; Secure; Path=/;(且不能由不安全 HTTP 設定)__Host-(更嚴格):
/
Set-Cookie: __Host-session=abc; Secure; Path=/;