perlで書いたCGIファイルのGETリクエストが400 Bad Requestで返されるようになった
これまで正常に稼働していたCGIファイルのGETリクエストが400 Bad Requestで返されるようになりました。
突然、リクエストが400 Bad Requestになったというよりは、Webサーバーのバージョンがアップしたという前兆はありましたが、、
下記のように記述していたGETコマンドのリクエストが処理されなくなりました。
GET "/ HTTP1.0\n" .
"<HTTP-Header-Name>: <Value>\n\n";
原因は、やっぱりWebサーバーのバージョンアップでした。
Apacheのバージョンが上がって改行コードの記述方式が厳格になったみたいです。
\n
ではなく、
\r\n
で記述することが大事みたいです。
結果的に下記のように改修することで今までと同様、正常にGETリクエストが処理されるようになりました。
"GET / HTTP1.0\r\n" .
"<HTTP-Header-Name>: <Value>\r\n\r\n";
ささいなことでしたが意外に改行コードに触れている記事がなかったので記述しておきます。
ディスカッション
コメント一覧
まだ、コメントがありません