国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于cookie domain中的點前綴

Achilles / 603人閱讀

摘要:今天同事遇到一個問題,大概描述如下瀏覽器已經接收指令,之前在一級域名下存儲了相關的信息。顯然是的一個子域。在正常用戶的瀏覽行為中,應用會向自己的域下寫入。

今天同事遇到一個問題,大概描述如下:

瀏覽器已經接收指令,之前在一級域名下存儲了相關的信息。這里為了簡化問題,假設我們有兩個應用A和B,域名分別為:a.b.comc.a.b.com。(顯然B是A的一個子域)。

上面的描述就是:在.b.com這個一級域名下,我們已經成功寫入了一個cookie,假設為:b=level1

在正常用戶的瀏覽行為中,應用A會向自己的域下寫入a=level2(domain:a.b.com)。

在A正常的頁面中,有些場景會有異步的請求發出到B應用的頁面(用于獲取數據),合理的一種想法是:發送到B應用的請求,應該攜帶著上面的b=level1a=level2這兩個cookie信息到B應用的服務器去才對。但是,實際的情況是,b=level1被如愿攜帶上來,但是a=level2這個信息卻被丟棄了!(確切的說是沒有跟著request一起被發送到B的服務端)。

為啥?在訪問子域應用時,不是父域名下的cookie都應該被攜帶上來嗎?就像上面的b=level1那樣?

其實,關于這點,在cookie的RFC規范中,并沒有太明顯的說明,至少我沒有看到,即使又看了一遍RFC6265中關于Domain Matching的描述也是如此。

但實際的使用過程中,某個域下的cookie如果希望能夠被他的子域具有可見性(即可以讀取),必須要注意的一點是,應該保證這個cookie在被Set的時候,應該以"."開頭。回到上面的例子,之所以a=level2這個cookie沒有在用戶瀏覽器請求B應用時被攜帶到B的server端,就是因為a=level2這個cookie的domain不是.a.b.com,而是a.b.com

事實上,上面例子中的A應用,在向自己的域名下寫入a=level2這個cookie時,壓根就沒有顯示的設置domain這個屬性,這樣一來,瀏覽器接受到這個Set Cookie的請求時,就會以默認以當前應用的域名作為cookie的domain。(不過據說某些版本的Firefox到是會自作聰明的在當前域名的前面自動加上一個點,這個待驗證!)

這一個小點的區別,還是很容易被忽略的,不過產生的瀏覽行為還是有細微差別的。(涉及到cookie是否上傳,是否占用網絡流量等)

PS:關于上面說到的那個問題,stackoverflow上的這個有個截圖,看著說明就直觀很多了。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/104913.html

相關文章

  • 關于Cookie的那些事

    摘要:假設有兩個域名域名域名域名有分級的概念,也就是說域名與域名都是的子域名,又是的子域名在域名所使用的服務中,可以設置域名在服務端設置的時候,設置為或沒有區別,注意前面的點,即只要是為顯式的聲明,前面帶不帶點沒有區別。 1 Cookie簡介 Cookie是由W3C組織提出,最早由NetScape社區發展的一種機制。Cookie是存儲于訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某...

    sf_wangchong 評論0 收藏0
  • 關于Cookie的那些事

    摘要:假設有兩個域名域名域名域名有分級的概念,也就是說域名與域名都是的子域名,又是的子域名在域名所使用的服務中,可以設置域名在服務端設置的時候,設置為或沒有區別,注意前面的點,即只要是為顯式的聲明,前面帶不帶點沒有區別。 1 Cookie簡介 Cookie是由W3C組織提出,最早由NetScape社區發展的一種機制。Cookie是存儲于訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某...

    alogy 評論0 收藏0
  • Response Headers 的 Set-Cookie 前端讀取不到 ?

    摘要:可選的最長有效時間,格林尼治標準時間。如果不傳表示這是一個會話期。默認值為當前文檔訪問地址的主機名不包含子域名。設置的目錄及其子目錄都生效。可選設置了屬性的不能使用經由屬性和進行訪問以防范跨站腳本攻擊。 問題 描述 先看下后臺返回的Set-Cookie字段:showImg(https://segmentfault.com/img/bVbulhz?w=858&h=128);查看瀏覽器Co...

    zhangqh 評論0 收藏0
  • cookie

    摘要:背景是一種無狀態的協議,它不對請求和響應之間的通信狀態進行保存,即無法根據之前的狀態進行本次請求的處理。為了保留無狀態協議這個特征的同時又要解決類似的矛盾問題,于是引入了。主要目的是為防止跨站腳本攻擊對的信息竊取。 需求場景 一個Vue單頁應用,A、B、C 三個頁面都引用了一個公用的時間選擇器。用戶在各自頁面選擇完時間后,A,B,C頁面互相切換時保存選擇的時間,在關閉瀏覽器tab后,清...

    bawn 評論0 收藏0
  • cookie

    摘要:背景是一種無狀態的協議,它不對請求和響應之間的通信狀態進行保存,即無法根據之前的狀態進行本次請求的處理。為了保留無狀態協議這個特征的同時又要解決類似的矛盾問題,于是引入了。主要目的是為防止跨站腳本攻擊對的信息竊取。 需求場景 一個Vue單頁應用,A、B、C 三個頁面都引用了一個公用的時間選擇器。用戶在各自頁面選擇完時間后,A,B,C頁面互相切換時保存選擇的時間,在關閉瀏覽器tab后,清...

    array_huang 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<