淺談cookie 和session 的區(qū)別
具體來說 cookie 是保存在“客戶端”的,而session是保存在“服務(wù)端”的
cookie 是通過擴(kuò)展http協(xié)議實(shí)現(xiàn)的
cookie 主要包括 :名字,值,過期時間,路徑和域;
如果cookie不設(shè)置生命周期,則以瀏覽器關(guān)閉而關(guān)閉,這種cookie一般存儲在內(nèi)存而不是硬盤上.若設(shè)置了生命周期則相反,不隨瀏覽器的關(guān)閉而消失,這些cookie仍然有效直到超過設(shè)定的過 期 時間。
session 一種類似散列表的形式保存信息,
當(dāng)程序需要為某個客戶端的請求創(chuàng)建一個session時,服務(wù)器首先檢查這個客戶端的請求里是否已包含了一個session標(biāo)識
(稱為session id),如果已包含則說明以前已經(jīng)為此客戶端創(chuàng)建過session,服務(wù)器就按照session id把這個session檢索出來
使用(檢索不到,會新建一個),如果客戶端請求不包含session id,則為此客戶端創(chuàng)建一個session并且生成一個與此session相
關(guān)聯(lián)的session id,session id的值應(yīng)該是一個既不會重復(fù),又不容易被找到規(guī)律以仿造的字符串,這個session id將被在本次響應(yīng)
中返回給客戶端保存。保存這個session id的方式可以采用cookie,這樣在交互過程中瀏覽器可以自動的按照規(guī)則把這個標(biāo)識發(fā)送給
服務(wù)器。一般這個cookie的名字都是類似于SEEESIONID。但cookie可以被人為的禁止,則必須有其他機(jī)制以便在cookie被禁止時
仍然能夠把session id傳遞回服務(wù)器。
優(yōu)缺點(diǎn):
1、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙
考慮到安全應(yīng)當(dāng)使用session。
3、session會在一定時間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會比較占用你服務(wù)器的性能
考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用COOKIE。
4、單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點(diǎn)最多保存20個cookie。
5、所以個人建議:
將登陸信息等重要信息存放為SESSION
其他信息如果需要保留,可以放在COOKIE中
以上這篇淺談cookie 和session 的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis 中Mapper使用package方式配置報(bào)錯的解決方案
這篇文章主要介紹了Mybatis 中Mapper使用package方式配置報(bào)錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07SpringBoot實(shí)現(xiàn)WEB的常用功能案例詳解
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)WEB的常用功能,本文將對Spring Boot實(shí)現(xiàn)Web開發(fā)中涉及的三大組件Servlet、Filter、Listener以及文件上傳下載功能以及打包部署進(jìn)行實(shí)現(xiàn),需要的朋友可以參考下2022-04-04Java中的static關(guān)鍵字用法總結(jié)
這篇文章主要介紹了Java中的static關(guān)鍵字用法總結(jié),static是Java50個關(guān)鍵字之一,static關(guān)鍵字可以用來修飾代碼塊表示靜態(tài)代碼塊,修飾成員變量表示全局靜態(tài)成員變量,修飾方法表示靜態(tài)方法,需要的朋友可以參考下2023-11-11springmvc開啟異步請求報(bào)錯Java code using the Ser
這篇文章主要為大家介紹了springmvc開啟異步請求報(bào)錯Java code using the Servlet API or解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-02-02mybatis?plus新增(insert)數(shù)據(jù)獲取主鍵id的問題
這篇文章主要介紹了mybatis?plus新增(insert)數(shù)據(jù)獲取主鍵id的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03微信小程序 springboot后臺如何獲取用戶的openid
這篇文章主要介紹了微信小程序 springboot后臺如何獲取用戶的openid,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09java實(shí)現(xiàn)讀取txt文件并以在每行以空格取數(shù)據(jù)
今天小編就為大家分享一篇java實(shí)現(xiàn)讀取txt文件并以在每行以空格取數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07