2011-03-16 103 views
0

我沒有經驗,不明白爲什麼你需要超過cookie的大小限制。本地存儲容量大約爲5MB,有人可能會投入一個本地存儲價值那麼大?我真的只是想明白,有人能給我舉例說明人們存儲的內容不僅僅是幾個字或一個大的鏈接嗎?Cookies:爲什麼他們不夠大?有什麼存儲的cookie不能包含?

+4

[「640 K對任何人都應該足夠了。」 - Bill Gates,1981](http://www.slothmud.org/~hayward/mic_humor/mic_quotes.html) – 2011-03-16 12:40:39

+0

[HTTP cookies](http://replay.waybackmachine.org/20020803110822/http: wp.​​netscape.com/newsref/std/cookie_spec.html)於1994年首次指定(1997年的[IETF規範](http://tools.ietf.org/html/rfc2109)); [網絡存儲規範](http://www.w3.org/TR/webstorage/)始於2009年,目前仍在進行中。 – Gumbo 2011-03-16 12:44:29

+0

@Sean [這實際上並非比爾蓋茨所說的](http://en.wikiquote.org/wiki/Bill_Gates)。 – alex 2011-03-16 12:45:43

回答

1

哦,這很簡單。如果你設計了一個體積適中的應用程序,並由於某種原因決定你想將應用程序的狀態存儲在客戶端,那麼4kb並不是很多。

例子:

  • 樹形菜單,要存儲的每個菜單項的崩潰/擴展狀態
  • 要對所有的選擇
  • 很多默認值的搜索表單其他的事情

這就是爲什麼,到了最後,你根本就沒有這些東西存儲在cookie中(除了安全方面的原因,當然)

+0

但每個cookie都有4kb,對吧?所以如果我想存儲應用程序的狀態,則只需將其全部存儲在不同的cookie中,是不是人們通常會這樣做? – 2011-03-27 05:02:16

+0

在某些瀏覽器上,Cookie可能大於4kb。但你無法期待這一點。請參閱** Gumbo **的IETF規範鏈接。當然,你可以隨時存儲幾個餅乾。 – 2011-03-27 09:35:32

0

任何針對移動設備的Web應用程序(設計師希望在移動設備沒有連接到互聯網時都可以使用)都有很多存儲需求。想想電子郵件,RSS,文件與:)

開始,我的愛,它這是http://www.readability.com/

0

一個具體的應用程序,這兩個存儲解決方案都不太可比的,因爲他們的工作方式不同:儘管在這兩種情況下的數據是在客戶端存儲Cookie時,每次請求都會發送一個Cookie,而Web存儲僅在本地使用。

但除此之外:HTTP cookies最初於1994年起草(IETF specification日期爲1997年); specification of Web Storage始於2009年,目前仍在進行中。想想這15年來網絡如何發展。

1

本地存儲可用於離線使用,但cookies不能。 cookies也會隨着請求發送到服務器..你不希望每個HTTP請求都發送5MBs。