成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細(xì)介紹JavaScript中的cookie

開發(fā) 前端
Cookie,有時也用其復(fù)數(shù)形式Cookies,指某些網(wǎng)站為了辨別用戶身份、進(jìn)行session跟蹤而儲存在用戶本地終端上的數(shù)據(jù)。本文詳細(xì)的介紹JavaScript中的cookie,希望對你有幫助。

以前,JavaScript完全不與服務(wù)器進(jìn)行任何交互。它有時在客戶端進(jìn)行少量操作,然后讓服務(wù)器來完成其他任務(wù)。然而,隨著Web的發(fā)展,也要求JavaScript能向服務(wù)器發(fā)送數(shù)據(jù),接受響應(yīng),在這種需求下就產(chǎn)生兩種與服務(wù)器通信的方法:cookie與HTTP請求。

cookie其實就是網(wǎng)站放在用戶機器上的一小塊信息,cookie對于用戶來說是唯一的,網(wǎng)站可判斷用戶上次訪問網(wǎng)站的時間,以及他訪問了哪些頁面,可用于在某個網(wǎng)站跟蹤你訪問的頁面,但無法用它來獲取個人信息。cookie是第一個JavaScript可以利用的客戶端—服務(wù)器端之間的交互手段。瀏覽器向服務(wù)器發(fā)送請求時,為這個服務(wù)器存儲的cookie會與其他信息一起發(fā)送到服務(wù)器。

(一) cookie的組成

1、名稱

每一個cookie由一個唯一的名稱代表。這個名稱可以包含字母、數(shù)字和下劃線。與JavaScript的變量不同,cookie的名稱是不區(qū)分大小寫的。建議將cookie名字認(rèn)為是區(qū)分大小寫的,因為有些服務(wù)器端軟件是區(qū)分大小寫的。

2、值

保存在cookie中的字符串值。這個值在存儲之前必須用encodeURIComponent()對其進(jìn)行編碼,以免丟失了數(shù)據(jù)或占用了cookie。名稱和值加起來的字節(jié)數(shù)不能超過4KB。

3、域

出于安全考慮,網(wǎng)站不能訪問由其他域創(chuàng)建的cookie。創(chuàng)建cookie后,域的信息會作為cookie的一部分存儲起來。

4、路徑

另一個cookie的安全特性,路徑限制了對Web服務(wù)器上的特定目錄的訪問。例如,可指定cookie只能從http://www.yiiiyaa.net/category中訪問,這樣就不能訪問http://www.yiiyaa.net/上的網(wǎng)頁了,盡管都在同一個域中。

5、失效日期

cookie何時應(yīng)該被刪除。默認(rèn)情況下,關(guān)閉瀏覽器,時即將cookie刪除;不過,也可以自己設(shè)置刪除時間。這個值是GMT格式的日期,用于指定應(yīng)該刪除cookie的準(zhǔn)確時間。因此,cookie可以瀏覽器關(guān)閉后依然保存在用戶的機器上。如果你設(shè)置的失效日期是個以前的時間,則cookie被立即刪除。

6、安全標(biāo)志

一個true/false值,用于表示cookie是否只能從安全網(wǎng)站(使用SSL和https協(xié)議的網(wǎng)站)中訪問。可以將這個值設(shè)置為true以提供加強的保護(hù),進(jìn)而確保cookie不被其他網(wǎng)站訪問。

(二)其他安全限制

為確保cookie不被惡意使用,瀏覽器還對cookie的使用進(jìn)行了一些限制:

1、每個域最多只能在一臺用戶的機器上存儲20個cookie;

2、每個cookie的總大小不能超過4096節(jié)點;

3、一臺用戶機器上的cookie的總數(shù)不能超過300個。
另外,一些新的瀏覽器還對cookie進(jìn)行了嚴(yán)格控制,可以讓用戶阻止所有的cookie、阻止某些未知的網(wǎng)站的cookie或者在創(chuàng)建cookie時進(jìn)行提示。

(三) JavaScript中的cookie

document對象有cookie特性,是包含所有給定頁面可訪問的cookie的字符串。cookie特性也很特別,因為將這個cookie特性設(shè)置為新值只會改變對頁面可訪問的cookie,并不會真正改變cookie(特性)本身。

要創(chuàng)建一個cookie,必須按照下面的格式創(chuàng)建字符串:

  1. cookie_name=cookie_value;   
  2. expires=expiration_time;   
  3. path=domain_path;   
  4. domain=domain_name;  

secure只有字符串的第一部分(指定名稱和值的字符串)是對設(shè)置cookie必需的,其他部分都是可選的,然后將這個字符串復(fù)制給document.cookie特性,即可創(chuàng)建cookie。讀取document.cookie的值即可訪問這些cookie,以及所有其他可以從給定頁面訪問的cookie。

