[ネットワーク] HTTP Status 301 の理解

この記事は3年以上前に書かれた記事です。情報が古い可能性があります。

URLでディレクトリ指定する場合に、URLの最後に “/” をつけないと、HTTPレスポンスのステータスは200ではなく301になる。301の場合、そのレスポンスヘッダ内の Locationフィールドに正しい転送先が書かれているので、ブラウザは自動的に(暗黙的に)そちらのページをリクエストして表示している。

つまり、 http://example.net/hoge という指定で要求すると、HTTPサーバは「そっちじゃないよ。こっちだよ」と http://example.net/hoge/ (← スラッシュがついている)を再度要求するようにいってくる。なので、ブラウザはもう一度 “/” 付きで要求している。

つまり、”/” なしだと、2回の要求、応答が発生している!

ディレクトリにブックマークやリンクをする際は、なるべく “/” 付きでやる方が、ネットワークやサーバにやさしい、というお話でした。

参考:
https://developer.mozilla.org/ja/docs/Web/HTTP/Status

タイトルとURLをコピーしました