2012-02-29 27 views
4

我正在尋找以緊湊形式存儲cookie數據。生成url安全數據的壓縮算法

有沒有這樣的東西作爲一個壓縮算法,產生URL安全輸出? 目前我的做法是

String jsonData = GSON.toJson(data); 
byte[] cookieBinaryData = jsonData.getBytes("UTF-8"); 
byte[] cookieSnappyData = Snappy.compress(cookieBinaryData); 
String cookieBase64Data = new Base64(true).encodeToString(cookieSnappyData); 

從這個cookieBase64Data是存儲該cookie裏面的一個。 我很樂意跳過Base64跳。

回答

0

否。壓縮通常是無前綴的代碼而不是字符集。你可以使用yEnc編碼來保護一些位。我個人不確定爲什麼yEnc註定要失敗。它使用擴展的8位ASCII字符集,並且在壓縮數據上增加了很少的開銷(2%):http://en.wikipedia.org/wiki/YEnc

1

通過這樣做可以節省多少錢?這值得麼?

如何將一個ID保存在一個cookie中,然後查找數據庫中的所有數據?有點像一個長期的會話,但你控制着你存儲的數據,所以沒有太多數量。

+0

網站如何使用負載平衡器?你能保持會話數據總是在不同的盒子之間同步嗎? – Bytemain 2012-02-29 16:14:43

+0

當您使用數據庫時,您可以擁有兩臺數據庫服務器並使其與複製保持同步。如果您將信息存儲在會話對象中,那麼您也可以同步該信息。每個Web應用程序容器都有自己的配置集羣的方式。以下是如何配置Tomcat的:http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html – 2012-02-29 17:30:37