はい、すべてのメインストリームブラウザは、裸のドメインURL(つまり、ホームページ)を要求するときに、HTTP要求に「スラッシュを追加」します。これは、HTTPリクエストを有効にするために実際に必要http://example.com/
です。
GET / HTTP/1.1
Host: example.com
/
最初の行の(スラッシュ)に注意してください-これは要求されているURLです。ここに何もないとは無効です。RFC 2616から:
絶対パスを空にすることはできません。元のURIに何も存在しない場合、「/」(サーバールート)として指定する必要があります。
ブラウザがサーバーに対して行うHTTPリクエストを確認する必要があります。「ブラウザのステータスバー」に表示されるURL、またはアドレスバーのURLでさえ異なる場合があります-よりユーザーフレンドリー。リクエストにスラッシュが含まれていても、Google Chromeはステータスバーに末尾のスラッシュを追加しません。
http://example.com
ブラウザがHTTPリクエストを行う前に修正するため、指定した場合(スラッシュなし)、301リダイレクトは発生しません。
これは、パス/ディレクトリがある場合にURLの末尾に追加されるスラッシュとは異なることに注意してください。例えば。http://example.com/directory/
。リンク先の記事は両方を同じように扱っているようで、完全に正しいIMOではないようです。あなたがリクエストした場合http://example.com/directory
(スラッシュなし)、ブラウザはスラッシュを追加せず、はい、ほとんどのサーバーは301リダイレクトhttp://example.com/directory/
(スラッシュ)しますが、これはサーバーに依存します。単に壊れる可能性があります!たとえば、Apacheでは、これはDirectorySlash
に設定されているディレクティブに依存していon
ます。