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