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