session原理:
1、session是儲存在伺服器端,理論上是沒有是沒有限制,只要你的記憶體夠大
2、瀏覽器第一次訪問伺服器時會建立乙個session物件並返回乙個jsessionid=id的值,
建立乙個cookie物件key為jssionid,value為id的值,將這個cookie寫回瀏覽器
3、瀏覽器在第二次訪問伺服器的時候攜帶cookie資訊jsessionid=id的值,如果該jsessionid的session已經銷毀,
那麼會重新建立乙個新的session再返回乙個新的jsessionid通過cookie返回到瀏覽器
4、針對乙個web專案,乙個瀏覽器是共享乙個session,就算有兩個web專案部署在同乙個伺服器上,針對兩個專案的session是不同的
如:你在tomcat上同時部署了兩個web專案,分別是web1、web2。當你在乙個瀏覽器上同時訪問web1時建立的session是a1,訪問web2時建立的session是a2。
後面你再多次訪問web1使用的session還是a1,多次訪問web2時使用session就是a2
5、session是基於cookie技術實現,重啟瀏覽器後再次訪問原有的連線依然會建立乙個新的session,
因為cookie在關閉瀏覽器後就會消失,但是原來伺服器的session還在,只有等到了銷毀的時間會自動銷毀
6、如果瀏覽器端禁用了cookie,那麼每次訪問都會建立乙個新的session,但是我們可以通過伺服器端程式重寫url即可,如果頁面多連線多,會增加不必要的工作量,
那可以強制讓你使用者開啟接收cookie後再讓其訪問即可。
大白話:當你一次訪問伺服器的時候,伺服器會在記憶體中開闢一塊空間,返回唯一一把開啟該空間的鑰匙,再把這把鑰匙返回到瀏覽器。
當你第二次訪問的時候瀏覽器會攜帶這把鑰匙到伺服器端開啟對應的空間,如果該空間已經銷毀又重新返回開闢一塊新的空間返回新的鑰匙到瀏覽器。
面試:
說說cookie和session的區別?
1、cookie和session都是會話技術,cookie是執行在客戶端,session是執行在伺服器端。
2、cookie有大小限制以及瀏覽器在存cookie的個數也有限制,session是沒有大小限制和伺服器的記憶體大小有關。
3、cookie有安全隱患,通過攔截或本地檔案找得到你的cookie後可以進行攻擊。
4、session是儲存在伺服器端上會存在一段時間才會消失,如果session過多會增加伺服器的壓力。
1、儲存位置不同
cookie儲存在客戶端
session儲存在伺服器端
2、儲存大小不同
單個cookie儲存的資料<=4kb,乙個站點最多儲存20個cookie
對於session來說並沒有上線,但出於對伺服器效能的考慮,盡量不要設定過多的session在伺服器上
3、儲存方式不同
cookie是以ascii碼儲存
session可以是json、等
4、隱私策略不同
cookie對使用者來說可以看見,對不法份子設定cookie欺詐
session儲存在伺服器上對使用者是不可見的
5、伺服器壓力不同
cookie儲存在客戶端,不占用伺服器資源,對於併發使用者十分多的使用者cookie是乙個很好的選擇
session儲存在伺服器上,每個使用者都會產生乙個session,對於使用者量非常多的**,會產生很多的session,十分占用伺服器記憶體
6、有效期不同
開發可以通過設定cookie的屬性,達到使cookie長期有效
session依賴於jsessionid的cookie,而cookie jsessionid的過期時間預設為-1,只需關閉視窗該session就會失效,因而session不能達到長期有效的效果。
7、瀏覽器支援不同
假如客戶端瀏覽器不支援cookie:
cookie是需要客戶端瀏覽器支援的,假如客戶端禁用了cookie,或者不支援cookie,則會話跟蹤會失效。關於wap上的應用,常規的cookie就派不上用場了。
運用session需要使用url位址重寫的方式。一切用到session程式的url都要進行url位址重寫,否則session會話跟蹤還會失效。
假如客戶端支援cookie:
cookie既能夠設為本瀏覽器視窗以及子視窗內有效,也能夠設為一切視窗內有效。
session只能在本視窗以及子視窗內有效。
8、跨域支援上不同
cookie支援跨網域名稱訪問。
session不支援跨網域名稱訪問。
Session和Cookie的區別
session和cookie的區別 1 儲存的位置不同 session儲存在伺服器端的記憶體中,占用伺服器資源。cookie是儲存在客戶端。可以是瀏覽器中或者是檔案中 2 儲存的時間不同 session是關閉當前會話相關瀏覽器後自動清空。cookie是根據過期時間而會有不同。3 安全性不同 sess...
cookie和session的區別
一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於在伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目...
cookie和session的區別
分類 計算機網路 2011 10 21 10 43 4785人閱讀收藏 舉報 session 瀏覽器伺服器 servlet url儲存 一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我...