| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <html> |
| <head> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <title>Pre-Resolve DNS</title> |
| <link rel="stylesheet" href="doc.css"> |
| </head> |
| <body> |
| <!--#include virtual="_header.html" --> |
| |
| |
| <div id=content> |
| <h1>Pre-Resolve DNS</h1> |
| <h2>Objective</h2> |
| <p> |
| Reduce DNS lookup time by pre-resolving at the browser. |
| </p> |
| |
| <h2>Configuration</h2> |
| <p> |
| The 'Pre-Resolve DNS' filter is enabled by specifying: |
| </p> |
| <dl> |
| <dt>Apache:<dd><pre class="prettyprint" |
| >ModPagespeedEnableFilters insert_dns_prefetch</pre> |
| <dt>Nginx:<dd><pre class="prettyprint" |
| >pagespeed EnableFilters insert_dns_prefetch;</pre> |
| </dl> |
| <p> |
| in the configuration file. |
| </p> |
| |
| <h2>Description</h2> |
| <p> |
| DNS resolution time varies from <1ms for locally cached results, to hundreds |
| of milliseconds due to the cascading nature of DNS. This can contribute |
| significantly towards total page load time. This filter reduces DNS lookup time |
| by providing hints to the browser at the beginning of the HTML, which allows the |
| browser to pre-resolve DNS for resources on the page. |
| </p> |
| |
| <h2>Operation</h2> |
| <p> |
| This filter inserts the tag <code><link rel="dns-prefetch"></code> (or |
| <code><link rel="prefetch"></code> for IE9) in the HEAD section, for all |
| domains present in the HTML document. |
| </p> |
| |
| <h2>Example</h2> |
| <p> |
| The example below shows the HTML before rewriting: |
| </p> |
| |
| <pre class="prettyprint"> |
| <html> |
| <head> |
| </head> |
| <body> |
| <img src="www.domain1.com/image1.jpeg"> |
| <script src="www.domain2.com/script1.js"> |
| </body> |
| </html> |
| </pre> |
| |
| <p> |
| and after rewriting: |
| </p> |
| |
| <pre class="prettyprint"> |
| <html> |
| <head> |
| <link rel="dns-prefetch" href="//www.domain1.com"> |
| <link rel="dns-prefetch" href="//www.domain2.com"> |
| </head> |
| <body> |
| <img src="www.domain1.com/image1.jpeg"> |
| <script src="www.domain2.com/script1.js"> |
| </body> |
| </html> |
| </pre> |
| |
| <h2>Limitations</h2> |
| <p> |
| This filter will be applied only on Firefox 3.5+, Chrome, Safari 5+ and IE |
| 9+. |
| </p> |
| |
| <h2>Risks</h2> |
| <p> |
| This filter is considered minimal risk. |
| </p> |
| </div> |
| <!--#include virtual="_footer.html" --> |
| </body> |
| </html> |
| |