文章出處

淺談cookie及其跨域問題。cookie的名/值對中的值不允許出現分號、逗號和空白符,因此在設置cookie前要用encodeURIComponent()編碼,讀取時再用decodeURIComponent()解碼。

cookie默認的有效期是瀏覽器會話期間,作用域是整個瀏覽器而不僅僅局限于窗口或標簽頁。若要延長cookie的有效期,可以設置max-age屬性。

cookie的domain和path屬性:

1、domain

表示cookie所在的域,默認為請求的地址,如網址為JavaScript.exam.cn/JavaScript/read.html,那么domain默認為JavaScript.exam.cn。如域A為catagory.exam.cn,域B為JavaScript.exam.cn,那么在域A生產一個令域A和域B都能訪問的cookie就要將該cookie的domain設置為.exam.com;如果要在域A生產一個令域A不能訪問而域B能訪問的cookie就要將該cookie的domain設置為JavaScript.test.com。

2、path

表示cookie所在的目錄,默認為/,就是根目錄。如在同一個服務器上有目錄/JavaScript/,/JavaScript/dir1/,/JavaScript/dir2/,現設一個cookie1的path為/JavaScript/,cookie2的path為/JavaScript/dir1/,那么JavaScript下的所有頁面都可以訪問到cookie1,而/JavaScript/和/JavaScript/dir2/的子頁面不能訪問cookie2。這是因為cookie能讓其path路徑下的頁面訪問。

默認情況下,cookie對創建它的頁面和域與創建它的頁面在同一目錄的其他頁面以及創建它的頁面所在目錄的子目錄的其他頁面可見,例如,localhost/JavaScript/write.html創建的cookie對localhost/JavaScript/read.html和localhost/JavaScript/catagory/read.html都是可見的,但對localhost/read.html不可見。

可以設置cookie的path屬性,只要以path指定的路徑前綴開始的同一服務器的頁面均可見cookie,例如,設置path=/JavaScript,則localhost/JavaScript/catagory/write.html創建的cookie對localhost/JavaScript/read.html也是可見的;設置path=/,則cookie對localhost這臺服務器上的頁面均可見。

可以設置cookie的domain屬性,catagory.exam.cn要讀取JavaScript.exam.cn設置的cookie值,可以將path設置為/,domain設置為.exam.cn,則JavaScript.exam.cn設置的cookie對catagory.exam.cn甚至其它所有.exam.cn的服務器都可見。

看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170314/122087.html

文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()