來源:不言 發(fā)布時間:2019-01-14 11:25:31 閱讀量:1074
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于cookie和session之間有什么區(qū)別?(詳細(xì)介紹),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。
Session是另一種記錄客戶狀態(tài)的機(jī)制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務(wù)器上。客戶端瀏覽器訪問服務(wù)器的時候,服務(wù)器把客戶端信息以某種形式記錄在服務(wù)器上。這就是Session??蛻舳藶g覽器再次訪問時只需要從該Session中查找該客戶的狀態(tài)就可以了。
如果說Cookie機(jī)制是通過檢查客戶身上的“通行證”來確定客戶身份的話,那么Session機(jī)制就是通過檢查服務(wù)器上的“客戶明細(xì)表”來確認(rèn)客戶身份。Session相當(dāng)于程序在服務(wù)器上建立的一份客戶檔案,客戶來訪的時候只需要查詢客戶檔案表就可以了。
session原理大白話:當(dāng)你一次訪問服務(wù)器的時候,服務(wù)器會在內(nèi)存中開辟一塊空間,返回唯一一把打開該空間的鑰匙,再把這把鑰匙返回到瀏覽器。當(dāng)你第二次訪問的時候?yàn)g覽器會攜帶這把鑰匙到服務(wù)器端打開對應(yīng)的空間,如果該空間已經(jīng)銷毀又重新返回開辟一塊新的空間返回新的鑰匙到瀏覽器。
區(qū)別 | cookie | session |
定義 | 網(wǎng)站為了辨別用戶身份而存儲在用戶本地終端上的數(shù)據(jù)(通常經(jīng)過加密) | 服務(wù)端保存的用來跟蹤用戶狀態(tài)的數(shù)據(jù) |
存取方式不同 | 只能保存ASCII字符,不能直接存取對象 | 能夠存取任何數(shù)據(jù)類型 |
隱私策略不同 | 存儲在客戶端,對用戶可見,可以被修改、復(fù)制 | 存儲在服務(wù)端,對用戶透明,安全性更高 |
有效期不同 | 可以設(shè)置長期有效,只要為其設(shè)置一個特別大的過期時間 | 有效期較短 |
瀏覽器支持不同 | 需要客戶端瀏覽器支持。若瀏覽器禁用或不支持cookie,則需要使用session及URL地址重寫(把session id直接附在URL路徑后面),可以設(shè)置為一切窗口內(nèi)有效或當(dāng)前窗口及子窗口有效 | 只在本次瀏覽器窗口及子窗口內(nèi)有效 |
跨域支持不同 | 支持跨域名訪問 | 不支持跨域名訪問,session僅在它所在的域名內(nèi)有效 |