Cookie path 屬性

admin發表於2019-11-15

Cookie儲存於客戶端的資訊,會跟隨HTTP請求傳送到伺服器。

當然並不是所有Cookie都會傳送到伺服器,而是需要滿足指定的條件。

path屬性用於規定哪些路徑的HTTP請求會獲取當前Cookie。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
path=path

path的屬性值是一個路徑,後面會有更加詳細的介紹。

同一個站點,可能會出現頁面Cookie無法共享的情況,看如下情況:

(1).站點根目錄下有兩個目錄a與b。

(2).a/index.html無法讀取b/index.html設定的Cookie。

(3).很可能b/index.html設定Cookie採用預設path屬性值,或設定其他不允許a/index.html獲取的路徑。

path路徑規則:

(1).路徑是一個絕對路徑。

(2).path或者path後代目錄下的頁面才能夠讀取當前Cookie。

(3).如果省略該屬性,那麼預設值為當前頁面所在的路徑。

現在回到前面所講述的cookie無法共享的現象,下面分析一下路徑因素的可能性:

(1).a/index.html如果沒有顯式規定path,那麼預設值就是/a/。

(2).那麼,只有a目錄和其子目錄下的頁面可以讀取其設定的Cookie。

(3).也有可能a/index.html設定的Cookie是其他a/index.html無法讀取的路徑,例如/c/。

解決上述現象很簡單,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
document.cookie = 'softwhy="螞蟻部落";path=/';

path的屬性值設定為根目錄,那麼所有目錄下的頁面都可以獲取此Cookie。

相關文章