了解cookie的同學應該知道,瀏覽器客戶端是以domain,path,name作為cookie的唯一標識的,只要name、domain、path中的任何一項不同,cookie就是不能同的。由此便產生了同名cookie。
例如有四個cookie如下:
d=1; expires=sat, 23 may 2009 03:48:22 gmt; path=/; domain=.dny.com
d=2; expires=sat, 23 may 2009 03:48:46 gmt; path=/; domain=.test.dny.com
d=3; expires=sat, 23 may 2009 03:48:46 gmt; path=/test/; domain=.dny.com
d=4; expires=sat, 23 may 2009 03:48:46 gmt; path=/test/; domain=.test.dny.com
他們是可以共存的。
了解cookie的同學也應該知道,cookie的domain、path在伺服器端都是只寫的,也就是說在伺服器端不能讀取到任何乙個cookie的domain或者path值,只能讀取到name和value。那麼問題便產生了,假設上面的四個cookie同時存在,那麼伺服器端讀取到的name為「d」的cookie到底會是哪個值呢?
經過我的測試,結果是這樣的,如果客戶端瀏覽器傳送了多個同名的 cookie,那麼 request.cookie 將返回其中最符合(符合條件且範圍最小)當前domain、path的乙個。
例如,還是上面四個cookie,我通過下面這些位址去獲取request.cookie["d「],值是不同的:
4
3
2
1
而實際上,伺服器上用request.cookies.count可以知道,得到的確實是有4個cookie。
以上內容歡迎更加深入討論。
js 刪除 (同名)cookie 失敗
前言 在剛完成的畢設專案中,使用到了cookie,主要是用來記錄使用者資訊,方便使用者下次訪問時,在有效期內直接跳過登入頁面進入主介面。總結一下遺留的問題 在刪除同名cookie時,無法全部刪除 覆蓋。問題 只在登入介面對使用者資訊進行了儲存,但發現在其他 url 介面也會出現cookie儲存著使用...
同名的cookie會不會存在多個
cookie new了多個。同乙個名字。會不會存在多個呢。若果不設定cookie的path,則名字相同的cookie視為相同的cookie,後面的覆蓋前面的,注意 大小寫敏感 cookie c1 new cookie name v1 cookie c2 new cookie name v2 若設定了...
phpcms 快取 cookie 分析
一.phpcms 快取做一下筆記 以後整理 1.getcache 例如 sitelist getcache sitelist commons 就是呼叫caches caches commons caches data sitelist.cache.php 呼叫了二個檔案。a.global.func....