日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正确使用cookie中的domain

發布時間:2024/1/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正确使用cookie中的domain 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

domain的含義為域

假設有兩個域名

a.b.e.f.com.cn? ?以下用域名1指代此域名

c.d.e.f.com.cn? ?以下用域名2指代此域名

在域名中,所有域名進行分級,也就是說域名1與域名2都是f.com.cn的子域名,f.com.cn又是com.cn的子域名

在域名1所使用的服務中,可以設置域名

a.b.e.f.com.cn

b.e.f.com.cn

e.f.com.cn

f.com.cn

在服務端設置domain的時候,設置domain為b.e.f.com.cn或.b.e.f.com.cn沒有區別,注意前面的點,即只要是為cookie顯示的聲明domain,前面帶不帶點沒有區別。這個點的奧妙后面還會提到。

設置其他域名雖然可以在響應頭中有set-cookie的頭,但是出于安全考慮,該頭會被瀏覽器忽略,并不會產生真實的cookie,有一點注意,雖然在域名上來說,f.com.cn是com.cn的子域,但是瀏覽器是不會接收domain為com.cn的cookie的,那樣互聯網就亂套了。

對于域名1下的cookie,域名2可以拿到e.f.com.cn,f.com.cn這兩個domain下的cookie,互聯網上說的單點登錄,就是以這個原理實現的。

如果存在相同名的cookie不同domain呢?

比如域名1設置domain為e.f.com.cn的cookie,mykey=myvalue1.

而在域名二中設置domain為c.d.e.f.com.cn的cookie,mykey=myvalue2.

此時在域名2服務端能拿到兩個cookie都為mykey=myvalue,并不存在覆蓋一說。

注意在域名2中如果設置domain為e.f.com.cn的cookie,mykey=myvalue3,此時會覆蓋域為e.f.com.cn的mykey的值,即瀏覽器中,同一個域,只存在一個名為mykey的cookie。

如果不顯式設置cookie,默認當前域名這種說法對不對呢?

先說第一個問題,如果不顯式設置cookie,那么瀏覽器會生成一個只針對當前域名的cookie,什么叫只針對當前域名呢?

如果有一個域名就是e.f.com.cn,在該域名下設置的cookie如果沒有顯示domain,在回寫瀏覽器的時候瀏覽器會特殊處理,如果是火狐,你會發現該cookie的信息,有一個主機項,而域項消失了,在chrome中,雖然有域這個項,但是域的前面少了一個點,就是上面所說的,如果顯式聲明,不管域中帶不帶點,到chrome中,都是帶點存儲的,只有非顯式聲明域的cookie,瀏覽器存儲才是不帶點的,問題就在這,在e.f.com.cn服務主機中生成的cookie,只有e.f.com.cn的服務器能拿到,此時子域名是拿不到這個cookie的。

總結

以上是生活随笔為你收集整理的正确使用cookie中的domain的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。