全面的に
» 高度な JavaScript 技集
のコードに頼っています。(このサイトはスゴイです。)
AjaxでServer-Client間の通信にzip圧縮をかけてみました。
サーバ側で圧縮(PHP):
echo base64_encode(gzdeflate($buf, 9));
クライアント側で解凍(JavaScript):
var data = utf8to16(zip_inflate(base64decode(req.responseText)));
CPUのコストはかかりますがデータの転送量を減らせるので、JSONで大量のデータをやり取りする時に使えると思われます。クライアント側で圧縮も可能なのでPOSTも可。base64_encode/decodeはプレインテキストにするために必要。