2011年7月21日木曜日

(小ネタ)IEの512byte問題。圧縮転送したらさらに問題

■概要

通常HTTPリクエストに対して成功した場合は、HTTPレスポンスコード200で返答します。しかし「ページが見つからない場合」は通常404で返します。

しかしカスタマイズした404.html等を準備し、レスポンスコード404で返しても、IEは下記のような残念な画面を表示される事があります。



準備したhtmlを表示したいので何とかする必要があります。

■説明

IEには特別な仕様があり、「HTTPエラーメッセージを簡易表示する(デフォルトはオン)」というオプションの機能により「512byte」以下のContent-Lengthで返信した場合は文字通り「簡易表示」してしまいます。

またこの仕様はたちの悪い事に「圧縮転送後のサイズが512byte」になります。よってgzip転送を行うとそれなりのサイズで返信しても「簡易表示」される可能性があります。

よって
  • 無駄な内容を追加して圧縮後も512byteを超えるようにする
  • 圧縮転送設定を上記の場合はオフにする
のような対処がいります。

■参考

http://neta.ywcafe.net/000558.html

0 件のコメント:

コメントを投稿