一、Cookie是什么意思
cookie有時候也用復數形式Cookies,指某些網站為辨別用戶身份、進行Session跟蹤而儲存在用戶本地終端上的數據(通常經過加密),由用戶客戶端計算機暫時或永久保存。簡單來說,它能讀取保存用戶訪問網站時的行為信息,如訪問網頁時提示是否保存用戶名和密碼,下次登錄可自動登錄。
二、Cookie的分類
1. 按在客戶端中的存儲位置
可分為內存Cookie和硬盤Cookie。內存Cookie由瀏覽器維護,保存在內存中,瀏覽器關閉即消失,存在時間短暫;硬盤Cookie保存在硬盤里,有過期時間,除非用戶手動清理或到了過期時間,否則不會清除,存在時間較長。所以,按存在時間,可分為非持久Cookie和持久Cookie。
2. 根據存在時間和來源
| 特性 | 第一方 Cookie | 第三方 Cookie |
|---|---|---|
3. 會話 Cookie vs. 持久 Cookie
| 特性 | 會話 Cookie | 持久 Cookie |
|---|---|---|
三、Cookie的工作原理
Cookie是服務器或腳本在HTTP協議下維護客戶端工作站信息的一種方式,是web服務器保存在用戶瀏覽器(客戶端)上的小文件,可能包含用戶登錄信息、訪問信息等數據。用戶連接服務器時,網站可訪問cookie信息。
用戶第一次訪問并登陸網站時,cookie設置及發送經歷4個步驟:客戶端發送請求到服務器 → 服務器發送包含Set - Cookie頭部的HttpResponse響應到客戶端 → 客戶端保存cookie,之后向服務器發送請求時,HttpRequest請求中包含Cookie頭部 → 服務器返回響應數據。
許多網站開發人員用cookie技術跟蹤用戶訪問數據、分析偏好、調整“推薦算法”,廣泛應用于會話對象。Cookie數據對搜索引擎重要,蜘蛛程序抓取緩存數據判斷網頁質量并評分。
Cookie文件需瀏覽器支持,可在瀏覽器中設置阻止cookie,多數瀏覽器(如谷歌、IE、火狐)支持cookie,一般不能阻止,因有時訪問網站必須使用。
四、Cookie設置
瀏覽器設置cookie功能的一般方法為:
- 在IE頁面的右上角點擊"工具"按鈕。
- 彈出下拉菜單,選擇"internet選項"。
- 打開"internet選項"后,選擇"隱私"按鈕,設置為中。
- 點擊"高級",彈出對話框,勾選"替代自動cookie處理",勾選"總是允許會話cookie"。
- 點擊確定,瀏覽器cookie功能啟用。
五、Cookie的作用
存儲cookie是瀏覽器功能,cookie是存儲在瀏覽器中的純文本,瀏覽器安裝目錄下有專門文件夾存放。其主要作用是跟蹤記錄用戶對網頁設置的修改,下次訪問時網頁分析cookie返回個性化網頁。
具體作用如下:
- 會話狀態管理(如用戶登錄狀態、購物車、游戲分數或其它需要記錄的信息);
- 個性化設置(如用戶自定義設置、主題等);
- 瀏覽器行為跟蹤(如跟蹤分析用戶行為等)。
Cookie曾是客戶端數據唯一存儲手段,現因帶來性能開銷(尤其在移動環境)逐漸被淘汰。新瀏覽器API允許開發者直接將數據存儲到本地,如使用Web storage API(本地存儲和會話存儲)或IndexedDB。
六、如何刪除Cookie
- 在瀏覽器的更多設置功能選項中找到互聯網選項或清除瀏覽記錄選項,打開后有cookie清洗選項,選擇可刪除。
- 若只需刷新當前頁面,按鍵盤ctrl + f5,強制刷新頁面,相當于刪除緩存重新刷新。
七、Cookie的安全問題
Cookie技術誕生后,成為網絡用戶和網絡開發者爭論焦點。一些網絡用戶和資深Web專家對其不滿意,不是因功能弱或技術性能問題,而是因Cookie使用危害網絡用戶隱私,它是網絡服務器保存在用戶瀏覽器上的小文本文件,包含用戶信息。
八、Cookie的缺陷
- Cookie會被附加在每個HTTP請求中,增加流量。
- HTTP請求中的Cookie明文傳遞,安全性差,除非使用超文本傳輸安全協定。
- Cookie大小限制在4KB左右,復雜存儲需求不夠用。
九、Cookie和session的區別
- 存儲位置不同:cookie數據信息存放在客戶端瀏覽器上;session數據信息存放在服務器上。
- 存儲容量不同:單個cookie保存數據≤4KB,一個站點最多保存20個Cookie;session無上限,但出于服務器性能考慮,不要存放過多東西并設置刪除機制。
- 存儲方式不同:cookie只能保管ASCII字符串,需編碼存儲Unicode字符或二進制數據;session能存儲任何類型數據,包括string,integer,list,map等。
- 隱私策略不同:cookie對客戶端可見,不安全,可能被分析欺騙;session存儲在服務器上,對客戶端透明,無敏感信息泄漏風險。
- 有效期不同:開發可設置cookie屬性使其長期有效;session依賴名為JSESSIONID的cookie,其過期時間默認為 - 1,關閉窗口session失效,不能長期有效。
- 服務器壓力不同:cookie保管在客戶端,不占服務器資源,并發用戶多的網站是不錯選擇;session保管在服務器端,每個用戶產生一個session,并發訪問用戶多會產生大量session,耗費大量內存。
- 瀏覽器支持不同:若客戶端瀏覽器不支持cookie,會話跟蹤失效,WAP應用常規cookie無用,運用session需URL地址重寫;若客戶端支持cookie,可設為本瀏覽器窗口及子窗口或所有窗口內有效,session只能在本窗口及子窗口內有效。
- 跨域支持不同:cookie支持跨域名訪問;session不支持跨域名訪問。
用戶1
2024/8/13 15:31:11seo轉化率是什么