Content-Lengthヘッダを仕込んだはずなのに…orz...な件

Content-Lengthヘッダを仕込んだはずなのに、例えばブラウザにファイルサイズが伝わらなくて、ダウンロード残り推定時間が表示されないとか、ともかくContent-Lengthが機能してない!っとなった場合。

Apacheがgzip圧縮してませんか?
つまり、Apacheのmod_deflateモジュールが動いてませんか?

これに該当する場合の対処法です。
アプリケーション側で設定するので、Webサーバの設定なんていじれないよ、って場合でもオーケイなはず。
もっとも、アプリケーション側からの設定が許可されてない場合も考えられるので、悪しからず。。

・PHPの場合
apache_setenv('no-gzip', '1');

Content-Length header が送信されない|PHP WalkerLink
Apache環境変数に"no-gzip"を立てておくと、mod_deflateモジュールが抑制されるらしい。
らしい、というのは、

Apache モジュール mod_deflateLink
この記事内に、使用例は書いてあるけど、
「Apache環境変数に"no-gzip"を立てておくと、mod_deflateモジュールが抑制される」
とはどこにも書いてません…。
書いてあるとしたらこのページだと思うのだが…。

まあ、実際のヘッダを見ると変わっていたから、作用しているのは確認できた。

差分をとってみると、下記ヘッダが変わっていた。
mod_deflateモジュールが有効な場合:
Vary に Accept-Encoding が追加。
Content-Encoding が gzip に。
Transfer-Encoding: chunked が追加。


・他言語の場合
「PHPの場合」などと書いてしまったので、これも必要なのだろうけど…
、だろうけど…それぞれの言語でApache環境変数を設定する方法を調べて下さい。。。。。
まあ、ここまででもヒントにはなるでしょう。と自己満足。
ブログなんて自己満足でやるもんだろーーー。
(他言語で実装する機会があったら、そして解決できたら書きまする)

PHP

— posted by たか at 08:34 pm   pingTrackBack [0]

この記事に対するコメントはありません

T: Y: ALL: Online:
ThemeSwitch
Created in 0.0037 sec.
prev
2024.12
next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
 
blogBar
Firefox3 Meter