3

ブラウザが次のようなリンクに遭遇したとしましょう。

<a href='stackoverflowhome.html'>home</a>

これは明らかに現在のディレクトリ内のhtmlファイルへの相対的なURLですが、ブラウザは.htmlがTLD(トップレベルドメイン)ではなくファイル拡張子であることをどのように認識しますか?一般的なファイル拡張子のリスト、またはTLDのリストはありますか?もしそうなら、新しいファイル形式が一般的に使用されるようになったとき、または受け入れられたTLDのリストが変更されたとき、たとえばブランドTLDで、手動で更新されますか?

4

3 に答える 3

5

これは、RFC3986がURIを解析するように指定したためです。URIにscheme((文字のセットの後にコロンが続く-例:http:またはgopher:))がない場合は、相対URIとして扱う必要があります。RFCからの引用:

URI参照は、URIまたは相対参照のいずれかです。URI参照のプレフィックスが、コロン区切り文字が後に続くスキームの構文と一致しない場合、URI参照は相対参照です。

ユーザーエージェントは、特にコンテキストがあいまいな場合(ブラウザのURLバーなど)に、ユーザーが何を意味するかについて最善の推測を行うことができます(セクション4.5を参照)が、RFCは、URIがユーザーエージェントの最良の推測は時間の経過とともに変化するため、長い間、アクセスされた時間またはアクセスされたユーザーエージェントによっては同じリソースに解決されないURIが発生します。

于 2012-09-04T13:12:16.793 に答える
0

相対URLがドメイン名になることはありません。

URLには、プロトコルがある場合にのみ、ドメイン名を含むものとして解析されます。(またはプロトコルに相対的です)。

于 2012-09-04T13:09:10.833 に答える
0

http:// URLはプロトコル指定子(noまたは、)で始まらないhttps://ため、相対URLとして解釈されます。

于 2012-09-04T13:10:24.170 に答える