標籤:地址 5.0 層級 投票 asc jce 去除 重複 ssi
1、session:
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,只能通過JavaScript來讀取。
2、cookie:
所謂Cookie,只是一條極為短小的資訊,它能夠被網站自動地文本方式放置在一台電腦的硬碟中。通過Cookie,網站可以識別你是第一次訪問,或是又一次訪問它。網站還可以利用Cookie瞭解你對哪些內容感興趣,收集與使用者有關的資訊,例如記錄自動登入的時間限制,記錄使用者名稱,投票僅一次的限制等等。在你瀏覽某些網站的時,網站的程式會在你不知不自覺中將一個小的Cookie(作為一個文字檔)儲存在你的硬碟中。如果你想知道自己電腦裡都有什麼樣的Cookie,那麼請在Windows目錄下尋找Cookie的檔案夾。
去除Cookie
如果你不想在電腦裡儲存Cookie,可以改變瀏覽器的設定。具體方法如下(以IE為例):
啟動IE,找到“工具/Internet 選項/安全/自訂層級”,這時你就可以看到如何處理Cookie的不同選項了。這種方法適用於IE 5.0以上的版本
Jsessionid和cookie的區別與聯絡