Skip to main content

Safari-Slow页面加载疑难解答

Anonim

Safari以及几乎所有其他浏览器现在都包含DNS预取功能,该功能旨在通过查看网页中嵌入的所有链接并查询DNS服务器以解析其实际链接的每个链接,使网上冲浪更快捷。 IP地址。

当DNS预取工作正常时,当您单击网站上的链接时,您的浏览器已经知道IP地址并准备加载所请求的页面。这意味着当您在页面之间移动时,响应时间非常快。

那么,这怎么可能是件坏事呢?好吧,事实证明DNS预取可能有一些有趣的缺点,尽管只是在特定的条件下。虽然大多数浏览器现在都有DNS预取,但我们将专注于Safari,因为它是Mac的领先浏览器。

当Safari加载网站时,有时页面会呈现并准备好让您仔细阅读其内容。但是当您尝试向上或向下滚动页面或移动鼠标指针时,您将获得旋转光标。您可能会注意到浏览器刷新图标仍在旋转。所有这些都表明,虽然页面已成功呈现,但某些内容阻止浏览器响应您的需求。

有许多可能的罪魁祸首。页面可能有错误,站点服务器可能很慢,或者页面的非现场部分(例如第三方广告服务)可能已关闭。这些类型的问题通常是暂时的,可能会在短时间内消失,从几分钟到几天。

DNS预取问题的工作方式略有不同。每当您在Safari浏览器会话中第一次访问它时,它们通常会影响同一个网站。您可能会在清晨访问该网站,并发现它的响应速度非常慢。一小时后回来,一切都很顺利。第二天,同样的模式重演。你的第一次访问很慢,非常慢;那天的任何后续访问都很好。

那么,DNS预取会发生什么?

在上面的示例中,当您在早上第一时间访问网站时,Safari会利用这个机会为其在页面上看到的每个链接发送DNS查询。根据您正在加载的页面,它可能是一些查询,也可能是数千个,特别是如果它是一个有很多用户评论的网站,或者您正在访问某种类型的论坛。

问题不在于Safari正在发送大量的DNS查询,而是一些较旧的家庭网络路由器无法处理请求负载,或者您的ISP的DNS系统因请求或两者的组合而过小。

有两种简单的方法可以排除故障并解决DNS预取性能问题。我们将带您了解这两种方法。

更改您的DNS服务提供商

第一种方法是更改​​DNS服务提供商。许多人使用他们的ISP告诉他们使用的任何DNS设置,但一般来说,您可以使用您想要的任何DNS服务提供商。根据我的经验,我们当地的ISP的DNS服务非常糟糕。改变服务提供商是我们的一个好举措;对你来说这也许是一个很好的举动。

您可以使用在线指南中的说明测试当前的DNS提供商。

如果在检查您的DNS服务后您决定更改为另一个,显而易见的问题是,哪一个?您可以尝试使用OpenDNS或Google Public DNS这两种流行的免费DNS服务提供商,但如果您不介意做一些调整,可以使用指南测试各种DNS服务提供商,看看哪种最适合您。

选择要使用的DNS提供程序后,您可以更改Mac的DNS设置。

一旦您更改为其他DNS提供商,请退出Safari。重新启动Safari,然后尝试导致您重复出现问题的网站。

如果该网站现在正在加载,并且Safari保持响应,那么您已经完成了设置;问题出在DNS提供商身上。为了更加确定,请在关闭并重新启动Mac后再次尝试加载同一网站。如果一切仍然有效,那就完成了。

如果没有,问题可能在其他地方。您可以恢复到之前的DNS设置,或者只保留新设置,特别是如果您更改为我上面提到的DNS提供商之一;两者都很好。

禁用Safari的DNS预取

如果您仍然遇到问题,可以通过再次访问该网站或禁用DNS预取来解决这些问题。

如果DNS预取是Safari中的首选项设置会很好。如果你可以在逐个站点的基础上禁用预取,那就更好了。但由于这些选项目前都不可用,我们必须使用不同的方法来禁用该功能。

  1. 启动终端,位于/ Applications / Utilities。

  2. 在打开的终端窗口中,输入或复制/粘贴以下命令:

    defaults write com.apple.safari WebKitDNSPrefetchingEnabled -boolean false

  3. 按enter键或返回。

  4. 然后,您可以退出终端。

退出并重新启动Safari,然后重新访问导致您出现问题的网站。它现在应该工作正常。问题可能是家庭网络中的旧路由器。如果有一天更换路由器,或者路由器制造商提供解决问题的固件升级,您将需要重新启用DNS预取。这是如何做。

  1. 启动终端。

  2. 在“终端”窗口中,输入以下命令:

    默认写入com.apple.safari WebKitDNSPrefetchingEnabled

  3. 按enter键或返回。

  4. 然后,您可以退出终端。

而已;你应该全力以赴。从长远来看,启用DNS预取通常会更好。但是,如果您经常访问有问题的网站,关闭DNS预取可以使每日访问更愉快。