Cookie和会话Session
Cookie和會話Session
Cookie
Cookie是識別客戶端的特定用戶。
1.每次HTTP請求的時候,客戶端都會發送相應的Cookie信息到服務端。實際上大多數的應用都是用 Cookie 來實現Session跟蹤的,第一次創建Session的時候,服務端會在HTTP協議中告訴客戶端,需要在 Cookie 里面記錄一個Session ID,以后每次請求把這個會話ID發送到服務器,它就知道你是誰了。
2.如果客戶端的瀏覽器禁用了 Cookie ,一般這種情況下,會使用一種叫做URL重寫的技術來進行會話跟蹤,即每次HTTP交互,URL后面都會被附加上一個諸如 sid=xxxxx 這樣的參數,服務端據此來識別用戶。
3. Cookie還可以用在一些方便用戶的場景下,登陸過一個網站,下次登錄的時候不想再次輸入賬號了,這個信息就可以寫到Cookie里面,訪問網站的時候,網站頁面的腳本可以讀取這個信息,就自動幫你把用戶名給填了,能夠方便一下用戶。
?
Session
Session是另一種記錄客戶狀態的機制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務器上。客戶端瀏覽器訪問服務器的時候,服務器把客戶端信息以某種形式記錄在服務器上。這就是Session。客戶端瀏覽器再次訪問時只需要從該Session中查找該客戶的狀態就可以了。
session會在Cookie中出現和傳輸,屬于Cookie的一部分。
當web服務器開啟會話機制時,用戶登陸成功后,會將會話保存在服務器中。
?
如果說Cookie機制是通過檢查客戶身上的“通行證”來確定客戶身份的話,那么Session機制就是通過檢查服務器上的“客戶明細表”來確認客戶身份。Session相當于程序在服務器上建立的一份客戶檔案,客戶來訪的時候只需要查詢客戶檔案表就可以了。
?
Cookie和session的區別
不同之處在于:
1、數據存放位置不同:
cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。
2、安全程度不同:
cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙,考慮到安全應當使用session。
3、性能使用程度不同:
session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用cookie。
4、數據存儲大小不同:
單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie,而session則存儲與服務端,瀏覽器對其沒有限制。cookie數據保存在客戶端的瀏覽器,session數據保存在服務器端。
5、會話機制不同
session會話機制:session會話機制是一種服務器端機制,它使用類似于哈希表(可能還有哈希表)的結構來保存信息。
cookies會話機制:cookie是服務器存儲在本地計算機上的小塊文本,并隨每個請求發送到同一服務器。 Web服務器使用HTTP標頭將cookie發送到客戶端。在客戶端終端,瀏覽器解析cookie并將其保存為本地文件,該文件自動將來自同一服務器的任何請求綁定到這些cookie。
?
共同之處在于:
cookie和session都是用來跟蹤瀏覽器用戶身份的會話方式。
?
總結
以上是生活随笔為你收集整理的Cookie和会话Session的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EditThisCookie使用
- 下一篇: Pycharm社区版安装教程(永久免费,