×

網(wǎng)站的cookie機(jī)制是什么

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-02-26 17:55:25

cookie與session應(yīng)用于互聯(lián)網(wǎng)中的一項(xiàng)基本技術(shù)——會(huì)話(用戶與客戶端的交互)跟蹤技術(shù),用來(lái)跟蹤用戶的整個(gè)會(huì)話。簡(jiǎn)單來(lái)說(shuō),cookie是通過(guò)在客戶端記錄信息確定用戶身份的,而session則通過(guò)在服務(wù)器端記錄信息確定用戶身份。

 cookie與session應(yīng)用于互聯(lián)網(wǎng)中的一項(xiàng)基本技術(shù)——會(huì)話(用戶與客戶端的交互)跟蹤技術(shù),用來(lái)跟蹤用戶的整個(gè)會(huì)話。簡(jiǎn)單來(lái)說(shuō),cookie是通過(guò)在客戶端記錄信息確定用戶身份的,而session則通過(guò)在服務(wù)器端記錄信息確定用戶身份。

90140845.jpg
cookie
 
定義
 
cookie是服務(wù)器傳給客戶端的體積很小的純文本文件。客戶端請(qǐng)求服務(wù)器,如果服務(wù)器需要記錄該用戶狀態(tài),就向客戶端瀏覽器發(fā)一個(gè)cookie??蛻舳藶g覽器會(huì)把cookie保存起來(lái)。當(dāng)瀏覽器再請(qǐng)求該網(wǎng)站時(shí),瀏覽器把請(qǐng)求的網(wǎng)址連同該cookie一同提交給服務(wù)器。服務(wù)器檢查該cookie,以此來(lái)辨認(rèn)用戶狀態(tài)。
 
cookie機(jī)制
 
cookie的生成(java代碼舉例):
 
Cookie cookie = new Cookie(“key”,”value”);
 
cookie.setMaxAge(60); //設(shè)置cookie的生存期60秒
 
cookie.setPath(“/test”);//設(shè)置cookie的路徑
 
cookie會(huì)附在請(qǐng)求資源的HTTP請(qǐng)求頭上發(fā)送給服務(wù)器,服務(wù)器通過(guò)相應(yīng)方法獲得該cookie。
 
cookie屬性
 
cookie的主要屬性包括:名字,值,過(guò)期時(shí)間,路徑和域:
 
路徑與域一起構(gòu)成cookie的作用范圍。
 
過(guò)期時(shí)間:對(duì)于會(huì)話cookie,如果不設(shè)置過(guò)期時(shí)間,表示這個(gè)cookie的生命期為瀏覽器的會(huì)話期間,關(guān)閉瀏覽器窗口,cookie就消失了,會(huì)話cookie一般保存在內(nèi)存里。對(duì)于持久cookie,設(shè)置了過(guò)期時(shí)間,瀏覽器會(huì)把cookie保存在硬盤上,存儲(chǔ)在硬盤上的cookie會(huì)在不同的瀏覽器進(jìn)程間共享。
 
名字:就是給cookie起一個(gè)名字。
 
值:cookie中記錄的信息內(nèi)容。
 
應(yīng)用場(chǎng)景
 
判斷注冊(cè)用戶是否已經(jīng)登錄網(wǎng)站:用戶可能會(huì)得到提示,是否在下一次進(jìn)入此網(wǎng)站時(shí)保留用戶信息以便簡(jiǎn)化登錄流程。
 
根據(jù)用戶的愛(ài)好定制內(nèi)容:網(wǎng)站創(chuàng)建包含用戶瀏覽內(nèi)容的cookies,在用戶下次訪問(wèn)時(shí),網(wǎng)站根據(jù)用戶的情況對(duì)顯示的內(nèi)容進(jìn)行調(diào)整,將用戶感興趣的內(nèi)容放在前列。
 
實(shí)現(xiàn)永久登錄:如果用戶是在自己家的電腦上上網(wǎng),登錄時(shí)就可以記住他的登錄信息,下次訪問(wèn)時(shí)不需要再次登錄,直接訪問(wèn)即可。
 
實(shí)現(xiàn)自動(dòng)登錄:當(dāng)用戶注冊(cè)網(wǎng)站后,就會(huì)收到一個(gè)惟一用戶ID的cookie。用戶再次連接時(shí),這個(gè)用戶ID會(huì)自動(dòng)返回,服務(wù)器對(duì)它進(jìn)行檢查,確定它是否是注冊(cè)用戶且選擇了自動(dòng)登錄,從而使用戶無(wú)需給出明確的用戶名和密碼,就可以訪問(wèn)服務(wù)器上的資源。
 
使用cookie記錄各個(gè)用戶的訪問(wèn)計(jì)數(shù):獲取cookie數(shù)組中專門用于統(tǒng)計(jì)用戶訪問(wèn)次數(shù)的cookie的值,將值加1并將最新cookie輸出。
 
使用cookie記住用戶名與用戶密碼。用戶勾選了“自動(dòng)登錄”,就把用戶名和密碼的信息放到cookie中。同時(shí)可設(shè)置有效期。
 
用cookie實(shí)現(xiàn)新手大禮包等彈窗功能。同理,將新手大禮包彈窗邏輯寫(xiě)入到cookie中,并設(shè)置相應(yīng)的有效期。比如在有效期內(nèi)只彈出一次該彈窗,超過(guò)有效期登錄后再次彈出彈窗。
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading