Cookie 語法結構

admin發表於2019-11-15

實際應用中,我們通常最為關注Cookie中儲存的鍵值對內容。

事實上,一個Cookie可以包含更多的資訊,以便滿足實際應用。

本文將在總體上介紹一下Cookie所能包含的資訊。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
name=value;domain=domain;path=path;expires=time;max-age=num;SameSite=level;HttpOnly;secure

可以看到Cookie可以包含很多資訊,下面進行一下概括性分析,具體參閱對應的文章。

(1).name:規定Cookie名稱與對應的值。

(3).domain:規定Cookie生效的域,參閱Cookie domain 屬性一章節。

(4).path:規定Cookie生效的路徑,參閱Cookie path 屬性一章節。

(5).expires:規定Cookie的過期時間,參閱Cookie expires 屬性一章節。

(6).max-age:規定Cookie的過期時間,參閱Cookie max-age 屬性一章節。

(7).SameSite:用於限制第三方Cookie,參閱Cookie SameSite 屬性一章節。

(8).HttpOnly:規定Cookie只能通過HTTP(s)請求獲取,參閱Cookie HttpOnly 屬性一章節。

(9).secure:規定cookie只能在https協議下才能夠傳送到伺服器,參閱Cookie Secure 屬性一章節。

可以看到,Cookie的語法結構較為複雜,包含的知識點非常的多,需要很長的篇幅才能將其分析透徹。

考慮到篇幅問題和閱讀方便,所以將Cookie的各個屬性進行了單獨介紹,具體可以參閱對應的文章。

對Cookie最後總結:

(1).Cookie的屬性可以組合使用。

(2).只有Cookie的name和其值會隨著HTTP(S)請求傳送到伺服器。

(3).name之外的其他屬性是用來約束Cookie,規定其是否會被髮送到伺服器或其他安全配置。

看下面簡單程式碼片段:

[JavaScript] 純文字檢視 複製程式碼
document.cookie = 'softwhy="青島市南區";max-age=1200;path=/'

上面通過document.cookie屬性建立了一個Cookie,並對其過期時間或者路徑進行顯式配置。

相關文章