摘要:是指瀏覽器儲(chǔ)存的少量數(shù)據(jù),同時(shí)也是與具體頁面有關(guān)的。需要設(shè)置有效期。擁有作用域,其作用域是通過文檔源和文檔路徑設(shè)置的。默認(rèn)情況下,和創(chuàng)建其的頁面有關(guān)。并對(duì)同目錄和其子目錄的其他頁面可見。的另外一個(gè)屬性為其為布爾值,用來表明通過哪種網(wǎng)絡(luò)傳遞。
cookie
cookie是指web瀏覽器儲(chǔ)存的少量數(shù)據(jù),同時(shí)也是與具體頁面有關(guān)的。
cookie會(huì)自動(dòng)在web服務(wù)器和web瀏覽器中傳輸。
cookie 是用來保存狀態(tài)的。即用戶登錄,一個(gè)網(wǎng)站如何判斷用戶登錄的時(shí)候,會(huì)直接通過從客戶端接收到的cookie來獲取的。cookie 屬性,有效期和作用域
除了名(name)和值(value),cokie持續(xù)有效時(shí)間很短,只能持續(xù)在web瀏覽器的會(huì)話期間。一旦用戶關(guān)閉瀏覽器,用戶保存的數(shù)據(jù)就全部丟失。cookie需要設(shè)置有效期。即設(shè)置max-age屬性,通過設(shè)置其屬性完成對(duì)cookie有效期的設(shè)置。
設(shè)置了有效期以后,cookie數(shù)據(jù)會(huì)儲(chǔ)存在一個(gè)文件中,直到過了指定的有效期才會(huì)刪除文件。
cookie擁有作用域,其作用域是通過文檔源和文檔路徑設(shè)置的。默認(rèn)情況下,cookie和創(chuàng)建其的web頁面有關(guān)。并對(duì)同目錄和其子目錄的其他web頁面可見。對(duì)父級(jí)目錄不可見。
一個(gè)栗子,當(dāng)用戶在頁面輸入了其電子郵件地址,需要保存下來,這個(gè)時(shí)候希望整個(gè)網(wǎng)站都使用其電子郵件地址,這個(gè)時(shí)候,通過設(shè)置cookie中的path屬性即可實(shí)現(xiàn)作用域?yàn)槿俊?br>如果將路徑設(shè)置為/ 即讓cookie和localStorage擁有同樣的作用域。同時(shí)當(dāng)其請(qǐng)求該站點(diǎn)上的任何一個(gè)web頁面的時(shí)候,瀏覽器都必須將cookie的名字和值傳遞給服務(wù)器。
這里需要注意一點(diǎn)的是,如果一個(gè)web頁面,想要讀取其他頁面的cookie,只需要隨便加載一個(gè)頁面,并使用iframe標(biāo)簽,即可讀取對(duì)應(yīng)文檔的cookie,此操作受到同源的限制。
如果需要子域名之間能共享cookie此時(shí)需要設(shè)置cookie的domain 如果沒有為一個(gè)cookie設(shè)置域?qū)傩?,那么domain屬性的默認(rèn)值為當(dāng)前web服務(wù)器的主機(jī)名。
cookie的另外一個(gè)屬性為secure 其為布爾值,用來表明通過哪種網(wǎng)絡(luò)傳遞。cookie默認(rèn)是不安全的傳遞,即可以通過http傳遞,一旦設(shè)置為true的時(shí)候,必須通過https進(jìn)行傳遞。
名稱 | 含義 |
---|---|
Name | 儲(chǔ)存的名稱 |
Value | 值 |
Domain | 用于域的共享,實(shí)現(xiàn)子域的互通 |
Path | 設(shè)置cookie的路徑 |
secure | 表明cookie是否以不安全的方式傳遞 |
cookie為鍵值對(duì)。
即需要按照以下的字符串進(jìn)行設(shè)置
name = value
如下所示
document.cookie = "version=" + encodeURIComponent(document.lastModified);
由于cookie中儲(chǔ)存的不允許包含分號(hào),逗號(hào),空白符,所以在儲(chǔ)存前使用encodeURIComponent()核心函數(shù)進(jìn)行編碼,解碼的時(shí)候使用encodeURIComponent()函數(shù)解碼
和POST中的請(qǐng)求體類似。
如果設(shè)置天數(shù),需要按照以下的字符串進(jìn)行設(shè)置
name = value; max-age = seconds
下面的函數(shù)是設(shè)置一個(gè)cookie的值
// 以名/值的形式儲(chǔ)存cookie // 同時(shí)采用JavaScript核心函數(shù)encodeURIComponent()函數(shù)進(jìn)行對(duì)值的編碼 // daysToLive的值為天 function setcookie(name, value, daysToLive) { var cookie = name + "=" + encodeURIComponent(value); // 如果傳入的天數(shù)為數(shù)字格式的 if (typeof daysToLive === "number") cookie += "; max-age=" + (daysToLive*60*60*24); // 由于上一個(gè)已經(jīng)是一條,需要使用; 來作為結(jié)束 document.cookie = cookie; // 將字符串傳入cookie }
同樣的如果想要 繼續(xù)設(shè)置cookie的值,還需要繼續(xù)在后面加上值
; path = path ; omainn = domain ; secure
如果要?jiǎng)h除cookie,需要設(shè)置同樣名字的即可完成。
讀取cookie因?yàn)樽x取的是一個(gè)字符串,所以需要使用split()方法將cookie的值中的名值對(duì)進(jìn)行分離。使用JSON.parse()將其轉(zhuǎn)化為JSON對(duì)象
// 將docuemnt.cookie 的值以名值對(duì)組成的一個(gè)對(duì)象返回 // 假設(shè)儲(chǔ)存cookie的值的時(shí)候是采用encodeURIComponent()函數(shù)進(jìn)行編碼的 function getcookie() { var cookie = {}; // 初始化要保存的對(duì)象 var all = document.cookie; // 在一個(gè)字符串中獲取cookie的值 if (all === "") return cookie; // 如果返回的是一個(gè)空對(duì)象 var list = all.split(";"); // 進(jìn)行分離 for(var i = 0; i < list.length; i++) { var cookie = list[i]; var p = cookie.indexOf("="); // 查詢第一個(gè)= var name = cookie.substring(0, p); // 獲取cookie的名字 var value = cookie.substring(p+1); // 獲取cookie對(duì)應(yīng)的值 value = decodeURIComponent(value); // 對(duì)其值進(jìn)行解碼 cookie[name] = value; // 將名/值對(duì)儲(chǔ)存到對(duì)象中 } return cookie; // 返回cookie }cookie的局限性
對(duì)cookie數(shù)量,大小有限制。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98027.html
摘要:保存中文上面我們的例子保存的是英文字符,下面我們來看下保存中文字符會(huì)怎么樣。出異常了中文屬于字符,英文數(shù)據(jù)字符,中文占個(gè)字符或者個(gè)字符,英文占個(gè)字符。如果為,則表示刪除該。的值規(guī)定為域名的隱私安全機(jī)制決定是不可跨域名的。 什么是會(huì)話技術(shù) 基本概念: 指用戶開一個(gè)瀏覽器,訪問一個(gè)網(wǎng)站,只要不關(guān)閉該瀏覽器,不管該用戶點(diǎn)擊多少個(gè)超鏈接,訪問多少資源,直到用戶關(guān)閉瀏覽器,整個(gè)這個(gè)過程我們稱為一...
摘要:追蹤記錄和分析用戶行為。屬性返回一個(gè)布爾值,表示瀏覽器是否打開功能不同瀏覽器對(duì)數(shù)量和大小的限制,是不一樣的。請(qǐng)求的發(fā)送瀏覽器向服務(wù)器發(fā)送請(qǐng)求時(shí),每個(gè)請(qǐng)求都會(huì)帶上相應(yīng)的。屬性必須為絕對(duì)路徑,默認(rèn)為當(dāng)前路徑。屬性值必須是當(dāng)前發(fā)送的域名的一部分。 概述Cookie 與 HTTP 協(xié)議HTTP 回應(yīng):Cookie 的生成HTTP 請(qǐng)求:Cookie 的發(fā)送Cookie 的屬性Expires,M...
摘要:首先先來一段總結(jié)用于本地?cái)?shù)據(jù)存儲(chǔ),出現(xiàn)在服務(wù)器和瀏覽器交互的響應(yīng)頭部和請(qǐng)求頭部中,受到單域名下的數(shù)量單個(gè)大小性能安全限制。子技術(shù)的出現(xiàn)緩解了單域名下的數(shù)量限制,關(guān)于子有一整套工具函數(shù)可以使用。 前言 本篇主要介紹Cookie技術(shù)的讀書總結(jié),但是我認(rèn)為邏輯上最好會(huì)和Web Storage技術(shù)放在一起進(jìn)行對(duì)比,因此后續(xù)會(huì)再總結(jié)一篇關(guān)于WEB存儲(chǔ)的姊妹總結(jié),敬請(qǐng)期待。 首先先來一段總結(jié):Co...
摘要:首先先來一段總結(jié)用于本地?cái)?shù)據(jù)存儲(chǔ),出現(xiàn)在服務(wù)器和瀏覽器交互的響應(yīng)頭部和請(qǐng)求頭部中,受到單域名下的數(shù)量單個(gè)大小性能安全限制。子技術(shù)的出現(xiàn)緩解了單域名下的數(shù)量限制,關(guān)于子有一整套工具函數(shù)可以使用。 前言 本篇主要介紹Cookie技術(shù)的讀書總結(jié),但是我認(rèn)為邏輯上最好會(huì)和Web Storage技術(shù)放在一起進(jìn)行對(duì)比,因此后續(xù)會(huì)再總結(jié)一篇關(guān)于WEB存儲(chǔ)的姊妹總結(jié),敬請(qǐng)期待。 首先先來一段總結(jié):Co...
閱讀 2470·2021-09-28 09:36
閱讀 3612·2021-09-22 15:41
閱讀 4418·2021-09-04 16:45
閱讀 2013·2019-08-30 15:55
閱讀 2853·2019-08-30 13:49
閱讀 834·2019-08-29 16:34
閱讀 2379·2019-08-29 12:57
閱讀 1691·2019-08-26 18:42