Cookie是一種發送到客戶瀏覽器的文本串句柄,並保存在客戶機硬盤上,可以用來在某個Web站點會話之間持久地保持數據。Request和Response對象都有一組Cookie。Request.cookie集合是一系列Cookie,從客戶端與HTTP Request一起發送到Web服務器。反過來,如果你希望把Cookie發送到客戶機,就可以使用Response.cookie
Cookie 其實是一個標簽,當你訪問一個需要唯一標識你的站址的 WEB 站點時,它會在你的硬盤上留下一個標記,下一次你訪問同一個站點時,站點的頁面會查找這個標記。
每個 WEB
站點都有自己的標記,標記的內容可以隨時讀取,但只能由該站點的頁面完成。每個站點的Cookie與其他所有站點的Cookie存在同一文件夾中的不同文件內(你可以在
win98 的 Windows 目錄下的 Cookie 文件夾中找到它們,而 win2k 則在 Documents and Settings 文件夾下特定用戶的
cookies 文件夾中)。
一個 Cookie 就是一個唯一標識客戶的標記,Cookie 可以包含在一個對話期或幾個對話期之間某個 WEB
站點的所有頁面共享的信息,使用 Cookie 還可以在頁面之間交換信息。這項功能經常被使用在要求認證客戶密碼以及電子公告板、WEB 聊天室等 ASP 程序中。
cookie也有一些不足。首先,由於利用cookie的功能可以編程實現一些不良企圖,所以大多數的瀏覽器中都有安全設定,其中可以設置是否允許或者接受cookie(IE瀏覽器中“工具”--“Internet選項...”--“安全”--“自定義級別”--“Cookie的使用”;Netscape瀏覽器中“工具”--“Cookie管理器”--“管理貯存的Cookie”即可),因此這就不能保證隨時能使用cookie。再者,訪問者可能有意或者無意地刪除cookie。當訪問者的機器遇到“藍屏”死機時,或者重新格式化硬盤、安裝系統后,原來保存的cookie將全部丟失。最后一點,有一些最初始的瀏覽器並不能支持cookie。
有2種使用cookie的基本方式:
1、將cookie寫入訪問者的計算機(使用 Response 命令)
2、從訪問者的計算機中取回cookie(使用 Request 命令)
◆ 創建cookie的基本語法:
Response.Cookies(cookie)[(key)|.attribute]=value
這里的 cookie 是指定 cookie
的名稱,而如果指定了 key,則該 cookie
就是一個字典。(測試一cookie是否為一個字典可用后面代碼顯示布爾值:<%=Request.Cookies("cookiename").HasKeys%>。為true是字典,false則不是。
)
讀取cookie的基本語法:Request.Cookies(cookie)[(key)|.attribute] cookie 指定要檢索其值的 cookie,key 可選參數,用於從 cookie 字典中檢索子關鍵字的值,attribe 指定 cookie 自身的有關信息。如:HasKeys 只讀,指定 cookie 是否包含關鍵字。 如果客戶端瀏覽器發送了兩個同名的 cookie,那么 Request.Cookie 將返回其中路徑結構較深的一個。例如,如果有兩個同名的的 cookie,但其中一個的路徑屬性為 /www/ 而另一個為 /www/home/,客戶端瀏覽器同時將兩個 cookie 都發送到 /www/home/ 目錄中,那么 Request.Cookie 將只返回第二個 cookie。
cookie的刪除:首先在創建Cookie的同時,你要給Cookie設置一個有效時間。 Cookie.Expries; 客戶端會根據這個有效時間進行刪除,如果不寫。該有效時間默認為永久。所以會永遠存在