cookie domain path 跨域

1.domain表示的是cookie所在的域,默認爲請求的地址,如網址爲www.jb51.net/test/test.aspx,那麼domain默認爲www.jb51.net。而跨域訪問,如域A爲t1.test.com,域B爲t2.test.com,那麼在域A生產一個令域A和域B都能訪問的cookie就要將該cookie的domain設置爲.test.com;若是要在域A生產一個令域A不能訪問而域B能訪問的cookie就要將該cookie的domain設置爲t2.test.com。前端

2.path表示cookie所在的目錄,asp.net默認爲/,就是根目錄。在同一個服務器上有目錄以下:/test/,/test/cd/,/test/dd/,現設一個cookie1的path爲/test/,cookie2的path爲/test/cd/,那麼test下的全部頁面均可以訪問到cookie1,而/test/和/test/dd/的子頁面不能訪問cookie2。這是由於cookie能讓其path路徑下的頁面訪問。ajax

3.瀏覽器會將domain和path都相同的cookie保存在一個文件裏,cookie間用*隔開。後端

4.含值鍵值對的cookie:之前一直用的是nam=value單鍵值對的cookie,一說到含多個子鍵值對的就蒙了。如今總算弄清楚了。含多個子鍵值對的cookie格式是name=key1=value1&key2=value2。能夠理解爲單鍵值對的值保存一個自定義的多鍵值字符串,其中的鍵值對分割符爲&,固然能夠自定義一個分隔符,但用asp.net獲取時是以&爲分割符。跨域

5,須要提的是,只有匹配path,而且符合domain,纔會在請求時帶上cookie。瀏覽器

另外說點應用之處:服務器

在一些前端應用中,後端生成登陸態存儲到cookie中(response setCookie),在之後的請求中,都會在request cookie中帶着。來證實是否登陸。這裏面須要注意的是:cookie

一,該cookie是由後端注入;前端不用操做;asp.net

二,若是請求是ajax請求,請注意設置屬性 withCredentials: true (支持跨域發送cookies)。dom

相關文章
相關標籤/搜索