AN HTTPD ゲストブック/コメント集(2001年12月11日20:54)


中田昭雄 nakata@st.rim.or.jp 2001/12/11 21:25

朝日薫さん、
そうですね、それは Content Negotiation の時に同時に実装しようと zlib を使って途中までやってあるのですが、今一つうまくいかなくてペンディングになっています。
もう少しお待ち下さい。

stderr の表示は NT/2000/XPでの話ですね(?)。
'\n' のせいではなかったような気もしますが、確認して改善します。


朝日薫 askn@mail.hinocatv.ne.jp 2001/12/11 20:54

お久しぶりです。久々の投稿、というかちょっとした要望でございます。

最近トラフィック軽減を目的に gzip で圧縮したページを返す掲示板がちょこちょこ増えてきました。
これは IE4以降、NN4.7以降が「Accept-encoding:」に対応している圧縮形式を述べ、
Webサーバ(Apache)が要求ページに「Content-encoding:」ヘッダを付加することで実現しています。
例えばブラウザが「index.html.gzip」を要求し、同時に
「Accept-encoding: gzip, deflate」というヘッダも送ったとします。
サーバではこれを見て「gzip形式のまま送り返してもよい」事を知り、該当ページを(解凍しないで)
HTTP/1.0 200 OK
Content-type: text/html
Content-encoding: gzip

(圧縮されたままのデータ)
で応答するわけです。そうするとブラウザはgzipを自動解凍してHTML本体を表示できます。
これは画像ファイルその他にも応用できるので結構便利だし、回線高速化にも相当の効果があります。
これを AnHttpd でも実現できないでしょうか?
現在のところ AnHttpdは「Content-encoding:」を返さないため、ブラウザ側は「バイナリファイルのDL処理」(ダイアログを出して保存場所を要求)をする動作になってしまっています。
(もちろん MS-DOS版 gzipを持ってる人でもなければろくに活用できないですが)(^_^;

もう一点細かいことですが、500エラー時にPerl等のSTDERRを取り込んで表示してますが、
「\n」で折り返さないためせっかくのエラー表示がよみづらく感じます。
pre あるいは xmp タグで囲んでいただけると、よみやすくなると思いました。

以上よろしくご検討ください。