Cookie domain 屬性
此屬性規定當前Cookie對哪些域有效,向這些域傳送HTTP(s)請求會包含此Cookie。
對此屬性的恰當應用,可有效改善網站使用者體驗,下面進行一下詳細分析。
一.單點登入:
大型的網站通常都有很多功能各不相同的分站。
以百度為例,常見的分站有百度站長統計、百度貼吧、百度站長社群等。
在某一個分站登入賬號之後,在其他分站無需重複登入,自動處於登入狀態。
上述人性化功能,就是單點登入,實現此功能其中會用到Cookie的domain屬性。
二.域名分級:
域名是分層級的,比如一級域名或者二級域名。
以本站域名softwhy.com作為例子進行介紹:
(1).softwhy.com:一級域名。
(2).www.softwhy.com:二級域名(不要誤認為是一級域名)。
(3).ke.softwhy,com:二級域名(與上面同理)。
(4).a.www.softwhy.com:三級域名。
softwhy.com是主域名,其他的三個都是它的子域名,當然還可以繼續劃分下去。
三.domain屬性:
文章開始位置已經說過,此屬性的功能是規定當前Cookie生效的域。
語法結構:
[JavaScript] 純文字檢視 複製程式碼domain=domain
domain可以允許的屬性值總結如下:
(1).如果顯式規定,屬性值只能是當前域或者其父域,此時瀏覽器會自動給域或者父域前面加點。
(2).如果省略此屬性,那麼domain屬性就是當前頁面所在的域(前面不會自動加點)。
domain屬性規定域的作用範圍:
(1).如果屬性值最終結果帶有點,那麼作用範圍是最終結果這個域本身或者其所有子域。
(2).如果屬性值最終結果沒有點,那麼作用範圍是最終結果這個域本身。
四.程式碼例項:
下面的例子都是在www.softwhy.com域進行的測試。
[JavaScript] 純文字檢視 複製程式碼document.cookie = 'softwhy="青島市南區";max-age=1200;path=/;'
上述程式碼沒有顯式規定domain屬性值,那麼預設值就是當前所在的域。
谷歌開發者工具截圖如下:
可以看到domain值是www.softwhy.com,前面並沒有點。
此時Cookie僅對www.softwhy.com域有效,會隨著對這個域頁面的HTTP(S)請求傳送到伺服器。
[JavaScript] 純文字檢視 複製程式碼document.cookie = 'softwhy="青島市南區";max-age=1200;domain=www.softwhy.com;path=/;'
顯式規定domain屬性值為www.softwhy.com,那麼屬性值會被瀏覽器自動在前面加點。
谷歌開發者工具截圖如下:
第一個Cookie是上一個程式碼規定,第二個Cookie是當前程式碼規定的。
仔細觀察,第二個Cookie域的前面具有一個點,總結如下是:
(1).如果域不同,同name的Cookie不會被覆蓋。
(2).只要顯式規定domain值,必定會在域前面新增點。
(3).如果帶點,有效範圍就是屬性值所規定的域和此域的子域。
(4).所以上面程式碼domain屬性值作用範圍是域www.softwhy.com和其子域。
相關文章
- Cookie expires 屬性Cookie
- Cookie HttpOnly 屬性CookieHTTP
- Cookie SameSite 屬性Cookie
- Cookie Secure 屬性Cookie
- Cookie path 屬性Cookie
- Cookie 的 SameSite 屬性Cookie
- Cookie設定HttpOnly屬性CookieHTTP
- Cookie max-age 屬性Cookie
- [譯] 理解 Cookie 的 SameSite 屬性Cookie
- 什麼是 cookie 的 httponly 屬性CookieHTTP
- cookie path路徑與domain域CookieAI
- 網路安全知識點中,Cookie有哪些安全屬性?Cookie
- 求助,怎麼修改 response 響應中的 Cookie 的屬性值Cookie
- HTTPS會話裡的敏感Cookie沒有設定Secure屬性HTTP會話Cookie
- CMake 屬性之全域性屬性
- defer 屬性和 async 屬性
- CSS 屬性篇(七):Display屬性CSS
- CMake 屬性之目錄屬性
- CMake 屬性之目標屬性
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- CSS字型屬性和文字屬性詳解CSS
- Python 類的屬性與例項屬性Python
- python物件屬性管理(2):property管理屬性Python物件
- 根據屬性字串獲取屬性值字串
- CAD屬性編輯操作——物件屬性教程物件
- cssRules 屬性CSS
- previousElementSibling 屬性
- translucent屬性
- parentRule 屬性
- parentStyleSheet屬性
- cssText 屬性CSS
- Property屬性
- 私有屬性
- background屬性
- allowfullscreen 屬性
- ref屬性
- HTML 屬性HTML
- onreadystatechange 屬性