404 Not Found

ステータス200なのに「その商品はありません」

Web屋のネタ帳さんが、「404を返すべきときにきちんと404を返す」ようにするべきだ、というようなことを述べている。もっともだと思う。上記では検索エンジンクローラーにとってHTTPヘッダの情報が重要であることなどを指摘しているが、もうひとつとても困ることがある。それは何か。

実はWebアプリケーションのセキュリティ検査が非常にやりにくくなるのである。私は仕事でこの手の検査をよく行うのだが、検査作業を自動化してくれるツールの多くがHTTPヘッダ情報を重要な判断基準として採用している。つまりセキュリティ上の問題がある場合に、404になるべきところで200 OKになったりするのをチェックしているのだ。

ところが404を返すべきときにそもそもきちんと404を返すようになっていないWebサイトの場合、セキュリティ上の問題があるのかどうか、ツールによる自動的な判定ができなくなる。その結果、人手による判断が必要になって余計な作業が増えることになる。

ユーザにとって不便であるだけでなく、セキュリティ検査を行うエンジニア泣かせでもあるわけ。