作者:取個帥氣的名字真好
cookie是存在瀏覽器上的一小段數(shù)據(jù)。用來記錄某系頁面關閉或者刷新后仍需要記錄的信息。
cookie可以使用js在瀏覽器直接設置,也可以在服務器端使用HTTP協(xié)議規(guī)定的set-cookie來設置。
一般cookie的容量為4k左右。
document.cookie查看當前瀏覽網(wǎng)站的cookie
domain:域名。(domain和Path加起來構成URL,一起限制cookie能被哪些URl訪問)
Path:cookie影響到的路徑,匹配路徑才可以發(fā)送cookie。
secure:當secure為true是,cookie在HTTP中無效,在HTTPS中有效。
httpOnly:瀏覽器不允許腳本操作document.cookie去修改cookie。(一般都設置為true,可以避免xss攻擊拿到cookie)
Expires和Max-Age:cookie什么時間內(nèi)有效。過期時間(Expires)和有效期(Max-Age)。
情況1:不設置Expires和Max-Age會發(fā)生什么?
瀏覽器會在你關閉頁面的時候自動清除cookie。
情況2:同時設置Expires和Max-Age會發(fā)生什么?
所有支持Max-Age的瀏覽器會忽略Expires的值。只有IE會忽略Max-Age支持Expires。
情況3:只設置Max-Age會怎樣?
除了IE之外的所有瀏覽器會正確的使用它,在IE中,這個Cookie將會作為一個Session Cookie(當你關閉瀏覽器時它會被刪除)
情況4:只設置Expires會怎樣?
所有瀏覽器會正確的使用它保存Cookie。
1、會話狀態(tài)管理(如用戶登錄狀態(tài)、購物車、游戲分數(shù)、其它需要記錄的信息)
2、個性化設置(如用戶自定義設置、主題等)
3、精準廣告。(平常瀏覽網(wǎng)頁時有時會推出商品剛好是你最近瀏覽過,買過的類似東西,這些是通過cookie記錄的。)
session機制是一種服務器端的機制。
創(chuàng)建session后,會把關聯(lián)的session_id通過setCookie添加到http響應頭部中。
瀏覽器在加載頁面時發(fā)現(xiàn)響應頭有set-cookie字段,就把這個cookie種到瀏覽器指定的域名下。
當下次刷新頁面時,發(fā)送的請求會帶上這條cookie,服務器在接受到后根據(jù)session_idl來識別用戶。
注意:
cookie是存儲在瀏覽的數(shù)據(jù)
session是讓服務器是被某個用戶的機制。
session實現(xiàn)的過程中需要使用到cookie
session保存信息的手段是多種的:緩存,數(shù)據(jù)庫,文件等;默認是文件形式保存
sessionStorage是用于本地存儲的一個會話(session)中的數(shù)據(jù)。這些數(shù)據(jù)只有在同一個會話的頁面中才能訪問且當會話結束后數(shù)據(jù)也會隨之銷毀。
sessionStorage.setItem('key', 'value'); //保存數(shù)據(jù)到sessionStorag(添加)
sessionStorage.getItem('key'); //獲取key的value值
sessionStorage.removeItem('key'); //刪除key已經(jīng)value值
sessionStorage.clear(); //刪除所有key和value
sessionStorage.length; //sessionStorage的項目數(shù)
注意:sessionStorage與localStorage一樣,都可用setItem、getItem、removeItem、clear、length。
1、loctlStorage HTML5本地存儲web storage特性的API之一,用于大量數(shù)據(jù)保存在瀏覽器中,數(shù)據(jù)永遠不會失效,除非用js手動清除。
2、不參與網(wǎng)絡傳輸。
3、一般用于性能優(yōu)化,可以保存圖片、js、css、html模板、大量數(shù)據(jù)。
4、語法跟sessionStorage一樣。
1、Session 在服務器端,Cookie在客戶端(瀏覽器)
2、Session默認被存在服務器的一個文件里(不是內(nèi)存)
3、Session的運行依賴session_id,而session_id是存在Cookie中的,也就說瀏覽器禁用了Cookie,同時Session也會失效(但可以通過其它方式實現(xiàn),如:url中傳遞session_id)
4、Session可以放在 文件、數(shù)據(jù)庫、內(nèi)存中都可以。
5、無論數(shù)據(jù)存儲在 localStorage 還是 sessionStorage ,它們都特定于頁面的協(xié)議。
近期熱文
如有侵權,請及時聯(lián)系
聯(lián)系客服