2010-06-02 106 views
1

在我以前的理解中,對於一個網站,只有一個網站的登錄用戶(不管使用什麼登錄/認證方式)都可以將cookie作爲持久標識符,這樣如果用戶關閉瀏覽器,再次打開瀏覽器去同一個網站,網站可以記住用戶。瀏覽器cookie問題

但是我最近了解到,對於非登錄用戶來說,似乎仍然存在與用戶關聯的cookie(在用戶關閉瀏覽器之後,再次打開瀏覽器以訪問同一網站,網頁網站可以記住用戶),它被稱爲瀏覽器cookie?真的嗎?

如果是,那麼誰來負責設置瀏覽器cookie?即在Web服務器端需要一些編碼/配置,客戶端瀏覽器配置(不需要從服務器端編碼),還是兩者都需要? Web服務器如何訪問這樣的cookie?欣賞是否有代碼示例。

由於事先 喬治

回答

2

無論你實際上「登錄」與否無關,存儲什麼餅乾。

如果瀏覽器請求一個頁面,並且服務器包含一個Set-Cookie響應頭,那麼瀏覽器會將該cookie的值存儲在本地緩存中,並且每次從同一服務器請求一個頁面時,它會發送該值的Cookie也回來了(在Cookie請求標頭中)。

恰恰恰巧,當您「登錄」到網站時,網站通常會使用Set-Cookie標題告訴瀏覽器存儲一個值,表明您已經登錄(並且您的用戶標識和其他一些安全相關的東西)。但是在任何時候都沒有什麼能夠阻止網絡服務器使用Set-Cookie

+0

「又回來了」 - 你的意思是從客戶端瀏覽器到Web服務器的請求? – George2 2010-06-02 05:35:58

+0

以及如何確定cookie是否持久?持久性我的意思是在瀏覽器關閉後,cookie仍然存儲在客戶端,以便下次打開瀏覽器訪問同一個網站時,cookie值仍然存在? – George2 2010-06-02 05:37:41

+1

@ George2:再回來「,這是正確的。 Cookie是與請求一起發送的報頭值(例如,與用戶代理傳遞給服務器的方式類似)。 – 2010-06-02 05:53:54