談談cookie在各瀏覽器下的共用情況

2021-04-24 11:21:06 字數 2477 閱讀 5019

如果你對什麼是cookie 還不了解,則此篇文章不適合你看,如果你希望了解一下,則請先了解什麼是cookie 會對你了解此篇文章有作用:

cookie

cookie

(現在絕大部分站點都會用到cookie記錄一小部分資訊。)

cookie

好,簡單的介紹了cookie 之後,接下來開始我們的正文。在此不對比各瀏覽器之間的效能、html相容性、個性化使用、等,只在於說說cookie 在各瀏覽器下的多視窗共用使用情況,

引發寫此篇文章的原因:

下面給出對比情況:

對比的瀏覽器

指定cookie 的過期時間

未指定cookie 過期時間

mozillafirefox 3.0

多視窗共用cookie(公用)

公用ie 7.0公有

私有opera 9.60公有

公用 公有公用

google chrome 0.2.149.30公有

公用tt,

傲遊(maxthon)等其實質是用的ie核心,因此ie是什麼情況,他們就是什麼情況。

根據上面**說明,只有ie瀏覽器,在沒有指定cookie的過期時間情況下,此種cookie是專屬於當前視窗(會話)的。

為什麼除ie之外的瀏覽器都這樣設計,我個人搞不明白,有人清楚的冒個泡,哈哈。

測試的web伺服器:iis,asp.net;

clid

對於asp.net2.0,有乙個有趣的情況。由於微軟用了 名稱為asp.net_sessionid

的cookie 來記錄第一次開啟的會話id,如果在web.config

中配置的session 生存期內,瀏覽器沒有與後台互動,則後台session 會自動結束。當後台session 結束後,瀏覽器再次請求時,後台asp.net會建立乙個新的會話session,並且把此新session的id設定為asp.net_sessionid

記錄的值,而不是新命名session的id。這樣會給人一些假象,以為還是原來的session,其實原來的session已經結束,並且原來儲存在session的所有內容已不存在。

而asp.net_sessionid

儲存會話的唯一識別符號。這個會話cookie 為瀏覽器視窗關閉時自動消亡(cookie 的第二種情況)。記錄當前框架的版本;另外,在asp.net2.0中,每個會話開啟後,微軟會設定二個cookie:clid

和asp.net_sessionid

。帳號登入,我想,有很多使用者是不能接受的(msn就限制了一台電腦同一時間只能有乙個帳號登入,這也是有很多人不願意使用msn的其中乙個原因,題外話了)。那麼,根據這種結果,表明除ie之外的瀏覽器,如果乙個站點是用cookie 記錄帳戶登入資訊,則一台電腦同時只能用乙個帳戶登入相同站點了。其實質是:除ie之外的瀏覽器,不管開幾個單獨的視窗,都是共用乙個會話(session),ie則是乙個單獨的視窗開乙個會話。

根據 上面描述的cookie 的過期時間特性,我們可以理解第一種情況的cookie 可以在瀏覽器的多視窗間共用,而第二種情況的cookie,是會話結束就自動消亡,我們會認為,單獨開啟的多個視窗(在乙個頁面中彈出或開啟的新視窗應該屬於主視窗)是沒有聯絡的,也就是說,乙個視窗乙個會話,但事實並不是如此。當我想開啟多個瀏覽器視窗,分別用同一站點的多個不同帳號登入站點時,按照我的預想,應該是不同視窗登入後,操作都是針對各自帳號的。但卻引起帳號資訊混亂,錄入資料出錯。因此查詢原因,並用不同瀏覽器測試。最後發現是因為站點用了cookie 記錄登入帳號資訊,問題出在cookie 在多個視窗間的共用性。

注意:這裡的多視窗,指的是執行多個瀏覽器程式,不是指有些瀏覽器裡開的多個標籤頁。

是與web 站點而不是與具體頁面關聯的,所以無論使用者請求瀏覽站點中的哪個頁面,瀏覽器和伺服器都將交換 http://www.soa365.com/

的cookie 資訊。使用者訪問其他站點時,每個站點都可能會向使用者瀏覽器傳送乙個cookie,而瀏覽器會將所有這些cookie 分別儲存。以後,如果該使用者再次訪問站點上的頁面,當該使用者輸入url http://www.soa365.com/

時,瀏覽器就會在本地硬碟上查詢與該url 相關聯的cookie。如果該cookie 存在,瀏覽器就將它與頁面請求一起傳送到站點,web應用程式就能確定該使用者上一次訪問站點的記錄資訊。您可以根據這些資訊向使用者傳送一條訊息,也可以檢查過期時間或執行其他有用的功能。假設在使用者請求訪問** http://www.soa365.com/

上的某個頁面時,您的應用程式傳送給該使用者的不僅僅是乙個頁面,還有乙個包含日期和時間的cookie。使用者的瀏覽器在獲得頁面的同時還得到了這個cookie,並且將它儲存在使用者硬碟上的某個資料夾中。是一小段文字資訊,伴隨著使用者請求和頁面在web 伺服器和瀏覽器之間傳遞。使用者每次訪問站點時,web 應用程式都可以讀取cookie 包含的資訊。

各瀏覽器Cookie大小 個數限制

今天在測試ticket時,發現原來儲存的cookie莫名其妙的就被清除了,自己沒有做過任何的改動。後來發現,應該是cookie數量達到了瀏覽器的限制。網上查詢出來的結果是 一 瀏覽器允許每個網域名稱所包含的cookie數 microsoft指出internetexplorer8增加cookie限制為...

各瀏覽器Cookie大小 個數限制

一 瀏覽器允許每個網域名稱所包含的cookie數 microsoft指出internetexplorer8增加cookie限制為每個網域名稱50個,但ie7似乎也允許每個網域名稱50個cookie。firefox每個網域名稱cookie限制為50個。opera每個網域名稱cookie限制為30個。s...

各瀏覽器下 scrollTop的差異

1 各瀏覽器下 scrolltop的差異 ie6 7 8 對於沒有doctype宣告的頁面裡可以使用document.body.scrolltop來獲取 scrolltop高度 對於有doctype宣告的頁面則可以使用document.documentelement.scrolltop safari...