Cookie的介紹和使用

2021-07-14 15:03:34 字數 1496 閱讀 5625

設定cookie

每個cookie都是乙個名/值對,可以把下面這樣乙個字串賦值給document.cookie:

document.cookie="userid=828";

如果要一次儲存多個名/值對,可以使用分號加空格(; )隔開,例如:

document.cookie="userid=828; username=hulk";

在cookie的名或值中不能使用分號(;)、逗號(,)、等號(=)以及空格。在cookie的名中做

到這點很容易,但要儲存的值是不確定的。如何來儲存這些值呢?方法是用escape()函式進行編

碼,它能將一些特殊符號使用十六進製制表示,例如空格將會編碼為「20%」,從而可以儲存於

cookie值中,而且使用此種方案還可以避免中文亂碼的出現。例如:

document.cookie="str="+escape("i love ajax");

相當於:

document.cookie="str=i%20love%20ajax";

當使用escape()編碼後,在取出值以後需要使用unescape()進行解碼才能得到原來的cookie值,

這在前面已經介紹過。

儘管document.cookie看上去就像乙個屬性,可以賦不同的值。但它和一般的屬性不一樣,改變

它的賦值並不意味著丟失原來的值,例如連續執行下面兩條語句:

document.cookie="userid=828";

document.cookie="username=hulk";

這時瀏覽器將維護兩個cookie,分別是userid和username,因此給document.cookie賦值更像執

行類似這樣的語句:

document.addcookie("userid=828");

document.addcookie("username=hulk");

事實上,瀏覽器就是按照這樣的方式來設定cookie的,如果要改變乙個cookie的值,只需重新賦

值,例如:

document.cookie="userid=929";

這樣就將名為userid的cookie值設定為了929。

獲取cookie的值

下面介紹如何獲取cookie的值。cookie的值可以由document.cookie直接獲得:

var strcookie=document.cookie;

這將獲得以分號隔開的多個名/值對所組成的字串,這些名/值對包括了該網域名稱下的所有cookie

。例如:

圖7.1顯示了輸出的cookie值。由此可見,只能夠一次獲取所有的cookie值,而不能指定cookie

名稱來獲得指定的值,這正是處理cookie值最麻煩的一部分。使用者必須自己分析這個字串,來

獲取指定的cookie值,例如,要獲取userid的值,可以這樣實現:

這樣就得到了單個cookie的值

用類似的方法,可以獲取乙個或多個cookie的值,其主要的技巧仍然是字串和陣列的相關操作

Cookie和Session的介紹與區別

cookie的設定以及傳送過程 cookie的設定以及傳送過程為如下圖所示,經歷了如下的四個過程.session的實現方式 使用cookie來實現session 伺服器給客戶端分配乙個唯一的jessionid,客戶端傳送新的請求的時候,在cookie頭中,帶上jessionid,這樣伺服器就能找到對...

cookie和session的自我介紹

cookie說的直白點就是儲存在使用者瀏覽器端的乙個鍵值對,舉個例子,你現在登入了京東 你把瀏覽器關閉之後,你再開啟京東,你還是可以對你的賬戶繼續操作,已經購買的商品,訂單都是可以看到的,這個就是cookie起了作用。那為什麼你再次開啟的時候,就直接是已經登入狀態了,京東的服務端是怎麼知道你已經登入...

cookie和session的使用

背景 cookie是1993年由網景公司 netscape 前雇員發明的一種進行網路會話狀態跟蹤的技術 會話 會話則是由一組請求與響應組成,是圍繞一件事情所進行的請求與響應。作用 cookie是由伺服器生成的,儲存在客戶端的一種資訊載體。這個載體中存放著使用者訪問該站點的會話狀態資訊。只要cooki...