2012-02-17 2 views
1

:私が使用相対リンクはサイトリンクよりもはるかに高速ですか?私は相対リンクとは対照的に、以下に示すように、サイトのリンクを使用する傾向がある私のウェブサイトに

<link rel="stylesheet" type="text/css" href="http://www.example.com/_css/_all/stylesheet-global-styles.css" /> 

オルタナティブ(相対):

<link rel="stylesheet" type="text/css" href="/_css/_all/stylesheet-global-styles.css" /> 

サイトリンクを使用するのは、次のような洗練されたURLを使用しているからです。

example.com/test => example.com/test.php

example.com/test/1 =>として

example.com/test.php?id=1 2番目の例の中の複数の '/'の結果、私のページはそれらがウェブサイトのサブディレクトリにあると考えるので、私は '../'を入れないと '相対的な'リンクは動作しません。私はこれができません。なぜなら、クエリ文字列が存在するかどうか、存在するディレクトリの数に基づいてディレクトリを意味するからです。その結果、サイトのリンクを使用して必要なコンテンツを含めることを余儀なくされています。

私は、各リクエストがDNSルックアップを実行しなければならないことを知っていますが、これは遅くなりますが、私がリンクしている場合、5スタイルシートとスクリプトはどれくらい遅いですか?

+0

わからないが、それは実際に違いを作るとは思いません。 – elclanrs

+0

[Performance:Absolute vs. Relative URLs]の重複可能性があります。(0120-998-100) –

+0

@そのトピックでクリックしたトピックをクリックすると多少異なるようです –

答えて

7

相対リンクはサイトリンクよりもはるかに高速ですか?

いいえ、それらは同じであるためです。相対リンクは、単にブラウザが提供するウェブマスターの便宜のためのものです。それらはまた、最終的に絶対的なリンクに解決されます。サーバーに送信されるすべての要求には、常に完全なホスト名とパスが含まれます。

DNSルックアップはキャッシュされているため、システムが正しく構成されていると複数のルックアップはありません。

+0

完璧な答えは、ありがとう! –

+0

私は、相対リンクはブラウザ側でちょっとオーバーヘッドを追加してサイトリンクに変換するだけですが、オーバーヘッドは無視できます:-) – nemesisfixx

+0

私は上記の答えを読んだ後に考えました。ありがとう、とても助かりました! :-) –

2

実際には違いはありません。背後では、ブラウザはリンクを完全なURLに変換します。 DNSルックアップはキャッシュされているため、DNSルックアップコストは最小です。

IMHO、相対リンクは維持しやすくなります。あなたは最も便利だと思う技術を使ってください。ここではパフォーマンスは問題ではありません。

パフォーマンスを向上させたい場合は、スタイルシートを1つのファイルにまとめて縮小するほうがずっと良いでしょう。スクリプトファイルも同様です。

+0

私はこれをとにかくやっています、ありがとうございます –

+0

私は個人的に相対リンクが維持しやすいと信じていません。特にURL書き換えを使用する場合。 – Marle1

+0

SEOについて懸念している場合は、先に言及したことを忘れて、CSSを縮小しないでください。 GoogleはよくコメントされたCSSファイルを尊重しています。したがって、私はJS –

0

/を参照の前に使用すると、あなたのパスは絶対にあなたのウェブサイトのルートから始まります。

+0

私はこれが質問者に知られていると思います – HerrSerker

+0

あなたの入力に感謝していますが、これは質問には関係ありませんが、/ – Marle1

2

ブラウザのリンクをクリックするとどうなりますか?
ブラウザはHTTP要求を開始します。

どのように表示されますか?
あなたはhttp://www.example.com/path1/page1.html

上にあり、リンク
../path2/page2.htmlまたは
/path2/page2.htmlまたは
http://www.example.com/path2/page2.html
をクリックして要求が常に要求と同じ

GET /path2/page2.html HTTP/1.1 
host: www.example.com 

そうに違いがない場合

組織に自由に感じてくださいあなたのようにあなたのリンクをanize。

-2

は、なぜあなたはこれが

//yourapp.com/assets/css/style.css 
//yourapp.com/assets/js/jq.js 

//yourapp.com/cp/register 
//yourapp.com/cp/update_account 

//が文字通りSSL場合は非SSL場合、それは常に解決することを意味しません。いいえ 速度の差もありません。

reference on double slash domain //site.com and for ssl non ssl

+3

で始まるパスで絶対的な、彼の代替(相対)他の回答をお読みください –

+0

これは良い情報ですが、質問には答えません – HerrSerker

+0

フィードバックありがとう – TheBlackBenzKid