2010-11-12 76 views
1

將壓縮數據存儲在cookie中的最佳方式是什麼?我想這樣做的原因是:將壓縮數據存儲在cookie中

  1. 我想盡可能多的數據可以存儲在1塊餅乾
  2. 我想表現儘可能快地在數據傳輸方面
  3. 我不不想它是如此明顯的就是我恰好存儲,以防止篡改方便
  4. 有很多價值,希望這樣做可以很容易地檢索的最佳機制

回答

0

你不說什麼服務器 - b。您正在使用的技術ut here是一種在ASP.NET中使用C#和7Zip庫來壓縮Cookie的方法。

+0

我使用Java /春服務器,但我想我正在尋找一個更通用的解決方案......如果有一個好的庫也爲我處理該解決方案,那就更好了。 – 2010-11-12 22:37:32

2

我在PHP這樣做,但你應該很容易找到在java中的base64和gzip功能:

  1. 序列化你的對象
  2. 附加一個哈希,以防止篡改(如的md5sum(連載+祕密) )
  3. 壓縮串用gzip
  4. 編碼使用Base64結果

要獲取原始數據,只是以相反的順序應用相反的功能。您只說了一個cookie,但可以將內容分割爲2個或更多個cookie,最大大小爲4k,作爲第5步(稍後加入)。在比較結果的大小時,不要忘記考慮序列化的字符串可能包含字符,例如urlencoded爲'%7B'和'%3A'的'{'和':',使字符串更長。

有些鏈接可能是有用的: