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