摘要:使用發送,具體來說是名為的由瀏覽器發送到服務器,又從服務器發送到瀏覽器。也可以對應唯一的子域名。例如,是網站的一個獨立的子域名。
概述
雖說在現代Web開發過程中討論Cookie有些不合時宜,但是這是開發人員如今可以使用的最古老、最穩定的客戶端存儲形式。當然,我們并不推薦使用Cookie,只是說它是一種選擇。
Cookie于1994年在Netscape瀏覽器的Beta版本中被引入。它通過隨HTTP請求和響應一起發送的HTTP header值發揮作用。眾所周知,每當瀏覽器請求一個資源,就會有一組header隨請求一起發送。那些header包含各種類型的數據,其中包括有關瀏覽器的信息以及它需要的數據形式。反過來,服務器也會往回發送header。
Cookie使用HTTP header發送,具體來說是名為Cookie的HTTP header,由瀏覽器發送到服務器,又從服務器發送到瀏覽器。你會發現這里有個問題。如果使用客戶端存儲的一個好處是不用通過網絡發送數據,那么來回發送Cookie不是反其道而行之嗎?這也是上面提到的不建議使用Cookie的另一個原因。
默認情況下,瀏覽器沒有限制可以擁有的Cookie數量。以前,每個域名最多只能有20個Cookie,但如今的瀏覽器似乎丟掉了這個限制。
Cookie對應唯一的域名。這意味著在foo.com上設置的Cookie值不能用于goo.com.這樣很好,因為你不會希望其他網站影響你在自己的網站上使用Cookie。
Cookie也可以對應唯一的子域名。例如,app.foo.com是Foo網站的一個獨立的子域名。你可以創建只有app.foo.com可以讀取的Cookie,也可以創建www.foo.com和app.foo.com都可以讀取的Cookie。
更復雜的做法是創建只對特定路徑有效的Cookie。所以,你可能希望創建只有foo.com/app可見的Cookie。
最后,你可以創建只對網站的安全(HTTPS)版本有效的Cookie。顯然,選用哪種方案取決于應用程序的用途,以及你認為哪里需要Cookie值。
除了設置Cookie出現的地方,還可以指定Cookie的有效時間。
只在當前會話期間存在的Cookie(從根本上說是直到瀏覽器關閉)
永遠存在的Cookie
存在特定時長的Cookie
特定時間點之后失效的Cookie
使用方法Cookie沒有API。要使用Cookie,只需在代碼中訪問document.cookie對象。例如,可以像下面一樣創建一個Cookie.
document.cookie = "name=zuckjet"
Cookie值必須符合URL編碼規則,這意味著如果想動態定義Cookie,那么就需要使用類似encodeURIComponent的輔助函數。
下面這段代碼世家還是那個創建了兩個Cookie,而不是一個。
document.cookie = "name=zuckberg"; document.cookie = "age=18";
在Cookie值后面使用一個分號可以追加元數據:
documen.cookie = "name=zuckjet;expires=xxx;domain=xxx"
當我們不指定元數據時,Cookie默認只對當前域名的當前路徑有效,有效期是當前會話。
讀取Cookie讀取Cookie多少簡單一些--這取決于你對字符串的解析程度。沒有API可以用來獲取一個Cookie。不過,你只需要簡單地讀取document.cookie就可以了。這樣你可以獲取特定網站的Cookie。比如,segmentfault的cookie值如下:
讀取一個Cookie就意味著將字符串解析成多個有分號分隔的部分。另外還要注意,你無法訪問任何元數據。通過document.cookie值無法獲取這類信息。
刪除Cookie要刪除Cookie,只需要將其過期時間設置成過去的時間即可。從技術上講,這個時間值無關緊要,但名稱必須與你想要刪除的Cookie名稱一致。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/51847.html
摘要:保存中文上面我們的例子保存的是英文字符,下面我們來看下保存中文字符會怎么樣。出異常了中文屬于字符,英文數據字符,中文占個字符或者個字符,英文占個字符。如果為,則表示刪除該。的值規定為域名的隱私安全機制決定是不可跨域名的。 什么是會話技術 基本概念: 指用戶開一個瀏覽器,訪問一個網站,只要不關閉該瀏覽器,不管該用戶點擊多少個超鏈接,訪問多少資源,直到用戶關閉瀏覽器,整個這個過程我們稱為一...
摘要:最近在研究,學著使用,開始不會用,就百度了一下,沒有百度到特別完整的解答。查閱了的,綜合了網友的博客,解讀了的源碼,以及使用和驗證,終于明白了中的使用。默認為網站域名過期時間,類型為。使用插件,后續代碼直接使用或者即可 最近在研究express,學著使用cookie,開始不會用,就百度了一下,沒有百度到特別完整的解答。查閱了express的API,綜合了網友的博客,解讀了cookie-...
摘要:首先先來一段總結用于本地數據存儲,出現在服務器和瀏覽器交互的響應頭部和請求頭部中,受到單域名下的數量單個大小性能安全限制。子技術的出現緩解了單域名下的數量限制,關于子有一整套工具函數可以使用。 前言 本篇主要介紹Cookie技術的讀書總結,但是我認為邏輯上最好會和Web Storage技術放在一起進行對比,因此后續會再總結一篇關于WEB存儲的姊妹總結,敬請期待。 首先先來一段總結:Co...
摘要:首先先來一段總結用于本地數據存儲,出現在服務器和瀏覽器交互的響應頭部和請求頭部中,受到單域名下的數量單個大小性能安全限制。子技術的出現緩解了單域名下的數量限制,關于子有一整套工具函數可以使用。 前言 本篇主要介紹Cookie技術的讀書總結,但是我認為邏輯上最好會和Web Storage技術放在一起進行對比,因此后續會再總結一篇關于WEB存儲的姊妹總結,敬請期待。 首先先來一段總結:Co...
閱讀 25638·2021-09-29 09:41
閱讀 4799·2021-09-10 11:20
閱讀 1925·2021-09-09 09:32
閱讀 1888·2019-08-30 15:44
閱讀 3195·2019-08-29 17:13
閱讀 2813·2019-08-29 14:14
閱讀 2067·2019-08-29 14:11
閱讀 3230·2019-08-29 12:36