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