HTMLは圧縮して転送した方が効率良くないですか?

このエントリーをはてなブックマークに追加
1Katz
何らかの共通の方法で可逆圧縮されたHTMLをサーバにアップするようにし、
それがダウンロードされたら、ブラウザがそれを解凍し、復元する。
まぁJAVAでいうJAR形式みたいな感じです。

こうした方が圧倒的に転送効率が上がると思うんだけど、どう?
既にあります
3Katz :2000/09/13(水) 12:45
当然ブラウザには圧縮に対応した解凍機能を付ける必要はあるけど、
CPUなんかも高性能化していることだし。問題ないでしょ。
生でTEXT(HTML)送られるよりは。

圧縮が面倒くさいっていうならエディタ自体がHTMLとして保存する時に
圧縮して保存するように浸透してけばいいだけだよね。GIFとか画像みたいに。

今までそうされてなかったのが不思議なくらいな案だと思うんだけど。
まぁ結局浸透しなきゃ意味無いが。
4>2 :2000/09/13(水) 12:47
やっぱあるよね。
じゃあ何で浸透してねぇんだろう?

5>2 :2000/09/13(水) 12:49
ちなみにその在処は分かります?
6名無しさん@1周年 :2000/09/13(水) 13:22
RFC2616のContent-Encodingに関する説明を読みましょう。
7名無しさん@そうだ選挙にいこう :2000/09/13(水) 15:02
IEとかってContent-Encodingのgzip扱えそうだよね。誰か実験
してみた人とかいない?
8名無しさん@1周年 :2000/09/13(水) 15:42
>7
gzipでリクエストだしていたよ。
でgzipでレスポンス返すとちゃんと表示してれた。
97 :2000/09/13(水) 16:12
をー、使えるのか。
となるとあとは、サーバー側でgzip実行するオーバーヘッドを
考慮して、いいカンジだったら実装すればよいのか。ふむふむ。
キャッシングとかもするとよりよいか?

