用户与服务器的交互:cookies
一、cookies由來
cookies是用戶與服務(wù)器交互的一種重要手段,如今許多Web站點(diǎn)都使用了cookies技術(shù)。有的站點(diǎn)不使用這種技術(shù)甚至無法訪問。
前面說過在Web應(yīng)用中可以使用HTTP協(xié)議在客戶機(jī)和服務(wù)器之間請(qǐng)求和響應(yīng)報(bào)文的傳輸,但是如果要進(jìn)一步提高交互的友好性,僅僅使用傳統(tǒng)的HTTP協(xié)議是遠(yuǎn)遠(yuǎn)不夠的。例如我想在一定程度上實(shí)現(xiàn)有狀態(tài)的HTTP協(xié)議,那么這就無法完成。所以后來人們開發(fā)了一些技術(shù)來提高交互的可用性和友好性。cookies就是其中一種。
二、cookies的四個(gè)重要組件
(1)在http響應(yīng)報(bào)文中的首部行含有cookie
(2)在下一條http請(qǐng)求報(bào)文中的首部行含有cookie
(3)用戶主機(jī)中有保存的cookie文件并被用戶瀏覽器管理
(4)Web站點(diǎn)的后端數(shù)據(jù)庫(kù)中也保存著cookie信息
三、cookies作用:跟蹤用戶
下面舉個(gè)例子:
詳細(xì)如下圖:
小王的電腦上有些cookie文件,第一次訪問亞馬遜時(shí),亞馬遜會(huì)創(chuàng)建一個(gè)ID,例如1678,然后放在后端的數(shù)據(jù)庫(kù)里面,同時(shí)它給小王發(fā)送響應(yīng)報(bào)文時(shí)在響應(yīng)報(bào)文的頭部有一個(gè)set-cookie字段,值為1678,當(dāng)小王的瀏覽器收到響應(yīng)報(bào)文后,它就會(huì)把1678這樣的ID以及對(duì)應(yīng)站點(diǎn)的信息amazon放到cookie文件里面。過了一段時(shí)間當(dāng)小王再次訪問亞馬遜時(shí),在請(qǐng)求報(bào)文里面會(huì)帶上cookie這個(gè)首部,而cookie的值為1678,當(dāng)亞馬遜服務(wù)器收到請(qǐng)求報(bào)文后就會(huì)知道是小王,這樣就達(dá)到了跟蹤用戶的目的。
四、cookies應(yīng)用
cookies帶來了很多方便和便利的地方。常見的有:
(1)身份認(rèn)證:例如我們?cè)诘卿浤硞€(gè)網(wǎng)站時(shí)填寫登錄表單,只填寫一次即可。
(2)用戶會(huì)話狀態(tài)恢復(fù):將上次訪問的會(huì)話狀態(tài)記錄下來,等下次再訪問的時(shí)候可以恢復(fù)到上次的狀態(tài),而不需要重頭開始。
(3)虛擬購(gòu)物車:例如我們?cè)诠涮詫殨r(shí)看到心儀的商品會(huì)加入到購(gòu)物車中,等到下一次重新打開時(shí)購(gòu)物車?yán)锏臇|西不會(huì)消失。
(4)推薦廣告:廣告公司通過網(wǎng)站獲得信息,為他們的廣告投放提供便利。
總結(jié)
以上是生活随笔為你收集整理的用户与服务器的交互:cookies的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python学习:函数
- 下一篇: Web缓存