前言:
cookie和session有著千絲萬(wàn)縷的聯(lián)系收苏,本文將詳細(xì)介紹2者的區(qū)別醋界。
1涵但、存儲(chǔ)位置不同
cookie的數(shù)據(jù)信息存放在客戶(hù)端瀏覽器上涧尿。
session的數(shù)據(jù)信息存放在服務(wù)器上履腋。
2珊燎、存儲(chǔ)容量不同
單個(gè)cookie保存的數(shù)據(jù)<=4KB,一個(gè)站點(diǎn)最多保存20個(gè)Cookie遵湖。
對(duì)于session來(lái)說(shuō)并沒(méi)有上限悔政,但出于對(duì)服務(wù)器端的性能考慮,session內(nèi)不要存放過(guò)多的東西延旧,并且設(shè)置session刪除機(jī)制卓箫。
3、存儲(chǔ)方式不同
cookie中只能保管ASCII字符串垄潮,并需要通過(guò)編碼方式存儲(chǔ)為Unicode字符或者二進(jìn)制數(shù)據(jù)烹卒。
session中能夠存儲(chǔ)任何類(lèi)型的數(shù)據(jù)闷盔,包括且不限于string,integer旅急,list逢勾,map等。
4藐吮、隱私策略不同
cookie對(duì)客戶(hù)端是可見(jiàn)的溺拱,別有用心的人可以分析存放在本地的cookie并進(jìn)行cookie欺騙,所以它是不安全的谣辞。
session存儲(chǔ)在服務(wù)器上迫摔,對(duì)客戶(hù)端是透明對(duì),不存在敏感信息泄漏的風(fēng)險(xiǎn)泥从。
5句占、有效期上不同
開(kāi)發(fā)可以通過(guò)設(shè)置cookie的屬性,達(dá)到使cookie長(zhǎng)期有效的效果躯嫉。
session依賴(lài)于名為JSESSIONID的cookie纱烘,而cookie JSESSIONID的過(guò)期時(shí)間默認(rèn)為-1,只需關(guān)閉窗口該session就會(huì)失效祈餐,因而session不能達(dá)到長(zhǎng)期有效的效果擂啥。
6、服務(wù)器壓力不同
cookie保管在客戶(hù)端帆阳,不占用服務(wù)器資源哺壶。對(duì)于并發(fā)用戶(hù)十分多的網(wǎng)站,cookie是很好的選擇蜒谤。
session是保管在服務(wù)器端的变骡,每個(gè)用戶(hù)都會(huì)產(chǎn)生一個(gè)session。假如并發(fā)訪問(wèn)的用戶(hù)十分多芭逝,會(huì)產(chǎn)生十分多的session塌碌,耗費(fèi)大量的內(nèi)存。
7旬盯、瀏覽器支持不同
假如客戶(hù)端瀏覽器不支持cookie:
cookie是需要客戶(hù)端瀏覽器支持的台妆,假如客戶(hù)端禁用了cookie,或者不支持cookie胖翰,則會(huì)話(huà)跟蹤會(huì)失效接剩。關(guān)于WAP上的應(yīng)用,常規(guī)的cookie就派不上用場(chǎng)了萨咳。
運(yùn)用session需要使用URL地址重寫(xiě)的方式懊缺。一切用到session程序的URL都要進(jìn)行URL地址重寫(xiě),否則session會(huì)話(huà)跟蹤還會(huì)失效。
假如客戶(hù)端支持cookie:
cookie既能夠設(shè)為本瀏覽器窗口以及子窗口內(nèi)有效鹃两,也能夠設(shè)為一切窗口內(nèi)有效遗座。
session只能在本窗口以及子窗口內(nèi)有效。
8俊扳、跨域支持上不同
cookie支持跨域名訪問(wèn)途蒋。
session不支持跨域名訪問(wèn)。
作者:小喜_ww
鏈接:http://www.reibang.com/p/2f7031a69f43
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有馋记。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)号坡,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。