亚洲农村老熟妇肥BBBB_无码人妻精品一区二区蜜桃色_精品亚洲AⅤ无码午夜在线观看_中文字幕熟妇人妻在线视频_囯产色无码精品视频免费

當(dāng)前位置: 首頁 > 科技新聞 >

瀏覽器Cookie介紹

時間:2020-06-01 17:28來源:網(wǎng)絡(luò)整理 瀏覽:
Web應(yīng)用程序是使用HTTP協(xié)議傳輸完成的。HTTP協(xié)議是無狀態(tài)的協(xié)議。當(dāng)數(shù)據(jù)交換完畢以后,客戶端與服務(wù)器端的連接就會關(guān)閉。當(dāng)再次交換數(shù)據(jù)的

Web應(yīng)用程序是使用HTTP協(xié)議傳輸完成的。HTTP協(xié)議是無狀態(tài)的協(xié)議。當(dāng)數(shù)據(jù)交換完畢以后,客戶端與服務(wù)器端的連接就會關(guān)閉。當(dāng)再次交換數(shù)據(jù)的時候需要重新建立新的連接。這就意味著服務(wù)器無法從連接上跟蹤會話。

大家應(yīng)該都有這樣的經(jīng)歷,當(dāng)你登錄一個網(wǎng)站的時候會提醒你要不要記住賬戶和密碼,這樣下次來你就不用再次輸入賬號和密碼了。這就是Cookie的作用,當(dāng)我們再次訪問的時候,方便服務(wù)器直接根據(jù)我們的Cookie直接來取上一次我們?nèi)∵^的東西(對于每一個Cookie服務(wù)器會對這個Cookie存儲上一次我們拿過的數(shù)據(jù),下一次對于同一個Cookie的時候,就直接取了)

什么是Cookie?


瀏覽器Cookie介紹

Cookie是由服務(wù)器端生成的,發(fā)送給User-Agent(一般是瀏覽器),這個時候服務(wù)器會告訴瀏覽器要設(shè)置一下Cookie,瀏覽器自動將Cookie以Key/Value(鍵值對)的方式保存在某個目錄下的文本文件內(nèi),下次請求同一個網(wǎng)站時也會自動發(fā)送該Cookie給服務(wù)器,即添加在請求頭部(但是前提時瀏覽器設(shè)置為啟用Cookie)

Cookie就是一個小型文件(瀏覽器對Cookie的內(nèi)存大小是有限制的,Cookie的大小一般是4K---用來記錄一些信息)

Cookie具有保質(zhì)期

Cookie即有永久的也含有臨時的,每一個瀏覽器都含有自己的Cookie,每次請求的時候,都會根據(jù)domain來發(fā)送響應(yīng)的Cookie,也可以通過設(shè)置expires 、max-age來設(shè)定保存日期,不設(shè)置的話默認(rèn)是臨時存儲,即關(guān)閉瀏覽器就消失。

document.cookie='expires=時間/max-age=秒'

Cookie的安全性

Cookie在本地可以被更改文件 敏感的數(shù)據(jù)不要放在Cookie里。

如何設(shè)置 cookie?

知道了cookie的格式,cookie的屬性選項,接下來我們就可以設(shè)置cookie了。首先得明確一點:cookie既可以由服務(wù)端來設(shè)置,也可以由客戶端來設(shè)置。

服務(wù)端設(shè)置 cookie

不管你是請求一個資源文件(如 html/js/css/圖片),還是發(fā)送一個ajax請求,服務(wù)端都會返回response。而response header中有一項叫set-cookie,是服務(wù)端專門用來設(shè)置cookie的。如下圖所示,服務(wù)端返回的response header中有5個set-cookie字段,每個字段對應(yīng)一個cookie(注意不能將多個cookie放在一個set-cookie字段中),set-cookie字段的值就是普通的字符串,每個cookie還設(shè)置了相關(guān)屬性選項。

瀏覽器Cookie介紹

注意:

一個set-Cookie字段只能設(shè)置一個cookie,當(dāng)你要想設(shè)置多個 cookie,需要添加同樣多的set-Cookie字段。

服務(wù)端可以設(shè)置cookie 的所有選項:expires、domain、path、secure、HttpOnly

客戶端設(shè)置 cookie

在網(wǎng)頁即客戶端中我們也可以通過js代碼來設(shè)置cookie。如我當(dāng)前打開的網(wǎng)址為http://dxw.st.sankuai.com/mp/,在控制臺中我們執(zhí)行了下面代碼:

document.cookie = "name=Jonh; ";

瀏覽器Cookie介紹

再執(zhí)行下面代碼:

document.cookie="age=12; expires=Thu, 26 Feb 2116 11:50:25 GMT; domain=sankuai.com; path=/";

查看瀏覽器cookie 面板,如下圖所示,新的cookie設(shè)置成功了,而且屬性選項 domain、path、expires都變成了設(shè)定的值。

注意:

客戶端可以設(shè)置cookie 的下列選項:expires、domain、path、secure(有條件:只有在https協(xié)議的網(wǎng)頁中,客戶端設(shè)置secure類型的 cookie 才能成功),但無法設(shè)置HttpOnly選項。

用 js 如何設(shè)置多個 cookie

當(dāng)要設(shè)置多個cookie時, js 代碼很自然地我們會這么寫:

document.cookie = "name=Jonh; age=12; class=111";

但你會發(fā)現(xiàn)這樣寫只是添加了第一個cookie“name=John”,后面的所有cookie都沒有添加成功。所以最簡單的設(shè)置多個cookie的方法就在重復(fù)執(zhí)行document.cookie = "key=name",如下:

document.cookie = "name=Jonh";

document.cookie = "age=12";

document.cookie = "class=111“,

如何修改、刪除

修改 cookie

要想修改一個cookie,只需要重新賦值就行,舊的值會被新的值覆蓋。但要注意一點,在設(shè)置新cookie時,path/domain這幾個選項一定要舊cookie 保持一樣。否則不會修改舊值,而是添加了一個新的 cookie。

刪除 cookie

刪除一個cookie 也挺簡單,也是重新賦值,只要將這個新cookie的expires 選項設(shè)置為一個過去的時間點就行了。但同樣要注意,path/domain/這幾個選項一定要舊cookie 保持一樣。

推薦內(nèi)容