Django 組み込みのWebサーバーにIE6からPOSTデータを送ると送信がリセットされる

仕事場で、Django 組み込みの Web サーバーを使って(Apache等使わずに)ユーティリティアプリを作成して使っていたのだが、FireFoxを使っている自分は問題ないのだが、かたくなにIE6を使い続けるおじさんがそのアプリを使うと、画面が真っ白になってしまう現象に見舞われた。

たいてい、少し多めのデータといっても、KBレベルのテキストをPOSTデータとして送信すると発生。少量だと発生しない。

HttpResponse を返す直前に、内容をはき出してみても問題なさそうなので、問題は、フレームワーク(Django)以降だろうと思い、Wiresharkでパケットを見てみると、どうも RSTフラグが送られてきてコネクションを切断しているようだ。

django_err01

件のおじさんは FireFox にする気はなく、なんとか使えるようにとのこと。。。

んー Windows Server に Apache いれれば何とかなるかと思ったが、Python2.6 用の mod_python は今のところないようだし

 

と、途方にくれながら、Django のソースを見ていたら、

\Python26\Lib\site-packages\django\core\servers\basehttp.py

に、http_version = “1.0” の記述。

こいつを、”1.1″ に修正したら、使えるようになった。

django_err02

理由はよくわからない(今後の課題)が、とりあえずめでたし。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です