在HTTP 協定中,Cookie 是由伺服器傳送給客戶端的一小段數據,用於在客戶端儲存訊息,並在後續的請求中將這些資訊傳送回伺服器。每個 Cookie 都有一些屬性,用於控制其行為和影響其使用。以下是 Cookie 常見的屬性:
名稱(Name):Cookie 的標識符,用於在客戶端和伺服器之間傳遞資料。
值(Value):與 Cookie 關聯的值,可以是任何字串。
網域(Domain):指定可以存取 Cookie 的網域。如果未設置,則預設為建立 Cookie 的網頁的網域名稱。
路徑(Path):指定可以存取 Cookie 的路徑。如果未設置,則預設為建立 Cookie 的網頁所在的路徑。
過期時間(Expires):指定 Cookie 的過期時間,也就是 Cookie 會被自動刪除的時間點。如果未設定,則表示該 Cookie 在使用者關閉瀏覽器時被刪除。
安全標誌(Secure):如果設定了該標誌,表示該 Cookie 只能透過加密協定(如 HTTPS)傳輸。
HttpOnly 標誌(HttpOnly):如果設定了該標誌,那麼該 Cookie 只能透過 HTTP 協定傳輸,而不能透過 JavaScript 等腳本語言來存取。這有助於防止跨站點腳本攻擊(XSS)。
除了上述屬性外,還有一些其他的 Cookie 屬性,例如 SameSite(指定 Cookie 是否應該只發送給與建立 Cookie 網站同源的網站)等。
要注意的是,Cookie 屬性的支援程度因瀏覽器而異,不同版本的瀏覽器可能會支援不同的屬性。在編寫 Web 應用程式時,應考慮這些相容性問題,並盡可能避免使用過時或不受支援的屬性。