簡介
Cookie 為 Web 應用程序保存用戶相關信息提供了一種有用的方法。例如,當用戶訪問您的站點時,您可以利用 Cookie 保存用戶首選項或其他信息,這樣,當用戶下次再訪問您的站點時,應用程序就可以檢索以前保存的信息。
本文概要介紹 Cookie 在 asp.net 應用程序中的應用,為您展示在 ASP.NET 中應用 Cookie 的技術細節,例如編寫 Cookie、然后再讀取它們。同時,還將為您介紹 Cookie 的各種特性和各種特殊情況,以及 ASP.NET 對 Cookie 的支持。
什么是 Cookie?
Cookie 是一小段文本信息,伴隨著用戶請求和頁面在 Web 服務器和瀏覽器之間傳遞。用戶每次訪問站點時,Web 應用程序都可以讀取 Cookie 包含的信息。
假設在用戶請求訪問您的網站 www.contoso.com 上的某個頁面時,您的應用程序發送給該用戶的不僅僅是一個頁面,還有一個包含日期和時間的 Cookie。用戶的瀏覽器在獲得頁面的同時還得到了這個 Cookie,并且將它保存在用戶硬盤上的某個文件夾中。
以后,如果該用戶再次訪問您站點上的頁面,當該用戶輸入 URL
www.contoso.com 時,瀏覽器就會在本地硬盤上查找與該 URL 相關聯的 Cookie。如果該 Cookie 存在,瀏覽器就將它與頁面請求一起發送到您的站點,您的應用程序就能確定該用戶上一次訪問站點的日期和時間。您可以根據這些信息向用戶發送一條消息,也可以檢查過期時間或執行其他有用的功能。
Cookie 是與 Web 站點而不是與具體頁面關聯的,所以無論用戶請求瀏覽站點中的哪個頁面,瀏覽器和服務器都將交換 www.contoso.com 的 Cookie 信息。用戶訪問其他站點時,每個站點都可能會向用戶瀏覽器發送一個 Cookie,而瀏覽器會將所有這些 Cookie 分別保存。
以上就是 Cookie 的基本工作原理。那么,Cookie 有哪些用途呢?最根本的用途
是 Cookie 能夠幫助 Web 站點保存有關訪問者的信息。更概括地說,Cookie 是一種保持 Web 應用程序連續性(即執行“狀態管理”)的方法。瀏覽器和 Web 服務器除了在短暫的實際信息交換階段以外總是斷開的,而用戶向 Web 服務器發送的每個請求都是單獨處理的,與其他所有請求無關。然而在大多數情況下,都有必要讓 Web 服務器在您請求某個頁面時對您進行識別。例如,購物站點上的 Web 服務器跟蹤每個購物者,以便站點能夠管理購物車和其他的用戶相關信息。因此 Cookie 的作用就類似于名片,它提供了相關的標識信息,可以幫助應用程序確定如何繼續執行。
使用 Cookie 能夠達到多種目的,所有這些目的都是為了使 Web 站點記住您。例如,一個實施民意測驗的站點可以簡單地利用 Cookie 作為布爾值,表示您的瀏覽器是否已經參與了投票,從而避免您重復投票; 而那些要求用戶登錄的站點則可以通過Cookie 來確定您是否已經登錄過,這樣您就不必每次都輸入憑據。
有關 Cookie 的更多背景信息,建議您閱讀 Verizon Web 站點中的“How
Internet Cookies Work”一文,地址為
http://www22.verizon.com/about/community/learningcenter/articles/displayartic
le1/0,4065,1022z1,00.html(英文)。其作者詳細解釋了什么是 Cookie 以及
Cookie 是如何在瀏覽器和服務器之間交換信息的,他還全面總結了 Cookie 涉及的隱私
問題。
順便問一下,您是否想知道它們為什么被稱作“Cookie”?Jargon File(又稱為
“The New Hacker's Dictionary”)版本 4.3.3 對這一術語的詞源給出了準確的定義
和合理的解釋。您可以在 http://www.catb.org/~esr/jargon/jargon.html#cookie(英
文)找到相關的條目。
在此后的內容中,本文將假設您已經知道什么是 Cookie,并且假設您已經清楚為什么要在 ASP.NET 應用程序中使用 Cookie。
新聞熱點
疑難解答