6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Resource HintsでpreconnectとDNS-Prefetchを併記

Last updated at Posted at 2017-12-05

##目的
relプロトコルは併記が可能なはずだが、preconnectとDNS-Prefetchを併記した事例を見かけない。もしや前例がないから誰もやらないのではないか?本当はよくわかってないのではないか?と思ったので試してみる。

##海外事例でprerenderとprefetchを併記した例
http://ipullrank.com/how-i-sped-up-my-site-68-percent-with-one-line-of-code/
GAのデータから次に最も遷移するURLをprerenderに動的に出力する仕組みについての記事。prerenderはFirefoxで動かないので、prefetchを併記しているとのこと。

##Resource Hintsの仕様
https://w3c.github.io/resource-hints/

##Resource Hintsのサポートブラウザ
https://caniuse.com/#search=Resource%20Hints
肝心のiOSのSafariとChromeがDNS-Prefetchに対応しているか不明とのこと。

##実施内容
<head> の上部にpreconnectとdns-prefetchのURLを書く。preconnectを優先する形でdns-prefetchと併記する。

<link rel="preconnect dns-prefetch" href="外部リソースのURL">
<link rel="preconnect dns-prefetch" href="外部リソースのURL">
<link rel="preconnect dns-prefetch" href="外部リソースのURL">
<link rel="preconnect dns-prefetch" href="外部リソースのURL">
<link rel="preconnect dns-prefetch" href="外部リソースのURL">

##結果
Connectingまでが先読みされたので、preconnectがちゃんと効くことがわかった。prerenderやpreloadやpreconnectを使う場合はdns-prefetchも書いておくとよさそう。preconnectが動作しないブラウザでdns-prefetchが動作するテストはしていない。

image.png image.png
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?