1、Cookie與Session
Cookie:
Cookie的處理分為如下幾步:
(1)服務(wù)器向客戶端發(fā)送Cookie
(2)瀏覽器將Cookie保存
(3)之后每次瀏覽器都會(huì)將Cookie發(fā)向服務(wù)器端
缺點(diǎn):
(1)除非Cookie過期,否則客戶端每次請(qǐng)求都會(huì)發(fā)送這個(gè)Cookie到服務(wù)器端,一旦設(shè)置的Cookie過多,將會(huì)導(dǎo)致報(bào)頭較大,造成帶寬的部分浪費(fèi)
(2)Cookie可以在前后端進(jìn)行修改,因此數(shù)據(jù)就極容易被篡改和偽造
Session
Session的數(shù)據(jù)只保留在服務(wù)器端,客戶端無法修改
如何將每個(gè)客戶和服務(wù)器中的數(shù)據(jù)一一對(duì)應(yīng)起來,這里有常見的兩種實(shí)現(xiàn)方式:
第一種:基于Cookie來實(shí)現(xiàn)用戶和數(shù)據(jù)的映射
雖然將所有數(shù)據(jù)都放在Cookie中不可取,但是將口令放在Cookie中還是可以的。因?yàn)榭诹钜坏┍淮鄹?,就丟失了映射關(guān)系,也無法修改服務(wù)器端存在的數(shù)據(jù)了。并且Session的有效期通常較短,普遍的設(shè)置是20分鐘,如果在20分鐘內(nèi)客戶端和服務(wù)器端沒有交互產(chǎn)生,服務(wù)器端就將數(shù)據(jù)刪除。由于數(shù)據(jù)過期時(shí)間較短,且在服務(wù)器端存儲(chǔ)數(shù)據(jù),因此安全性相對(duì)較高
第二種:通過查詢字符串來實(shí)現(xiàn)瀏覽器和服務(wù)器端數(shù)據(jù)的對(duì)應(yīng)
它的原理是檢查請(qǐng)求的查詢字符串,如果沒有值,會(huì)先生成新的帶值的URL,然后形成跳轉(zhuǎn),讓客戶端重新發(fā)起請(qǐng)求