ASP.NET中Cookie編程的基礎知識(1)

來源:互聯網
上載者:User
asp.net|cookie|編程 簡介

  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/displayarticle1/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。


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。