在jsp中的session和cookie的關係

來源:互聯網
上載者:User
概述:
    具體來說cookie機制採用的是在用戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。
    同時我們也看到,由於才伺服器端保持狀態的方案在用戶端也需要儲存一個標識,所以session
機制可能需要藉助於cookie機制來達到儲存標識的目的,但實際上還有其他選擇。

引自:JSP入門 - 開發人員-萬維共用站(dev.w3pub.com)

論證:
如果session和cookie無關,伺服器如果判斷那個session是屬於那個使用者的呢。唯一判斷的方法就是往用戶端寫入一個sessionid,然後每次都要比較用戶端的sessionid和服務端的sessionid時候一致。不一致session就會失效。我把我的瀏覽器cookie禁用後csdn和網易的社區就告訴我已經逾時了。你可以試一下。在jsp中可以通過重寫url的方法來解決這個問題,就是把sessionid加到url後面。你還可以登陸到sina的郵件系統看一下,它的url後面都是跟著一大段字元的。

引自: Java / Web 開發 - CSDN社區 community.csdn.net

儲存session id的幾種方式
A.儲存session id的方式可以採用cookie,這樣在互動過程中瀏覽器可以自動的按照規則把這個標識發送給伺服器。
B.由於 cookie可以被人為的禁止,必須有其它的機制以便在cookie被禁止時仍然能夠把session id傳遞迴伺服器,經常採用的一種技術叫做URL 重寫,就是把session id附加在URL路徑的後面,附加的方式也有兩種,一種是作為URL路徑的附加資訊,另一種是作為查詢字串附加在URL後 面。網路在整個互動過程中始終保持狀態,就必須在每個用戶端可能請求的路徑後面都包含這個session id。
C.另一種技術叫做表單隱藏欄位。就是伺服器會自動修改表單,添加一個隱藏欄位,以便在表單提交時能夠把session id傳遞迴伺服器。

引自:JSP入門 - 開發人員-萬維共用站(dev.w3pub.com)

定義:

The servlet container uses this interface to create a session between an HTTP client and an HTTP server. The session persists for a specified time period, across more than one connection or page request from the user. A session usually corresponds to one user, who may visit a site many times. The server can maintain a session in many ways such as using cookies or rewriting URLs.

引自: HttpSession (Servlet API Documentation)

 

結論:

    不管是cookie還是url都是為了在用戶端儲存一個唯一標記, 下載再訪問時, 瀏覽器才知道這是哪個客戶, 在session中找到這個客戶前面的資料. 因為放在url中比較麻煩些, 一般都在cookie裡面在IE中自訂安全選項, 選擇接受cookie時提示, 就會看到每次session開始的時候會給你一個cookie, 裡面的值是唯一的.cookie和url都是在訪問頁面的時候提交.

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.