什麼是Cookie?瀏覽器
Cookie其實是一小段的文本信息,客戶端請求服務器,若是服務器須要記錄該用戶狀態,就使用 response 向客戶端瀏覽器頒發一個Cookie。客戶端會把Cookie存起來,當瀏覽器再請求該網站時,瀏覽器把請求的網址連同該Cookie一同提交給服務器,服務器檢查該Cookie,以此來辨認用戶狀態,服務器也可根據需求修改Cookie的內容;安全
Cookie的優缺點服務器
優勢:cookie
1.極高的擴展性和可用性session
能夠控制保存在cookie中的session對象的大小;dom
經過加密和安全傳輸技術(SSL),減小Cookie被破解的可能性;性能
只在Cookie中存放不敏感數據,被盜不會有重大損失;網站
控制Cookie的生命期,使之不會永遠有效,偷盜者可能會拿到一個過時的Cookie;加密
基於文本輕量結構;對象
Cookie存儲在客戶端並在發送後由服務器讀取;
缺點:
1.Cookie 數量和長度的限制
每一個domain最多隻能有20條cookie,每一個cookie的長度不能超過4KB,不然被截掉;
2.安全性
Cookie可能被攔截、篡改。若是Cookie被人攔截了,那人就能夠取得全部的session信息
3.有些狀態不可能保存在客戶端
例:防止重複提交表單,在服務端保存計數器,若是將此計數器保存在客戶端,無用。
延伸:
Cookie 和 session 的區別
1. cookie數據 ==》 客戶的瀏覽器
session數據 ==》 服務器
2.Cookie不是很安全,別人能夠分析存放在本地的Cookie並進行Cookie欺騙,考慮到安全應當使用session
3.session會在必定時間內保存在服務器上,當訪問增多,會比較佔用服務器的性能,考慮到減輕服務器性能方面,應當使用Cookie
4.單個Cookie數據不能超過4K,不少瀏覽器都限制一個站點最多保存20個Cookie
建議:
登陸信息等重要信息存放session
其餘信息若是要保留,能夠放在Cookie