因為創(chuàng)建和讀取cookie均需記住它的格式,大部分開發(fā)人員用函數(shù)用處理這些細(xì)節(jié)。創(chuàng)建cookie的函數(shù)很簡單。

  1. function setCookie(sName,sValue,oExpires,sPath,sDomain,bSecure){  
  2. var sCookie=sName+”=”+encodeURIComponent(sValue);  
  3. if(oExpires){  
  4. sCookie+=”; expires=”+oExpires.toGMTString();  
  5. }  
  6. if(sPath){  
  7. sCookie+=”; path=”+sPath;  
  8. }  
  9. if(sDomain){  
  10. sCookie+=”; domain=”+sDomain;  
  11. }  
  12. if(bSecure){  
  13. sCookie+=”; secure”;  
  14. }  
  15. document.cookie=sCookie;  

這個函數(shù)可以根據(jù)傳入的參數(shù)建立cookie字符串。因為只有前兩個參數(shù)是必需的。所以函數(shù)在把參數(shù)傳給cookie字符串前,要對參數(shù)進(jìn)行檢測,以確保前兩個參數(shù)是存在的。

下一個函數(shù)getCookie(),通過傳入的名稱獲取cookie的值:

  1. function getCookie(sName){  
  2. var sRE=”(?:; )?”+sName+”=([^;]*);?”;  
  3. var oRE=new RegExp(sRE);  
  4. if(oRE.test(document.cookie)){  
  5. return decodeURIComponent(RegExp[“$1”]);  
  6. }else{  
  7. return null;  
  8. }  

這個函數(shù)使用了通過cookie名稱建立的正則表達(dá)式。由于cookie字符串的格式,正則表達(dá)式是從document.cookie中抽取特定值最方便的方法。如果只有一個cookie,字符串就只有一個名稱和值,而值就是等于號后面的所有字符,如果后面還有cookie,則用分號進(jìn)行分隔,也就是說cookie的值包含等于號之后,分號之前的所有字符串。

最后一個函數(shù)deleteCookie(),用于從系統(tǒng)中立即刪除一個cookie。將cookie的失效時間設(shè)置為過去的一個時間即可實現(xiàn)。

  1. function deleteCookie(sName,sPath,sDomain)  
  2. {  
  3. setCookie(sName,””,new Date(0),sPath,sDomain);  

有了以上這些函數(shù),就可以很方便的地設(shè)置、讀取、設(shè)置cookie了。

本文地址:http://www.yiiyaa.net/

【編輯推薦】

  1. jsp開發(fā)技術(shù)應(yīng)用的29個注意事項
  2. JSP虛擬主機使用中的亂碼問題
  3. JS跨域設(shè)置和取Cookie
  4. Jackson框架輕易轉(zhuǎn)換JSON
  5. JSP頁面的五種跳轉(zhuǎn)方法
責(zé)任編輯:于鐵 來源: 意雅
相關(guān)推薦

2009-06-17 16:01:28

2011-07-08 16:54:39

JspCookies

2011-07-11 15:02:54

枚舉

2011-07-21 15:44:33

Java內(nèi)部類

2011-07-08 11:19:51

jspaction

2011-07-13 15:47:18

MFC

2011-06-08 16:05:34

VB數(shù)組

2011-07-20 15:58:53

C++引用

2011-07-11 11:02:12

JAVA集合框架

2010-01-05 16:18:17

學(xué)習(xí)JavaScrip

2009-07-30 13:33:55

ASP.NET中的co

2010-03-18 15:47:07

Java創(chuàng)建線程

2011-06-08 15:45:41

字符串JAVA

2011-06-15 15:16:54

Session

2011-07-14 11:08:30

C#繼承

2011-07-22 16:50:05

JAVA

2010-03-10 19:25:04

python多線程

2011-07-04 10:32:37

JAVA

2016-09-13 21:30:11

JavascriptCSPWeb

2010-03-16 13:04:17

Python環(huán)境
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久久亚洲| 在线国产一区 | 色综合成人网 | 国产精品久久久久一区二区三区 | 欧美成人a∨高清免费观看 91伊人 | 国产日韩精品在线 | 日本不卡一区 | 精品国产区 | 欧美三级三级三级爽爽爽 | 亚洲综合国产 | 久久男人 | 91文字幕巨乱亚洲香蕉 | 瑟瑟激情| 中文字幕成人 | 国产一区二区在线免费播放 | 99re国产视频 | 日韩中文字幕在线观看 | 精品在线99| 国产亚洲成av人片在线观看桃 | 在线观看国产h | 久久久久久亚洲精品 | 日本精品久久 | 亚洲福利 | 国产精品日日夜夜 | 国产一区在线免费观看视频 | 一区二区在线 | 亚洲成人在线免费 | 玖玖久久 | 精品一区二区视频 | 久久久精品影院 | 欧美一区二区三区小说 | 久久大香| 久久国产精品精品国产色婷婷 | 欧美一级片在线看 | 久久精品国产一区 | 亚洲欧美在线观看视频 | 爱爱爱av| 国产极品粉嫩美女呻吟在线看人 | 国产一区 日韩 | 日韩高清不卡 | 精品国产黄色片 |