・・・って、もうすでにどっかのメーカーが実践してそうだな。
しかも特許とってたり(w
10名無しさん@そうだ選挙にいこう :2000/09/13(水) 16:45
キャッシングはいいですね。
今度実装してみよう。
11名無しさん@1周年 :2000/09/13(水) 20:51
ぁゃιぃ系でつかわれてる掲示板スクリプトのくずはすくりぷとでは既に gzip を用いた圧縮転送を実現していますよ。

http://members.tripod.co.jp/kuzuha/

# とはいえクライアントが gzip を受け付ける場合に限った場合ですが。
# 以下の処理でいいみたいです
# print "Content-encoding: gzip\n\n";
# open ( STDOUT@` "| $gzip -1 -c" );

12Katz :2000/09/14(木) 02:44
レスポンスありがとうございます。
なるほどgzipはそういう使い方が出来たんですね。
ところでUNIX以外でgzip圧縮って出来るのかな?(無知)
もしくは.gzと.zipって圧縮アルゴリズムは同じ?

あとそれとは別の話として、
TEXTの汎用で標準な圧縮フォーマット(GIFのような)は
あったら良いなぁと思いません?
13名無しさん@そうだ選挙にいこう :2000/09/14(木) 03:49
.gzと.zipは違うもの。で、もちろんUNIX以外でもgzipは使えるぞ。
ていうか

>あとそれとは別の話として、
>TEXTの汎用で標準な圧縮フォーマット(GIFのような)は
>あったら良いなぁと思いません?

いらないだろ。もう一度頭冷やしてよく考えろ。
14名無しさん@そうだ選挙にいこう :2000/09/14(木) 08:10
テキストととか圧縮ききやすそうなものは
ルータレベルで圧縮かかってるんじゃないの?
15名無しさん@そうだ選挙にいこう :2000/09/14(木) 09:25
>14
モデムとかは圧縮してると思うけど.(思うしか言えないでごめん)
ATMなんか48byte単位で圧縮しても効果はあまりないと思う。
どっちにしても上の層でまとめて圧縮した方が効果があるのでは?
16名無しさん@1周年 :2000/09/14(木) 11:16
ルータというか Layer7 より下の圧縮がうまくいくとは限らない。

ルータで圧縮するときは PPP レベルでの圧縮になるが、テキストのようなデータは圧縮率がよく
スループットを稼げる半面、画像や zip/lha などのすでに圧縮されているファイルに対しては
逆にサイズが大きくなってスループットを落とすこともある。
だからルータレベルで圧縮する際には、トラフィックの性質をある程度正確に
理解している必要がある。

ルータに対する負荷もバカにならない。とくに専用ハードがない限り、暗号化と圧縮を
併用するのは危険。
17名無しさん@そうだ選挙にいこう :2000/09/14(木) 13:07
M$はchm使いたがってるね
18名無しさん@そうだ選挙にいこう :2000/09/14(木) 14:28
>17
そうなの?ヘルプファイル専用では?
作るの面倒だし。
19名無しさん@そうだ選挙にいこう :2000/09/14(木) 16:18
>17
M$-Stac でわ? rfc2118
20名無しさん@そうだ選挙にいこう :2000/09/15(金) 15:55
圧縮するよりHTMLや画像ファイルやclassファイルなどを一まとめにして転送・表示できるプロトコルがほしい
HTTPでも出来ないことはないと思うけど・・・
21名無しさん@そうだ選挙にいこう :2000/09/17(日) 03:27
以前、ルータ間でcodecする場合と、end-to-endでcodecする場合の
パフォーマンスをシミュレータ使って比べてた。OPNETってシミュレ
ータのトレーニング項目だったよ。end-to-endのほうが速かった気
がした。
22名無しさんHD64180 :2000/09/18(月) 03:45
ISP側にMIME: text/* とかのコンテンツだけ圧縮がかかる
proxyサーバをおいて、細い線のこっち側のその逆をするような
proxyを置くようなメカニズムってないのだろうか...
サーバとかプロトコルとか変更しなくても出来そうだけど。
負荷の問題が発生するかな。

ルータのPredictorとかでかかる圧縮より圧縮率高そうなんだけど。
だめかなぁ って、誰かやってません?
23名無しさん@そうだ選挙にいこう :2000/09/18(月) 04:25
サーバに無駄な負荷がかかって余計に重くなりそうですな。
24名無しさん@そうだ選挙にいこう :2000/09/18(月) 04:27
サーバ側なら予め圧縮しとけばいいのでは?
25名無しさんHD64180 :2000/09/18(月) 09:12
>>23 ですよね。SSLとかより重そうですよね。

>>24 そうじゃなくて

Webサーバ -太い線-> ISPの圧縮付きproxy --細い線-- 伸長付きproxy -LAN--> Webブラウザ

ってことですよ。これなら、どんなコンテンツにも対応できない?
26名無しさん@そうだ選挙にいこう :2000/09/18(月) 11:50
サーバ&プラウザの対応が不要な点でグー
あと、POPやNNTPにも対応できそう
proxy作って!>>25
27名も無き少年 :2000/09/18(月) 11:56
圧縮の問題は、処理に時間がかかって結果として転送より遅くなって
しまうと意味がないんじゃないか、という……。いや、
トラフィック的にはいいんだろうけど。キャッシングである程度
緩和できるかな? HTTPアクセラレータ(リバースプロクシ?)で
その手の製品ないのかな。

あと、HTTPに限っていえば、トラフィックのほとんどはtext/*
以外じゃないのかな。画像をてきとーにまびいたほうが効果あがる
よん、とかIntelあたりがいってたような。
2825 :2000/09/18(月) 13:44
>>26 NNTPとかPOPとかには効果的かもしれませんね。
でも、今思ったんですが、sshのport forward に圧縮かませれば
結構ゆけたりして... どうなんでしょうか。
>>27 その分析は正しいですね。たぶん、Webでのコンテンツの
ほとんどは、ふつうの可逆圧縮が効果的なものじゃないですよね。
27さんが指摘しているように、Intelがそんなことを言っていて、
なにか、Intel の実装があったような気がしましたが、よく
知りません。知っています?

29名無しさん@そうだ選挙にいこう :2000/09/18(月) 14:48
>>27
うちのproxyのトラフィックのだいたい5割は画像で、
4割はわけわからない圧縮ファイルとかいろいろ。
のこり1割がテキスト。
圧縮のききそうなものはあまりないのが実際のところかな。
30名無しさん@そうだ選挙にいこう :2000/09/18(月) 18:28
2chなら効果があるんだけどねぇ
31名無しさん :2000/09/18(月) 21:43
context-encoding: gzip なストリームを展開して流してくれる
proxyならIBMが出しているけどね。逆はみたことないなぁ。
でも、delegate ならHTTPヘッダも含めて、外部フィルタ使って
いろいろ変換できるから、自分でちょっとスクリプト組めばすぐ出来そうだ。
3232 :2000/09/18(月) 21:58
ちなみに以前同じようなことを試したときは、
proxyと自分のマシンが速度が遅くても順調に
データが流れているときは、ブラウジングの
体感速度が上がった。けど、データがつっかえ
つっかえ送られてくるときは、gzipってある程度
データが来ないと展開できないから表示されはじめる
までの時間が長くてかえっていらいらした。
3331 :2000/09/18(月) 21:58
ちなみに以前同じようなことを試したときは、
proxyと自分のマシンが速度が遅くても順調に
データが流れているときは、ブラウジングの
体感速度が上がった。けど、データがつっかえ
つっかえ送られてくるときは、gzipってある程度
データが来ないと展開できないから表示されはじめる
までの時間が長くてかえっていらいらした。
3431 すまん、二度書き :2000/09/18(月) 21:59
35名無しさん@そうだ選挙にいこう :2000/09/18(月) 22:58
論文も出てるみたい。pass掛かってるけど。
USENIX99かな?
Compression Proxy Server: Design and Implementation
http://www.usenix.org/events/usits99/chi.html
3635 :2000/09/18(月) 23:02
>>32
そういう意味では28の言うようにssh使って圧縮した
ほうがいいかもね.
gzipでも時々フラッシュしたらいいけど。
37名無しさん@そうだ選挙にいこう :2000/09/21(木) 00:23
http://itpro.nikkeibp.co.jp/free/NIT/NEWS/20000919/1/
自動的にコンテンツ圧縮、フォーマット変換などを行い、Web アクセスを高速化する
Transparent Proxy が発表になった。PacketShaper の製品。
38名無しさん@1周年
ここで総括されているね。
mod_gzip というものもある。
http://apachetoday.com/news_story.php3?ltsn=2000-10-13-002-01-NW-HE-SW