1.cookie
cookie 是存儲在瀏覽器客戶端的一小段數(shù)據(jù),可以同時被前臺與后臺操作,cookie可以跨頁面 存取 cookie不可以跨服務(wù)器訪問,但可以跨域cookie是有生命期的,默認(rèn)是與瀏覽器進(jìn)程相同,如果進(jìn)程退出,cookie會被銷毀。
在控制臺輸入document.cookie可以查看cookie

1.1 cookie獲取與設(shè)置
將cookie的設(shè)置和獲取在js文件中封裝成函數(shù),下次再用到的時候直接引入該js文件,調(diào)用其方法就行
function setCookie(name,value,path,expires){
//設(shè)置一天之后失效
var current_data = new Date();
//將日期設(shè)置為一天之后的日期
current_data.setDate(current_data.getDate() + expires);
//將日期轉(zhuǎn)成GMT字符串
var expirse_str = current_data.toGMTString();
//設(shè)置cookie過期日期
document.cookie = name+"="+value+"; path="+path+"; expires="+expirse_str;
}
function getCookie(name){
var str = document.cookie;
var start = str.indexOf(name+"=")+(name.length)+1;
end = str.indexOf(";",start);
end = end == -1 ? str.length : end;
val = str.substring(start,end);
return val;
}
1.2 參數(shù):cookie除了值,其余的屬性是只寫
| 屬性 | 描述 |
|---|---|
| name | 名字 |
| value | 值 |
| path | 指定cookie生效的路徑 / 全站,path=/seven/front" 表示只在front目錄下生效,包含其子目錄 |
| expirse | 設(shè)定cookie的生命期,它的值是一個字符串,需要把過期日期轉(zhuǎn)變成字符串toGMTString() |
1.3 特點(diǎn):
1.cookie是不安全的,可以被客戶端更改,因此不要用cookie來存儲重要或者敏感數(shù)據(jù)。所以:
將登陸信息等重要信息存放為SESSION;其他信息如果需要保留,可以放在COOKIE中
2.可以跨頁面獲取cookie
3. cookie并不能無限制的存儲,它是有限制的
(1) 數(shù)量:瀏覽器下的cookie數(shù)量不能超過100個
(2)每個服務(wù)器不能超過20個
(3) 所有的cookie包含他們的屬性所占據(jù)的數(shù)據(jù)大小不能超過4K
2. session
session其實(shí)指的就是訪問者從到達(dá)某個特定主頁到離開為止的那段時間。 Session其實(shí)是利用 Cookie進(jìn)行信息處理的,當(dāng)用戶首先進(jìn)行了請求后,服務(wù)端就在用戶瀏覽器上創(chuàng)建了一個
Cookie,當(dāng)這個Session結(jié)束時,其實(shí)就是意味著這個Cookie就過期了。session機(jī)制是一種服務(wù)器端的機(jī)制,服務(wù)器使用一種類似于散列表的結(jié)構(gòu)(也可能就是使用散列表)來保存信息。當(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ù)器。
注:為這個用戶創(chuàng)建的Cookie的名稱是aspsessionid。這個Cookie的唯一目的就是為每一個用戶提供不同的身份認(rèn)證。