使WordPress成为核心

开的8年前

关闭8年前

#37240 关闭 缺陷(bug) (固定的)

从dns预取资源提示输出中删除方案

报告人: 尼尔·肯尼迪的简介 尼尔·肯尼迪 所有者: 沃尔德莫滕森简介 伏地魔
里程碑: 4.6 优先: 正常的
严重程度: 正常的 版本: 4.6
组件: 概述 关键词: has-patch接口 has-unit-测试 犯罪
重点: 性能 复写的副本:

描述

从dns-prefetch链接关系输出中删除URL方案。

以下dns预取数组值应具有相同的dns查找:

  • wordpress.org网站
  • http://wordpress.org
  • https://wordpress.org

应该在只提取URL的宿主组件后删除重复条目,或者期望任何对筛选器进行操作的人只使用宿主组件。

附件(2)

37240差异(2.4 KB)-由添加尼尔·肯尼迪 8年前.
从dns预取输出中删除方案
37240.2差异(5.0 KB)-由添加彼得威尔逊公司 8年前.

将所有附件下载为:.zip文件

更改历史记录(13)

@尼尔·肯尼迪
8年以前

从dns预取输出中删除方案

#1 @尼尔·肯尼迪
8年以前

  • 关键词 has-patch接口 has-unit-测试补充

#2 @海洋90
8年以前

  • 里程碑已从更改等待审查4.6
  • 所有者设置为海洋90
  • 状态已从更改新的审查
  • 类型已从更改增强缺陷(bug)

谢谢你的报告@niallkennedy!

@伏地魔对此有什么想法吗?

#3 @海洋90
8年以前

  • 所有者已从更改海洋90伏地魔

#4 @伏地魔
8年以前

我最初的想法是这是一个很大的进步。但后来我又想了一些。我不知道浏览器是如何实现这一点的。如果我正在实现dns-prefetch,我会完全忽略该方案,因为该方案对dns没有影响。然而,我没有这样做,所以我不知道。在这里,为了避免不必要的CPU使用量/带宽等,更安全的做法可能是谨慎行事。所以+1只用于dns-prefetching。

理论上:

<link rel=“prerender”href=“网址:http://site.com/postname"><link rel=“prerender”href=“https://site.com/post-name网址">

可能会有所不同,所以除非我们想尝试阻止人们做意想不到的事情,否则我们可能应该远离这些。

#5 @伏地魔
8年以前

  • 关键词 犯罪补充

#6 @瑞士风格
8年以前

  • 关键词 需求-单元测试补充;has-unit-测试 犯罪远离的

这个规范不清楚这些方案,并在示例中到处使用协议相关URL或相对URL。

对于Chromium,它是否//网址:http://:

双斜线表示URL以主机名开头(如RFC 1808中所指定的)。它相当于(但没有必要)使用完整的URL,例如“http://host_name_to_prefetch.com/".

资料来源:https://www.chromium.org/developers/design-documents/dns-prefetching

这也是我在查看Webkit源代码时得到的印象。

我看到的唯一好处是我们可以过滤掉重复的内容(浏览器可能会这样做)。根据票证描述,wordpress.org,http://wordpress.org,https://wordpress.org都应该具有相同的DNS查找,因此只需要1个条目。

我们需要一个单元测试来涵盖这一点。

#7 @彼得威尔逊公司
8年以前

37240.2差异:

  • 在tidyup之后应用array_unique的小改组
  • 单元测试以确保为dns预取组合等效资源
  • 替换了\\r\n具有\n个因为它不是必需的

#8 @彼得威尔逊公司
8年以前

  • 关键词 has-unit-测试补充;需求-单元测试远离的

#9 @海洋90
8年以前

  • 关键词 犯罪补充

37240.2差异在我看来不错。

#10 @尼尔·肯尼迪
8年以前

diff 2是一种避免重复的改进。

这个$网址值被重用,但在第一个for循环期间可能不会删除错误的值。如果的结果esc_url返回空字符串,或者如果解析的URL的主机值为空,则不应输出数组值。

#11 @海洋90
8年以前

  • 分辨率设置为固定的
  • 状态已从更改审查关闭

38036:

资源提示:从中删除方案dns预取资源提示输出。

“wordpress.org”,“http://wordpress.org“、和”https://wordpress.org“应具有相同的DNS查找。
此外,更换\\r\n具有\n个并确保跳过无效的URL。

尼尔·肯尼迪道具公司,彼得威尔森公司。
修复#37240.

注:请参见TracTickets公司有关使用的帮助门票。