Nginx:无需重建 nginx 即可删除 html 中的空格和注释

Nginx:无需重建 nginx 即可删除 html 中的空格和注释

有人能帮助我使用 Perl 或动态模块来从 nginx 中的 html 响应中删除空格和注释吗?

答案1

这应该在部署时作为预处理步骤完成,否则每次提供内容时都会浪费 CPU 周期。

答案2

看起来有一个模块可以去除空格(显然不是注释)

http://wiki.nginx.org/HttpStripModule

答案3

正如 Ochoto 所说,这应该在部署时完成,或者最好在渲染时完成。因为有时您可能需要空格(非 ),才能正确显示页面。如果您在稍后阶段执行此操作,您可能会遇到麻烦(它也可以工作)

无论如何,如果有效载荷大小是你的问题,那就看看压缩吧。我认为这会产生更好的结果。

答案4

这可能非常棘手!

您不仅应该了解<pre>标签,还应该考虑如下内容:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <text x="0" y="15" xml:space="preserve">hello     world</text>
</svg>

您的后处理器确实需要解析内容并理解它。一个简单的正则表达式迟早会把事情搞砸。

正如 Cohoto 和 Franz Bettag 所提到的,这应该在源头上完成,或者作为部署前的步骤,而不是作为后期处理修复。

对于 javascript,有一些混淆器或压缩器可用,它们可以安全地删除空格、解析脚本并将所有变量缩短为单个字母等,因为它们知道上下文,所以知道自己在做什么。但是,我还没有看到一个万能的 xhtml 压缩器可以实现普通浏览器可以处理的所有功能。虽然可以构建一个忽略它无法识别的任何内容的压缩器,但这真的值得吗?

相关内容