正確使用 cookie 的 path

cookie 有路徑--path,表示哪些路徑下的文件有權限讀取該 cookie。

path 應該以 "/" 結尾,同名 cookie,不同 path,屬不同的 cookie

document.cookie = "N1=1; path=/path/";
document.cookie = "N1=2; path=/path";
document.cookie = "N1=3; path=path/";

如上代碼,前兩句使用的是絕對路徑,即相對於站點根目錄的網頁目錄,第三句使用的是相對路徑,相對於當前目錄的。

第一句和第二句在於結尾不同,雖然他們所表達的權限相同,但是由於 path 字符串不同,會形成兩個同名的 cookie,容易造成混亂,我們建議不要使用第二句這種格式,因爲系統默認也是以 "/" 結尾的。

所以如上述是三個 cookie,之間不會相互覆蓋。

path 屬性值有大小寫之分,應與瀏覽器中的地址欄的輸入一致

document.cookie = "N1=1; path=/path/";
document.cookie = "N1=2; path=/paTH/";

這是兩個不同的 cookie,因爲 path 屬性值大小寫不同,如果我們在地址欄輸入的是 path,那麼就讀取第一個 N1,如果我們輸入的是 paTH,那麼就讀取第二個 N1

path 不可讀

同 expires 一樣,path 只可寫,不可讀。

path 不可更改

同 expires 不一樣,如果我們試圖更改 path,那麼實際上我們是另外寫了一個 cookie,而不是更改了 path 值。

path 權限有繼承性

假如指定了 /test/ 目錄有權限讀取某 cookie,那麼 /test/ 之下的目錄 /test/t/ 也有權限讀取該 cookie。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章