asp_Cookies詳細(xì)用法
實(shí)際上,在web開(kāi)發(fā)中,cookie僅僅是一個(gè)文本文件,當(dāng)用戶(hù)訪(fǎng)問(wèn)站點(diǎn)時(shí),它就被存儲(chǔ)在用戶(hù)使用的計(jì)算機(jī)上,其中,保存了一些信息,當(dāng)用戶(hù)日后再次訪(fǎng)問(wèn)這個(gè)站點(diǎn)時(shí),web可以將這些信息提取出來(lái)。 盡管現(xiàn)在聽(tīng)
實(shí)際上,在web開(kāi)發(fā)中,cookie僅僅是一個(gè)文本文件,當(dāng)用戶(hù)訪(fǎng)問(wèn)站點(diǎn)時(shí),它就被存儲(chǔ)在用戶(hù)使用的計(jì)算機(jī)上,其中,保存了一些信息,當(dāng)用戶(hù)日后再次訪(fǎng)問(wèn)這個(gè)站點(diǎn)時(shí),web可以將這些信息提取出來(lái)。
盡管現(xiàn)在聽(tīng)起來(lái)cookie沒(méi)有什么激動(dòng)人心的,但實(shí)際上利用它,你能實(shí)現(xiàn)許多有意義的功能!比如說(shuō):你可以在站點(diǎn)上放置
一個(gè)調(diào)查問(wèn)答表,詢(xún)問(wèn)訪(fǎng)問(wèn)者最喜歡的顏色和字體,然后根據(jù)這些定制用戶(hù)的web界面。并且,你還可以保存訪(fǎng)問(wèn)者的登錄密碼,這
樣,當(dāng)訪(fǎng)問(wèn)者再次訪(fǎng)問(wèn)這個(gè)站點(diǎn)時(shí),不用再輸入密碼進(jìn)行登錄。
當(dāng)然,cookie也有一些不足。首先,由于利用cookie的功能可以編程實(shí)現(xiàn)一些不良企圖,所以大多數(shù)的瀏覽器中都有安全設(shè)定,其中可以設(shè)置是否允許或者接受cookie,因此這就不能保證隨時(shí)能使用cookie。再者,訪(fǎng)問(wèn)者可能有意或者無(wú)意地刪除cookie。當(dāng)訪(fǎng)問(wèn)者的機(jī)器遇到“藍(lán)屏”死機(jī)時(shí),或者重新格式化硬盤(pán)、安裝系統(tǒng)后,原來(lái)保存的cookie將全部丟失。最后一點(diǎn),有一些最初始的瀏覽器并不能支持cookie。
利用cooklie能做什么?
有2種使用cookie的基本方式:
1、將cookie寫(xiě)入訪(fǎng)問(wèn)者的計(jì)算機(jī)(使用 RESPONSE 命令)
2、從訪(fǎng)問(wèn)者的計(jì)算機(jī)中取回cookie(使用 REQUEST 命令)
創(chuàng)建cookie的基本語(yǔ)法
Response.Cookies("CookieName")=value
執(zhí)行下面的代碼將會(huì)在訪(fǎng)問(wèn)者的計(jì)算機(jī)中創(chuàng)建一個(gè)cookie,名字=VisitorName,值=Ken
Response.Cookies("VisitorName")="Ken"
讀取cookie的基本語(yǔ)法
Request.Cookies("CookieName")
可以將Request值當(dāng)作一個(gè)變量看待,執(zhí)行下面的代碼,將取回名字為KensCookie的cookie值,并存入變量MyVar:
MyVar=Request.Cookies("KensCookie")
功能豐富的cookie
你可以擴(kuò)展上面的代碼成為Cookie子關(guān)鍵值(CookieSubName),代碼如下:
Response.Cookies("VisitorName")("FirstName")="Ken"
Response.Cookies("VisitorName")("LastName")="Baumbach"
講解例子前,最后討論2個(gè)概念:命令約定和使用到期時(shí)間
命名約定
同其他變量的命名一樣,合適地、獨(dú)特地命名cookie,有利于在程序中前后連貫地使用它。你可以使用下面的1個(gè)或者2個(gè)
cookie屬性進(jìn)行cookie變量的命名:
域?qū)傩裕―omain):域?qū)傩员砻鱟ookie由哪個(gè)網(wǎng)站產(chǎn)生或者讀取,默認(rèn)情況下,cookie的域?qū)傩栽O(shè)置為產(chǎn)生它的網(wǎng)站,但你
也可以根據(jù)需要改變它。相關(guān)代碼如下:Response.Cookies("CookieName").Domain = "www.mydomain.com"
路徑屬性(Path):路徑屬性可以實(shí)現(xiàn)更多的安全要求,通過(guò)設(shè)置網(wǎng)站上精確的路徑,就能限制cookie的使用范圍。例如:
Response.Cookies("CookieName").Path = "/maindir/subdir/path"