一、session和cookie的特征
成都創新互聯公司專注于友好企業網站建設,成都響應式網站建設公司,商城網站開發。友好網站建設公司,為友好等地區提供建站服務。全流程按需定制開發,專業設計,全程項目跟蹤,成都創新互聯公司專業和態度為您提供的服務
很多人認為,session是服務端的,cookie是客戶端的。其實呢,session和cookie都是服務器產生的,都是鍵值對應的。
** session是保存在服務器的,服務器會生成對應的session文件,cookie是返回給客戶端的,然后客戶端在存儲相關文件。**
session在服務器的入口是ID,然后服務器查出對應的的值,通過類似cookie的形式,返回給客戶端(相當于買電影票)。客戶端(瀏覽器),會在發送請求的時候,自動將本地存活的cookie封裝在信息頭中發送給服務器(相當于,看電影驗票)。
**session和cookie都是有生命周期的。**
cookie的生命周期受到:cookie自身生命周期以及客戶端是否保留cookie文件的影響(相當于,電影票沒看確丟了)。
session的生命周期受到:session自身的存活周期以及客戶端是否關閉的影響。
**session和cookie都是有作用域的。**
二、cookie和session的區別與使用
$.cookie('the_cookie', 'the_value');
$.cookie('the_cookie', 'the_value', { expires: 7 });
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
$.cookie('the_cookie');
$.cookie('the_cookie', null);
原理上,cookie與session,是相同的。同樣的,我們用Jquery操作session。使用 jquery.session.js操作session:
使用之前需要引入,Jquery.js與 jquery.session.js哦,我們將使用sessionStorage對象,它類似與localStorage對象,只是sessionStorage是用來儲存session數據的。當用戶關閉瀏覽器這個數據會被清除掉。
1.添加數據
$.session.set('key', 'value')
2.刪除數據
$.session.remove('key');
3.獲取數據
$.session.get('key');
4.清除數據
$.session.clear();
session相對cookie更加安全一點,因為用戶只是拿到了一個session ID來讀取服務保存的配置文件,而讀取的邏輯實現狀態等是沒有辦法輕而易舉破解,這種服務器的驗證機制的。
筆者綜述:當我們遇到一些全局變量,狀態值之類的。在一次請求,或者路徑跳轉等的時候,可以一步步的存儲獲取。但是當我們,跨請求,跨路徑在想獲取這些參數的時候怎么辦呢。自然而然就會想到:要是有一個配置文件就好了,我直接讀取配置文件里面的內容,遇到新值我直接存儲或者修改配置文件就好了。那么cookie和session就是了。只不過,cookie的配置文件在本地,session的配置文件在服務器,都是會被清除掉的臨時文件。--HoYL