什么是Cookies?Cookies是數(shù)據(jù)包,可以讓網(wǎng)頁具有記憶功能,在某臺電腦上記憶一定的信息。Cookies的工作原理是,第一次由服務(wù)器端寫入到客戶端的系統(tǒng)中。以后每次訪問這個(gè)網(wǎng)頁,都是先由客戶端將Cookies發(fā)送到服務(wù)器端,再由服務(wù)器端進(jìn)行判斷,然后再產(chǎn)生HTML代碼返回給客戶端,這是一個(gè)很重要的原理。
Cookies在ASP中的最常用的方法,請做好筆記:
1.如何寫入Cookies?
Response.Cookies("字段名")=變量或字符串,例如:
Response.Cookies("name")="www.evilangel.cn"
2.如何設(shè)置Cookies時(shí)間?
'Expires屬性: 指定了該cookie的過期時(shí)間;
Response.Cookies("字段名").Expires = 時(shí)間函數(shù)+N,例如:
Response.Cookies("name").Expires = date+1 '表示Cookies保存1天。
Response.Cookies("name").Expires = Hour+8 '表示Cookies保存8小時(shí)。
response.cookies("name").Expires = "2006/1/20" '表示Cookies到2006/1/20過期。
3.其它
response.cookies("name").Domain="asp.com"
'Domain屬性: 指定了該cookie只能發(fā)送到asp.com這個(gè)域中;
response.cookies("name").Path="/www/home/"
'Path屬性: 指定了該cookie只能發(fā)送到路徑/www/home/的請求中
response.cookies("name").Secure=True
'Secure屬性: 指定在數(shù)據(jù)傳輸過程中采用加密算法
4.在以往的ASP教程中,很少有介紹Cookies退出的方法。在“退出”這個(gè)ASP頁中可以這樣寫:
Response.Cookies("字段名")=""
之后,在客戶端的瀏覽器就清除了Cookies,并且Cookies文件會消失。注意有多少個(gè)字段,就要寫多少句來清除。
5.如何讀取Cookies?
變量名 = Request.Cookies("字段名"),例如:
name = Request.Cookies("name")
如果網(wǎng)頁中寫入<%=name%>這句,則會顯示“www.evilangl.cn”。
也可以這樣直接讀取Cookies,<%=Request.Cookies("name")%>
Cookies是屬于Session對象的一種。但有不同,Cookies不會占服務(wù)器資源;而“Session”則會占用服務(wù)器資源。所以,盡量不要使用Session,而使用Cookies。
例子:
<%
'刷新頁面或再次打開此頁面時(shí),顯示的順序?qū)㈩嵉?,為什么??
response.cookies("TestCookies1")("Name")="Test Cookies 1"
response.cookies("TestCookies1")("Name")="TestCookies1"
response.cookies("TestCookies1").path="/"
response.cookies("TestCookies1").expires=#2004/7/25#
response.cookies("TestCookies2")="Test Cookies 2"
response.cookies("TestCookies2").path="/"
response.cookies("TestCookies2").expires=#2004/7/25#
%>
<html>
<head>
<title>Cookie的使用--創(chuàng)建、讀取cookies值</title>
</head>
<body>
<%
'利用循環(huán)讀取TestCookies1
For each cookiesname in request.cookies
if request.cookies(cookiesname).haskeys then
for each keycookies in request.cookies(cookiesname)
response.write keycookies & "的內(nèi)容值是: " & request.cookies(cookiesname) & "<br>"
next
else
response.write cookiesname & "的內(nèi)容值是: " & request.cookies(cookiesname) & "<br>"
end if
next
%>
</body>
</html>