Session是另一種記錄客戶狀態(tài)的機(jī)制,不同的是html' target='_blank'>Cookie保存在客戶端瀏覽器中,而Session保存在服務(wù)器上??蛻舳藶g覽器訪問(wèn)服務(wù)器的時(shí)候,服務(wù)器把客戶端信息以某種形式記錄在服務(wù)器上。這就是Session??蛻舳藶g覽器再次訪問(wèn)時(shí)只需要從該Session中查找該客戶的狀態(tài)就可以了。
如果說(shuō)Cookie機(jī)制是通過(guò)檢查客戶身上的“通行證”來(lái)確定客戶身份的話,那么Session機(jī)制就是通過(guò)檢查服務(wù)器上的“客戶明細(xì)表”來(lái)確認(rèn)客戶身份。Session相當(dāng)于程序在服務(wù)器上建立的一份客戶檔案,客戶來(lái)訪的時(shí)候只需要查詢客戶檔案表就可以了。
session原理大白話:當(dāng)你一次訪問(wèn)服務(wù)器的時(shí)候,服務(wù)器會(huì)在內(nèi)存中開(kāi)辟一塊空間,返回唯一一把打開(kāi)該空間的鑰匙,再把這把鑰匙返回到瀏覽器。當(dāng)你第二次訪問(wèn)的時(shí)候?yàn)g覽器會(huì)攜帶這把鑰匙到服務(wù)器端打開(kāi)對(duì)應(yīng)的空間,如果該空間已經(jīng)銷(xiāo)毀又重新返回開(kāi)辟一塊新的空間返回新的鑰匙到瀏覽器。
區(qū)別
cookie
session
定義
網(wǎng)站為了辨別用戶身份而存儲(chǔ)在用戶本地終端上的數(shù)據(jù)(通常經(jīng)過(guò)加密)
服務(wù)端保存的用來(lái)跟蹤用戶狀態(tài)的數(shù)據(jù)
存取方式不同
只能保存ASCII字符,不能直接存取對(duì)象
能夠存取任何數(shù)據(jù)類(lèi)型
隱私策略不同
存儲(chǔ)在客戶端,對(duì)用戶可見(jiàn),可以被修改、復(fù)制
存儲(chǔ)在服務(wù)端,對(duì)用戶透明,安全性更高
有效期不同
可以設(shè)置長(zhǎng)期有效,只要為其設(shè)置一個(gè)特別大的過(guò)期時(shí)間
有效期較短
瀏覽器支持不同
需要客戶端瀏覽器支持。若瀏覽器禁用或不支持cookie,則需要使用session及URL地址重寫(xiě)(把session id直接附在URL路徑后面),可以設(shè)置為一切窗口內(nèi)有效或當(dāng)前窗口及子窗口有效
只在本次瀏覽器窗口及子窗口內(nèi)有效
跨域支持不同
支持跨域名訪問(wèn)
不支持跨域名訪問(wèn),session僅在它所在的域名內(nèi)有效
以上就是cookie和session之間有什么區(qū)別?(詳細(xì)介紹)的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選