ブラウザでホームページURLをクリックすると、末尾のスラッシュが自動的に追加されますか?


17

ホームページへのリンクにカーソルを合わせると(たとえばhttp://www.example.com)、ブラウザのステータスバーで確認されるように、末尾のスラッシュが常に追加されることに気づきます)ホームページリンクに次で終わるhref属性が含まれているかどうかしかし、私がホームページにいるときはいつでも、表示されているURLの末尾にスラッシュはありません。

URLバーのURLにスラッシュを入力してみました。また、Firebugを有効にすると、サイトは常に200 OKステータスを返します。これについて説明しているここの記事では、最後にスラッシュがあると、301リダイレクトが回避されると述べられています。しかし、このページでもリダイレクトは見られません。

これは、スラッシュを追加しているブラウザ機能ですか?


はい。例えば、私はOperaはスラッシュを隠しだと思う(と、それはまた、DEVに時々どのドライブ私は狂気のプロトコルを隠す!)...
マット・

ここで質問は何ですか?(または質問のポイント。)そして、あなたが参照している「その」サイトとは何ですか?たとえば、ここでウェブマスターと一緒にチェックすると、FirefoxとChrome(私は完全なテストを行っていません)では、スラッシュの追加に関する説明行われません。実際には、スラッシュを追加しようとすると、スラッシュが強制的に削除されるようです。
Su

@Su '、私は任意のサイトを指し、ステータスバーはブラウザの下部に表示されるものを指し、URLバーは上部のアドレスバーを指します。混乱を招いた場合は申し訳ありません。
質問オーバーフロー

2
@Matt Operaはクエリ文字列(?URLの後のビット)も隠しますが、これはかなり馬鹿げたIMOです。
DisgruntledGoat

回答:


28

はい、すべてのメインストリームブラウザは、裸のドメイン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ます。


答えに追加するには、ホームページにリンクするたびに、末尾のスラッシュを追加してサーバーリソースを節約します。
アナジオ

5
@アナギオ私はあなたが答えを理解するとは思わない。リダイレクトがないため、サーバーリソースをまったく節約しません。スラッシュがあるドメインとないドメインは、100%同じです。つまり、それぞれに異なるコンテンツを返す方法まったくありません(ディレクトリURLで実行できます)。
-DisgruntledGoat

1
@DisgruntledGoatは、末尾のスラッシュを省略し、サーバーがリダイレクトする場合、リンクに末尾のスラッシュを追加すると、サーバーがページにリロードする必要がなくなります。これは、Googleがそれで素晴らしい記事を持っている残りの部分にこのスラッシュ話を置くために、私ができたすべてですgooglewebmastercentral.blogspot.com/2010/04/...
Anagio

5
@Anagioその記事はディレクトリの末尾のスラッシュに関するものですが、この質問はドメインの末尾のスラッシュに関するものです。上記の回答が示すように、サーバーへのリンクexample.comまたはexample.com/その両方がサーバーへのまったく同じ要求を必要とするため、違いはゼロです。
-DisgruntledGoat

3
…ブラウザがこれを「修正」するためです。
unor
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.