【问题标题】:Using Absolute Versus Relative Paths for Images对图像使用绝对路径与相对路径
【发布时间】:2012-01-10 22:15:30
【问题描述】:

一位同事刚刚问我是否有任何理由引用具有相对路径的图像会阻碍网站速度。

虽然为了简洁起见,使用较少的相对路径字符是个好主意,但想知道使用绝对/完整路径是否还有其他减速/后果?我认为拥有完整路径可能涉及DNS查找。

如果有的话,其他后果是什么?

【问题讨论】:

    标签: html performance networking path


    【解决方案1】:

    使用绝对路径强制 Web 服务器建立连接、发送和接收 HTTP 请求。如果使用相对,则连接已经建立,因此不必经过该逻辑(因此提高了页面加载速度)。您可能不会看到惊人的差异,但节省的每一点都是一件好事,对吧?


    编辑:在进行快速测试后,差异可以忽略不计,我的答案似乎没有那么好。我用相同的图像创建了一个测试页面两次,一个是相对路径,一个是绝对路径:http://damonbauer.me/test/index.html

    测试一:HTML 代码中带有绝对路径的图像:(点击查看大图) http://damonbauer.me/test/images/results1.jpg

    绝对路径图片的加载时间为 869 毫秒,而在 HTML 代码中排在第二位的相对路径图片的加载时间为 635 毫秒。

    测试二:首先在 HTML 代码中带有相对路径的图像:(点击查看大图) http://damonbauer.me/test/images/results1.jpg

    加载绝对路径图像需要 303 毫秒,而在 HTML 代码中首先列出的相对路径图像需要 315 毫秒。

    我的意见?使用相对加载更快。即使在绝对路径图像之后列出,加载相对图像也只需要多 12 毫秒。第二次加载绝对路径图像时,加载时间增加了 234 毫秒。在这两种情况下,它们都很接近,在我看来,首先加载的内容更重要。无论哪种方式,我都会选择相对的,即使只是为了便携性。

    【讨论】:

    • 您确定没有客户端智能实现并根据当前页面检查基本 URI 吗?我很想看到一些对网络流量或类似内容的嗅探。 -- 抱歉,但在我看来更像是一篇论文。
    • @Smamatti - 添加示例。它的水平很低,结果并不令人兴奋,但它确实起到了作用。
    • 没有我希望的那么详细,但感谢您的尝试和发布。 - 我自己尝试过,这个论文似乎是错误的。对不起。 -- 我的基准 img560.imageshack.us/img560/4429/imgpathtypes.jpg(是的,我清除了缓存等)
    • 可以是任意数量的东西。我也在每次测试前清除了我的缓存。我不是说我是对是错,只是在这一点上发布我的发现。
    • 我认为这是废话。重用连接的浏览器逻辑不应该被使用绝对路径抢占。顺便说一句 - 有两种绝对路径。以“http://”开头的和以“/”(或“//”)开头的那些。
    【解决方案2】:

    不,没有任何明显的区别,并且两者都有其用途。没有 DNS 查找客户端,是浏览器(或者可能是 Web 服务器?)将 url 更改为应有的内容。 根据需要使用它们,相对路径更具可移植性(无需做任何事情来使它们在您的开发或实时服务器中工作),而绝对路径将您带到特定位置(无论您是什么服务器)。
    就我而言,我使用相对路径,除非我想使用特定地址。此外,当您从非安全切换到安全时,您需要指定 https 如此完整的路径(或在其他地方进行额外的重定向)

    【讨论】:

      【解决方案3】:

      远程绝对路径将通过 DNS,但它可以释放您的 Web 服务器以提供页面,而另一台服务器则负责提供图像的工作。这减轻了页面服务器上的网络负载并加快了速度。

      本地绝对路径与本地相对路径相同,在第一页之后,它会被网络服务器缓存,之后就不再重要了。

      【讨论】:

        猜你喜欢
        • 2012-01-11
        • 2018-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 2010-09-15
        相关资源
        最近更新 更多