国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門文章> session和cookie的區別 >

session和cookie的區別

36氪企服點評小編
2022-04-06 17:18
577次閱讀

| 企服解答

session和cookie的區別在以下幾點:1、存儲位置不同;2、存儲容量不同;3、存儲方式不同;4、隱私策略不同;5、有效期上不同;6、服務器壓力不同;7、瀏覽器支持不同;8、跨域支持上不同

session和cookie的區別session和cookie的區別

1、存儲位置不同。

cookie的數據信息存放在客戶端瀏覽器上,session的數據信息存放在服務器上。

2、存儲容量不同。

單個cookie保存的數據<=4KB,一個站點最多保存20個Cookie。

對于session來說并沒有上限,但出于對服務器端的性能考慮,session內不要存放過多的東西,并且設置session刪除機制。

3、存儲方式不同。

cookie中只能保管ASCII字符串,并需要通過編碼方式存儲為Unicode字符或者二進制數據。

session中能夠存儲任何類型的數據,包括且不限于string,integer,list,map等。

4、隱私策略不同。

cookie對客戶端是可見的,別有用心的人可以分析存放在本地的cookie并進行cookie欺騙,所以它是不安全的。

session存儲在服務器上,對客戶端是透明對,不存在敏感信息泄漏的風險。

5、有效期上不同。

開發可以通過設置cookie的屬性,達到使cookie長期有效的效果。

session依賴于名為JSESSIONID的cookie,而cookie JSESSIONID的過期時間默認為-1,只需關閉窗口該session就會失效,因而session不能達到長期有效的效果。

6、服務器壓力不同。

cookie保管在客戶端,不占用服務器資源。對于并發用戶十分多的網站,cookie是很好的選擇。

session是保管在服務器端的,每個用戶都會產生一個session。假如并發訪問的用戶十分多,會產生十分多的session,耗費大量的內存。

7、瀏覽器支持不同。

假如客戶端瀏覽器不支持cookie:

cookie是需要客戶端瀏覽器支持的,假如客戶端禁用了cookie,或者不支持cookie,則會話跟蹤會失效。關于WAP上的應用,常規的cookie就派不上用場了。

運用session需要使用URL地址重寫的方式。一切用到session程序的URL都要進行URL地址重寫,否則session會話跟蹤還會失效。

假如客戶端支持cookie:

cookie既能夠設為本瀏覽器窗口以及子窗口內有效,也能夠設為一切窗口內有效。

session只能在本窗口以及子窗口內有效。

8、跨域支持上不同。

cookie支持跨域名訪問,session不支持跨域名訪問。

| 拓展閱讀

Cookie:

Cookie意為“甜餅”,是由W3C組織提出,最早由Netscape社區發展的一種機制。目前Cookie已經成為標準,所有的主流瀏覽器如IE、Netscape、Firefox、Opera等都支持Cookie。

由于HTTP是一種無狀態的協議,服務器單從網絡連接上無從知道客戶身份。怎么辦呢?就給客戶端們頒發一個通行證吧,每人一個,無論誰訪問都必須攜帶自己通行證。這樣服務器就能從通行證上確認客戶身份了。這就是Cookie的工作原理。

Cookie實際上是一小段的文本信息。客戶端請求服務器,如果服務器需要記錄該用戶狀態,就使用response向客戶端瀏覽器頒發一個Cookie。客戶端瀏覽器會把Cookie保存起來。當瀏覽器再請求該網站時,瀏覽器把請求的網址連同該Cookie一同提交給服務器。服務器檢查該Cookie,以此來辨認用戶狀態。服務器還可以根據需要修改Cookie的內容。

查看某個網站頒發的Cookie很簡單。在瀏覽器地址欄輸入javascript:alert (document. cookie)就可以了(需要有網才能查看)。JavaScript腳本會彈出一個對話框顯示本網站頒發的所有Cookie的內容。

Session:

Session是另一種記錄客戶狀態的機制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務器上。客戶端瀏覽器訪問服務器的時候,服務器把客戶端信息以某種形式記錄在服務器上。這就是Session。客戶端瀏覽器再次訪問時只需要從該Session中查找該客戶的狀態就可以了。

如果說Cookie機制是通過檢查客戶身上的“通行證”來確定客戶身份的話,那么Session機制就是通過檢查服務器上的“客戶明細表”來確認客戶身份。Session相當于程序在服務器上建立的一份客戶檔案,客戶來訪的時候只需要查詢客戶檔案表就可以了。

[免責聲明]

文章標題: session和cookie的區別

文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。

消息通知
咨詢入駐
商務合作