2017-09-25 13 views
0

私のサイトはすなわち相対または絶対プロトコルがDNSプリフェッチのパフォーマンスに影響しますか?

<script type="text/javascript" src="//somewhere.com/script.js"></script> 

(注意:をスクリプトタグは、ページのロード後にスクリプトをフェッチするために非同期的に注入され)、相対的なプロトコルで外部のJavaScriptをロード

が、私のDNSプリフェッチタグであります

<link rel="dns-prefetch" href="http://somewhere.com/script.js"> 

このように、HTTPS経由でサイトをロードすると、プリフェッチはhttpで、スクリプトはhttpsです。これについてChromeコンソールに警告は表示されません。

これらの一貫性を保つことに加えて、dnsプリフェッチリンクを相対プロトコルに変更すると、パフォーマンス上の利点はありますか?

私が考えていたことは、すべてのDNSプリフェッチがホスト名からIPを解決するため、SSLハンドシェークを行う必要がないようにプリフェッチでhttpを使用することが実際に有益かもしれないということでした。しかしこれはdns-prefetchリンクがブラウザにネットワーク要求をするように指示していることを前提としています。

+0

どちらの場合もtlsハンドシェイクはありません。 DNSにはそのようなことはありません。 – captncraig

+0

プリフェッチは、とにかくすぐに読み込まれるスクリプトのようなものでは本当に必要なものではありません。後で開始されるリンクやコンテンツなど、ユーザーのやりとりによって後で開始されるものの方が多くあります。 – captncraig

+0

'// some.script.js'は相対的なプロトコルURLではありません。 '// SERVER_NAME/some.script.js'はそのようなプロトコルURLになります。 –

答えて

1

次の3行、ブラウザでサポートされている、同じ操作を行います。

<link rel="dns-prefetch" href="http://SERVERNAME/some.script.js"> 

<link rel="dns-prefetch" href="https://SERVERNAME/some.script.js"> 

<link rel="dns-prefetch" href="//SERVERNAME/some.script.js"> 

彼らはすべてそのような情報が存在しない場合、DNSリゾルバからAとAAAAリソースレコードを要求しようブラウザのネームサービスキャッシュに保存します。

したがって、パフォーマンスは同じです。

関連する問題