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"; 

ささいなことでしたが意外に改行コードに触れている記事がなかったので記述しておきます。