X-DNS-Prefetch-Control使用根据官方解释:X-DNS-Prefetch-ControlHTTP响应头控制DNS预取功能,通过用户可以选择跟随的链接,以及通过文档中的URL链接,包括图像、CSS、JavaScript和其他参考项,由浏览器主动执行域名解析。此预取在后台执行,以便在需要引用某个项目时DNS可能已经解析。这减少了用户点击链接的等待时间。当浏览器请求一个URL时,大概有以下几个过程:阻塞、域名解析、建立连接、发送请求、等待响应、接收数据。后四项跟用户的网络情况和你服务器的处理速度有关。阻塞:解决方案——增加浏览器的并发连接数不同的浏览器对单个域名的最大并发连接数有一定的限制,HTTP/1.0和HTTP/1.1也不尽相同。比如在HTTP/1.1协议下,IE6的并发连接数限制为2;在HTTP/1.0下,IE6的并发连接数可以达到4个。其他浏览器也有类似的限制,一般是4到8个。此时如果浏览器同时发起多个域名请求,如果超过limit,就会有等待,也就是阻塞。 那么为了解决被屏蔽的问题,我们可以把一些网址的域名打散。比如我们的图片域名一般都是用img.guoweiwei.com这样的域名。当一个页面包含超过20张图片时,至少会屏蔽10个请求,如果我们分散到不同的域名比如img0.guoweiwei.com/img1.guoweiwei.com/img2.guoweiwei.com/...,至少这些并发处理20个图片请求,网站打开速度明显提升很多。同样,一些css/js域名也可以用同样的方式处理。比如小米PC官网https://www.mi.com/解决阻塞问题的配置如下(1)、使用meta信息告知浏览器当前页面应该是DNS预解析:(2)、在页面头部使用link标签强制DNS预解析:注意:dns-prefetch需谨慎使用,在多个页面重复DNS预解析会增加DNS重复查询次数。需要注意的是,虽然使用DNSPrefetch可以加快页面的解析速度,但不能滥用,因为有开发者指出,禁用DNSPrefetch每月可以节省100亿次DNS查询。如果需要禁用隐式DNS预取,可以使用以下标记: