HTML整洁可以通过归一化它们,剥离注释,按字母顺序排序,排序元素属性来清理HTML文档,并输出一致的漂亮打印的标记。结果是HTML文档,具有较少唯一的数据,具有更一致性和重复的模式。与较为整齐的组织文件相比,这产生了改善的Gzip /缩小压缩率。
您可以通过预处理和重新安排不影响文档演示文稿或语义的HTML元素来取得以下一步,并获得更好的压缩率。元数据元素元素是这种类型优化的主要候选。
类似的数据压缩良好,但类似的数据短的字节距离相隔更好地压缩。这是您需要了解相关压缩算法如何为本文工作的所需。我会在文章末尾恢复进一步的技术解释。
网页通常需要包括重复的元数据至确保兼容性拥有流行的yabo88软件下载应用和服务。
元数据元素的文档顺序<链接>
那,和
(具有异常)不会影响文档的显示方式。这些元素可以无损地重新排序。在我的实施中,我选择留下来和
<风格>
元素未修改的所有其他元数据元素作为其顺序可能很重要。
的顺序<链接rel =“stylesheet”>
如果您的布局取决于样式表覆盖,则元素会影响样式表解析。这意味着您正在向客户端发送冗余数据,并且您应该在进行本文中讨论的优化之前停止和修复。该-Wrapped懒人加载
<链接rel =“stylesheet”>
当你移动时,反模式也可能破裂<链接>
元素关于。
关于兼容性要求的第二个快速记录:元素必须显示为第一个子元素
追求与今天仍在使用的古代图书馆和工具的兼容之后。
实施
HTML元素应该已经在每个元素上的单行中标准化,其中字母地排序元素属性。同样,这是HTML整洁的东西,或者漂亮打印或HTML缩小工具可以为您处理。您可以在该基础上构建,并提取所有内容那
,和
元素,最后一切<链接>
来自元素,最后一切
文件的一部分。
一旦您分开了该元素列表,请添加元素回文档并将其从列表中删除。然后,您需要做的就是对列表进行排序并将所有内容放回文档中。
在考虑排序顺序时,唯一的<标题>示例标题 title>
元素可以分类为。此元素仅使用一次,但此排序顺序将其与其他元数据元素一起放置完全或部分复制其值。
开放图协议烦恼地使用A.元素以表达联系关系而不是奉献
<链接>
元件。你可以通过移动进一步优化东西其值是底部的URL的元素
元素(就在第一个之前
<链接>
元素)。
这些预处理优化应产生可测量的文档压缩率。以下是使用本文中概述的逻辑排序的短示例文档:
示例标题|网站 title>
你可能想学习你的内容文档中的部分并应用进一步的优化。然而,删除冗余标签并通常清理它可以很好地为您提供比实现本文中讨论的微优化的更好的最终结果。
所有这些保存是多少?
我不会说谎。这不是一个神奇的解决方案,可以为您节省大量字节。实现这一点的先决条件,例如归一化文档和排序元素属性,可能会产生比这更好的压缩增益。您应该看到更好的结果您的文档包含更多元数据。
但是,这里讨论的方法可以自动化。这可能仅与您实现Web优化库,或为博客编写文章而相关。
我将本文中讨论的元数据应用于本博客上的每个页面中的本文中讨论的预处理优化。它从每个页面的压缩文件大小中保存了26个字节的中位数。这是平均全压缩文件大小的0,58%。未压缩文件的大小不会随着它们包含相同数量的字节而改变。
我需要简要介绍令人缩小的算法如何更好地解释为什么这些优化步骤完全保存任何数据。
放气压缩在两个阶段工作。第一阶段寻找重复的字节序列。出于我们的目的,您可以将其视为识别文本内相同子字符串的重复。放气替换重复的序列与后引用,以靠近其看到序列(距离)和重复序列的长度以及重复序列的长度(反对引用)的长度。此信息讲述了解压缩器在哪里可以找到数据以及它是多少要复制。
第二阶段使用称为霍夫曼编码的比特减少技术。基本上,常用字节被分配了更短的代码,并且rarer rever rento rens(需要更多字节来存储它们)。有更重要的是而不是那个是短版本。
对于文本文档,这基本上基于文件中的字符在文件中常见的字符构建新的压缩字符编码表。但是,相同的技巧用于编码用于文件中的去重复回复引用的距离和长度信息。
换句话说,通过对元数据元素进行排序,您可以以增加重复的方式重构文档并减少相同字节序列的副本之间的距离。这使得可缩小以节省几个字节以更有效地减少的反引用编码此信息。