2010-12-21 34 views
1

我剛剛遇到一個有趣的事實,顯然一個網站可以有多達20個獨立的餅乾。每個域最多20個cookie - 爲什麼?

好的 - 夠公平的。

但是,爲什麼你要存儲的不僅僅是「UserID」,爲什麼你可能需要20個餅乾?

+0

也許對於子域?好問題.. – Jordy 2010-12-21 12:39:55

+1

該_20 cookies_語句的任何URL? – 2010-12-21 12:40:17

+0

@Uwe - 我做了一個ASP.NET測驗(我得到的cookie的答案錯了!)後,我讀了聲明http://www.geekinterview.com/question_details/18128 – 2010-12-21 12:43:45

回答

1

如果您爲用戶提供自定義站點的方法,您需要將其設置存儲在某個地方。 您可能需要餅乾:

  • 用戶設置
  • 會話ID
  • 購物籃
  • 的最後一個項目看
  • 用戶登錄
+0

但餅乾是最好的方式,當然你會存儲任何定製服務器端 – 2010-12-21 12:42:29

+0

你可以將它們存儲在服務器端,這取決於你哪種方法更適合你 – PiedPiper 2010-12-21 12:45:45

+0

如果你有一個用戶從不同的計算機登錄不同的次,你需要存儲他們的設置每個瀏覽器 – PiedPiper 2010-12-21 12:50:04

0

它的內容一個選擇。如果你不需要20個餅乾,這並不意味着其他人不會。

+0

我只是不明白的選項,爲什麼?當然在cookie中存儲用戶標識,而不是其他的? – 2010-12-21 12:43:07

+0

@ m.edmondson:@thejh和@PiedPiper列出了多個Cookie的一些不錯用途。如果您的網站變得非常複雜,將信息放在客戶端可能非常有用。特別是如果你的網站的外觀可以定製,並且你希望你的用戶保留,即使他們不需要登錄。 – darioo 2010-12-21 12:45:20

1

一些,我能想到的:

  • 永久登錄cookie
  • 會話cookie
  • 用戶獨立設置
  • 用戶tracking cookie的
0

同意PiedPiper和thejh。如果您正在存儲用戶信息並根據用戶操作自定義站點的行爲,那麼很快您將耗盡單個cookie的存儲限制。

+0

那麼爲什麼不存儲自定義服務器端?當你保持完全控制 – 2010-12-21 12:44:41

+0

定製將在服務器端,當然。但是我們需要在客戶端機器上保留一些標識符,以便我們可以將其綁定回服務器記錄。更多的場景就像我在我的網站中有購物籃功能,並且我一次支持多個籃子。 – Pradeep 2010-12-21 12:57:49

0

一個網站可以有多個網頁,並且很多這些網頁可能有一些信息可能會存儲在cookie中。具有諷刺意味的是,你問爲什麼你可能想要使用大量的餅乾,因爲我看到很多人抱怨爲什麼只有20!

這是一個很好的做法,以確保您不會創建大量的cookie,僅僅因爲IE有20個cookie限制。其他瀏覽器可能有更多[或更少]!