场景一:作为网站开发者/站长,想为我的网站禁用 DNS 预读取
如果您是网站的管理者,不希望浏览器对您网站上的某些外部链接进行预读取,您可以通过在网页的 HTML 的<head>
部分添加特定的<meta>
标签来实现。
方法:使用 HTML Meta 标签
在您网站的全局页头(例如header.php
或类似的模板文件)中,添加以下代码:
<meta http-equiv="x-dns-prefetch-control" content="off">
作用这行代码会指示支持此功能的浏览器全局关闭对该页面的 DNS 预读取功能。
注意这是一种“全有或全无”的方法,会关闭页面上的所有预读取。
更精细的控制:禁止预读取特定域名
如果您只是想禁止浏览器预读取某些特定的、可能涉及隐私的第三方域名,而不想完全关闭该功能,更好的做法是不设置上述 meta 标签,而是简单地不使用了rel="dns-prefetch"
的链接标签,因为浏览器自动进行的预读取主要基于页面中的链接(<a>
标签),您无法直接禁止对某个特定域名的自动预读取,但可以通过不手动添加预解析提示来避免。
场景二:作为普通用户,想在我的个人浏览器上禁用此功能
如果您是出于隐私考虑(不希望浏览器提前解析您尚未点击的链接),或者遇到了一些罕见的网络问题,希望在自己常用的浏览器上完全关闭此功能,可以按照以下步骤操作。
1. 在 Google Chrome、Microsoft Edge(Chromium 版)、Brave、Vivaldi 等基于 Chromium 的浏览器中
方法一:通过 Chrome Flags 页面(最简单)
1、 在浏览器地址栏中输入:chrome://flags/#disable-dns-prefetching
2、 页面会自动定位到“Disable DNS prefetching” 这一选项。
3、 点击下拉菜单,将其从Default
或Disabled
改为Enabled
。
4、 根据提示,重新启动浏览器即可生效。
方法二:通过命令行参数(高级用户)
如果您是通过快捷方式启动浏览器,可以修改其属性,添加启动参数:
1、 右键点击浏览器的快捷方式,选择“属性”。
2、 在“目标”栏位的最后面,先加一个空格,然后输入:
--disable-dns-prefetching
3、 点击“确定”保存,之后通过这个快捷方式启动浏览器,该功能就会被禁用。
2. 在 Mozilla Firefox 中
Firefox 中关闭此功能需要通过高级配置页面。
1、 在地址栏输入about:config
并按回车。
2、 页面会提示“小心行事”,点击“接受风险并继续”。
3、 在顶部的搜索框中输入:network.dns.disablePrefetch
4、 找到该选项,默认情况下其值为false
(即启用预读取)。
5、 双击这一行,将其值改为true
,修改后立刻生效。
还有一个相关选项:network.dns.disablePrefetchFromHTTPS
(仅针对 HTTPS DNS 记录),如果您需要,也可以同样将其设置为true
。
Safari 没有直接提供给普通用户关闭 DNS 预读取的图形界面选项,通常需要通过终端命令来修改系统级或应用级的偏好设置,但这比较复杂且不推荐普通用户操作。
通常的建议是,如果您非常关注 Safari 的隐私,可以在Safari 偏好设置 -> 隐私 中开启“隐藏 IP 地址”等功能,但这并不直接等同于关闭 DNS 预读取。
角色 | 目的 | 推荐方法 |
网站开发者 | 为所有访问者关闭本站点的 DNS 预读取 | 在页面的 中添加
|
普通用户 | 在Chrome/Edge 浏览器上禁用 | 访问chrome://flags ,开启Disable DNS prefetching 选项 |
普通用户 | 在Firefox 浏览器上禁用 | 访问about:config ,将network.dns.disablePrefetch 设置为true |
重要提示:
DNS 预读取是一项优化技术,旨在显著提升页面加载速度,关闭它可能会导致您感觉网页加载(尤其是点击新链接时)变慢,除非您确实遇到了无法解决的网络问题或有极强的隐私需求,否则一般不建议禁用此功能。
文章摘自:https://idc.huochengrm.cn/dns/14123.html
评论