存在兩種類型的cookie: html
Session cookies - these are temporary and are erased when you close your browser at the end of your surfing session. The next time you visit that particular site it will not recognise you and will treat you as a completely new visitor as there is nothing in your browser to let the site know that you have visited before
不設置過時時間,則表示這個cookie生命週期爲瀏覽器會話期間,只要關閉瀏覽器窗口,cookie就消失了。這種生命期爲瀏覽會話期的cookie被稱爲會話cookie。會話cookie通常不保存在硬盤上而是保存在內存裏。
Persistent cookies - these remain on your hard drive until you erase them or they expire. How long a cookie remains on your browser depends on how long the visited website has programmed the cookie to last
設置了過時時間,瀏覽器就會把cookie保存到硬盤上,關閉後再次打開瀏覽器,這些cookie依然有效直到超過設定的過時時間。
存儲在硬盤上的cookie能夠在不一樣的瀏覽器進程間共享,好比兩個IE窗口。而對於保存在內存的cookie,不一樣的瀏覽器有不一樣的處理方式。
Cookie和會話狀態的工做原理及Cookie欺騙
session是一種保存上下文信息的機制,它是針對每個用戶的,變量的值保存在服務器端,經過SessionID來區分不一樣的客戶,session是以Cookie或URL重寫爲基礎。默認使用Cookie來實現,系統會創造一個名爲JSESSIONID的輸出Cookie,或稱爲"Session Cookie",以區別Persistent Cookies(一般所說的Cookie).Session Cookie是存儲在瀏覽器中,並非寫在硬盤上的,可是把瀏覽器的Cookie禁止後,使用response對象的encodeURL或 encodeRedirectURL方法編碼URL,WEB服務器會採URL重寫的方式傳遞Sessionid,用戶就能夠在地址欄看到 jsessionid=A09JHGHKHU68624309UTY84932之類的字符串。
一般Session Cookie是不能跨窗口使用,當用戶新開了一個瀏覽器進入相同的頁面時,系統會賦予用戶一個新的SessionID,這樣信息共享的目的就達不到,此時能夠把SessionID保存在Persistent Cookie中,而後再新的窗口中讀出來,就能夠獲得上一個窗口的SessionID了,這樣經過Session Cookie和Persistent Cookie的結合,實現了跨窗口的會話跟蹤。
session的工做原理
就session的實現而言,好像是這樣的:
(1)當有Session啓動時,服務器生成一個惟一值,稱爲SessionID(好像是經過取進程ID的方式取得的)。
(2)而後,服務器開闢一塊內存,對應於該SessionID。
(3)服務器再將該SessionID寫入瀏覽器的cookie(一些在網頁的源代碼中有所體現)。
(4)服務器內有一進程,監視全部Session的活動情況,若是有Session超時或是主動關閉,服務器就釋放該內存塊。
(5)當瀏覽器連入IIS(服務器)時並請求的ASP(腳本語言)內用到Session時,IIS(服務器)就讀瀏覽器Cookie中的SessionID。
(6)而後,服務檢查該SessionID所對應的內存是否有效。
(7)若是有效,就讀出內存中的值。
(8)若是無效,就創建新的Session。
注意:
(1)在大瀏覽量的網站,Session並不保險,咱們過去的網站就常常碰到存在Session中得值不正確(可能出現重複的Session ID)。
(2)Session ID不能從硬盤上的Cookie文件得到,若是想在客戶端獲知本身的Session ID,只能經過Javascrīpt來讀取。
Cookie和會話狀態
作BS開發,這兩個概念必不可少,先來個大概瞭解,沒有實際應用很難深刻,深刻看參考地址!
什麼是 Cookie?
Cookie 是一小段文本信息,伴隨着用戶請求和頁面在 Web 服務器和瀏覽器之間傳遞。用戶每次訪問站點時,Web 應用程序均可以讀取 Cookie 包含的信息。 Cookie 的基本工做原理若是用戶再次訪問站點上的頁面,當該用戶輸入 URLwww.*****.com時,瀏覽器就會在本地硬盤上查找與該 URL 相關聯的 Cookie。若是該 Cookie 存在,瀏覽器就將它與頁面請求一塊兒發送到您的站點。
Cookie 有哪些用途?
最根本的用途是:Cookie 可以幫助 Web 站點保存有關訪問者的信息。更歸納地說,Cookie 是一種保持Web 應用程序連續性(即執行「狀態管理」)的方法.使 Web 站點記住您.
什麼是會話Session?
當用戶訪問您的站點時,服務器會爲該用戶建立惟一的會話,會話將一直延續到用戶訪問結束。
參考地址
http://www.microsoft.com/china/MSDN/library/archives/library/dv_vstechart/html/vbtchaspnetcookies101.asp
http://support.microsoft.com/default.aspx?scid=kb;en-us;307598