什麼是 Cookie

weixin_30639719發表於2010-08-24

什麼是 Cookie?

Cookie 是一小段文字資訊,伴隨著使用者請求和頁面在 Web 伺服器和瀏覽器之間傳遞。Cookie 包含每次使用者訪問站點時 Web 應用程式都可以讀取的資訊。

例如,如果在使用者請求站點中的頁面時應用程式傳送給該使用者的不僅僅是一個頁面,還有一個包含日期和時間的 Cookie,使用者的瀏覽器在獲得頁面的同時還獲得了該 Cookie,並將它儲存在使用者硬碟上的某個資料夾中。

以後,如果該使用者再次請求您站點中的頁面,當該使用者輸入 URL 時,瀏覽器便會在本地硬碟上查詢與該 URL 關聯的 Cookie。如果該 Cookie 存在,瀏覽器便將該 Cookie 與頁請求一起傳送到您的站點。然後,應用程式便可以確定該使用者上次訪問站點的日期和時間。您可以使用這些資訊向使用者顯示一條訊息,也可以檢查到期日期。

Cookie 與網站關聯,而不是與特定的頁面關聯。因此,無論使用者請求站點中的哪一個頁面,瀏覽器和伺服器都將交換 Cookie 資訊。使用者訪問不同站點時,各個站點都可能會向使用者的瀏覽器傳送一個 Cookie;瀏覽器會分別儲存所有 Cookie。

Cookie 幫助網站儲存有關訪問者的資訊。一般來說,Cookie 是一種保持 Web 應用程式連續性(即執行狀態管理)的方法。除短暫的實際交換資訊的時間外,瀏覽器和 Web 伺服器間都是斷開連線的。對於使用者向 Web 伺服器發出的每個請求,Web 伺服器都會單獨處理。但是在很多情況下,Web 伺服器在使用者請求頁時識別出使用者會十分有用。例如,購物站點上的 Web 伺服器跟蹤每位購物者,這樣站點就可以管理購物車和其他的使用者特定資訊。因此,Cookie 可以作為一種名片,提供相關的標識資訊幫助應用程式確定如何繼續執行。

使用 Cookie 能夠達到多種目的,所有這些目的都是為了幫助網站記住使用者。例如,一個實施民意測驗的站點可以簡單地將 Cookie 作為一個 Boolean 值,用它來指示使用者的瀏覽器是否已參與了投票,這樣使用者便無法進行第二次投票。要求使用者登入的站點則可以通過 Cookie 來記錄使用者已經登入,這樣使用者就不必每次都輸入憑據。

Cookie 的限制

大多數瀏覽器支援最大為 4096 位元組的 Cookie。由於這限制了 Cookie 的大小,最好用 Cookie 來儲存少量資料,或者儲存使用者 ID 之類的識別符號。使用者 ID 隨後便可用於標識使用者,以及從資料庫或其他資料來源中讀取使用者資訊。(有關儲存使用者資訊保安建議的資訊,請參見下面的“Cookie 和安全性”一節。)

瀏覽器還限制站點可以在使用者計算機上儲存的 Cookie 的數量。大多數瀏覽器只允許每個站點儲存 20 個 Cookie;如果試圖儲存更多 Cookie,則最舊的 Cookie 便會被丟棄。有些瀏覽器還會對它們將接受的來自所有站點的 Cookie 總數作出絕對限制,通常為 300 個。

轉載於:https://www.cnblogs.com/duwx/archive/2010/08/24/1807091.html

相關文章