技術的な観点からの違いはありません。 HTTPリクエストを作成する前に、ブラウザは絶対URLを作成する必要があります。には、URLの解決方法の詳細な説明が含まれています。 href
属性の場合第4のステップは、関連性があります。
アルゴリズムが絶対URLで呼び出されてベースURLとして使用される場合は、base
を絶対URLとします。
それ以外の場合は、base
を要素のベースURLとします。
"要素のベースURL"は、明示的に変更しない限り、通常、ドキュメントのベースURLと同じです。
URLの表記が異なる点。パラメータbase
とURLがパーサに渡され、パーサはこれらの値から絶対URLを作成します。ドキュメントのURLがhttps://example.com/foo/bar.html
の場合、/stackoverflow
とhttps://example.com/stackoverflow
を解決すると、同じURL(https://example.com/stackoverflow
)が返されます。
通常、ブラウザはURLを解決した後、サーバーにHTTP要求を行います。 DNSキャッシュにはおそらくそのホストのエントリが含まれているため、これはDNS要求を含まない可能性が高いです。
HTTPリクエスト自体も同じように見えます(ホスト名とパスは別々に送信されます)。
パフォーマンスについては、文字通り違いはありません。 (DOM内のベースURLを見つけるために必要な数ナノ秒を考慮しない限り。)
これは表記の問題です。相対URL(ドキュメントまたはルートディレクトリに対する相対URL)を記述するのが簡単ですが、静的なウェブサイト以外のものを作成する場合は、サーバー上に絶対URLを生成します。たとえば、ルートディレクトリではなくサブディレクトリにアプリケーションを使用すると、ルートのすべての相対URLが破損する可能性があります。
同じことがSEOにも当てはまりますが、検索エンジンとクローラはブラウザと同じように絶対URLを構築します。