【问题标题】:What is more efficient? (web designing)什么更有效率? (网页设计)
【发布时间】:2012-02-07 10:13:42
【问题描述】:

不知道如何表达这个问题,但我可以给你一个例子。

我猜这在速度和整体“正确地做”方面会更有效;

http://www.dlolpics.com/images/troll.jpg

图片/troll.jpg

我通常不使用我的域 URL,而是使用 images/troll.jpg,但这真的有很大的不同吗?或者根本就没有什么不同?

任何信息都会很棒,谢谢。

【问题讨论】:

    标签: php html web


    【解决方案1】:

    显然,网页中的内容越少,下载的内容就越小,但这并不足以证明较短的网页是合理的。

    使用相对 URL(较短的 URL)的主要原因是为了使网站更便携。例如,如果您重命名层次结构中较高的目录或更改您的域名,您并不会通过整个站点来修复您的所有 URL。

    底线: 这样做是为了便于维护,除非您在一个页面中有数千个链接,或者您正在获得像 twitter 这样的数字的网络流量,否则它不会产生明显的性能差异。老实说,这听起来像是您过早地优化了应用程序,并且可能专注于错误的事情,除非您已经对您的网站进行了概要分析并注意到与 HTML 大小相关的性能问题。

    【讨论】:

    • 除非您运行的是静态 HTML 站点,否则没有理由必须修复所有 URL,除非您盲目地对它们进行硬编码。几乎每个人都使用函数调用或常量来返回他们的基本 url,在许多情况下甚至不需要配置。
    【解决方案2】:

    在速度方面没有区别,只是发送了一些额外的字节,因为前者的 URL 比后者长。

    我会选择后一种形式/images/troll.jpg(记住第一种形式/)。否则,如果有一天您决定移至另一个域或开始使用 HTTPS,您将不得不修改所有链接。然而,克服这个问题的一种方法是使用//www.dlolpics.com/images/troll.jpg。这将链接到您当前使用的任何协议; HTTP 或 HTTPS。

    我能想到的/images/troll.jpg 的唯一缺点是是否可以从多个 URL 访问同一个站点,例如,如果您的站点可以通过 http://dlolpics.com/http://www.dlolpis.com/ 访问,在这种情况下,访问的用户两个站点都可以下载该文件两次,第一次从http://dlolpics.com/images/troll.jpg 下载,然后从http://www.dlolpis.com/images/troll.jpg 下载。如果使用完整的 URL 方法,浏览器会意识到它已经缓存了图像。然而,这应该通过只允许访问上述 URL 之一(并将另一个重定向到它)来解决,以避免链接混淆和 cookie/缓存问题。

    【讨论】:

      【解决方案3】:

      以下是一些需要考虑的不同指标:

      • 下载速度:相对 URL 更快,因为它们更短。
      • URL 解析速度:取决于浏览器的差异可能可以忽略不计
      • 代码可维护性:相对 URL 更好;如果您的网站曾经更改域或开始使用 HTTPS,则无需更新链接。

      基于这些,坚持使用相对 URL 是一个更好的选择。

      【讨论】:

        【解决方案4】:

        这并不是真正的效率/速度问题,而是更多关于便携性的问题。如果您的媒体与您的网页位于同一台服务器上,则相对 url 比绝对路径更可取,因为如果您将目录甚至站点移动到另一个域,该图像位置仍将始终相对于请求它的页面.

        【讨论】:

          【解决方案5】:

          如果您正在构建一个会获得很多很多点击的网站,您可能希望使用CDN 来分发您的媒体,但如果不是,则任何一种方式在速度方面都差不多。记住这些规则:

          Rules of Optimization: 
          Rule 1: Don’t do it.
          Rule 2 (for experts only): Don’t do it yet.
          

          【讨论】:

            【解决方案6】:

            除了保存在 URL 中的几个字节之外,没有任何区别。

            【讨论】:

              【解决方案7】:

              其实还是有很大区别的。

              http://www.dlolpics.com/images/troll.jpg 是绝对路径 而 images/troll.jpg 是相对路径。

              假设您将您的网站域从 dlolpics.com 更改为 whatever.com,如果您使用的是无法加载图片的绝对路径。

              【讨论】:

                猜你喜欢
                • 2021-02-26
                • 2015-04-13
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-12-20
                • 2011-02-25
                • 2011-11-18
                • 1970-01-01
                相关资源
                最近更新 更多