本文主要經過整理RFC6265 - HTTP State Management Mechanism文檔的域名和路徑匹配章節,而後加以實驗驗證,最後梳理出一些技術要點,僅供你們參考。html
假設request_domain爲請求域名,cookie_domain爲cookie的domain屬性,若是request_domain和cookie_domain以點"."結尾,則先將尾部的點"."移除。 若是request_domain和cookie_domain知足如下任一個條件,則稱request_domain和cookie_domain匹配:
** 1. request_domain和cookie_domain是同級域名,而且相等 **api
** 2. request_domain和cookie_domain不一樣級,而且cookie_domain是request_domain的後綴 **瀏覽器
cookie_domain(google.com)和cookie_domain(.google.com)匹配全部子域名cookie
不匹配示例:dom
假設request_path爲請求路徑,cookie_path爲cookie的path屬性。 若是cookie_path和request_path知足如下任一個條件,則稱cookie_path和request_path匹配:
** 1. cookie_path和request_path是同級路徑,而且相等 **google
** 2. cookie_path和request_path不是同級路徑,而且cookie_path是request_path的前綴 **htm
cookie_path(/)匹配全部request_path文檔
不匹配示例:get
假設當前請求的域名是request_domain, 響應中Set-Cookie的域名是cookie_domain,路徑是cookie_path,則:域名
能夠的,只要同時知足Domain Match和Path Match便可。