m2 如何减少http请求数量

3.66K 浏览开发笔记

m2 如何减少http请求数量

Magento 2是一个应用程序,它会向Web服务器发出大量的HTTP请求。
如果Magento 2在没有任何意识的情况下安装和运行,每页的HTTP请求数将会轻微超过100个请求。

Magento 2大量使用Javascript。
使用各种Javascript库构建应用程序的方法是最近常见的,但Magento 2不会错过这个趋势,它使它能够使用RequireJS动态加载模块。

如果您在没有任何设置的Magento 2的TOP页面上使用Yslow进行测量,则获得如下所示的结果。

image //bbs.mallol.cn/assets/images/1-RIASfOHUuti4vpaH.png
在Yslow中,执行了153个HTTP请求,其中128个与Javascript相关。
即使浏览器的缓存正在工作,数据传输量也不会有太大的变化。这不是很友好。

如果有大量的HTTP请求,它将单独加载到Web服务器上,由于数据交换浪费,显示会很慢。
如果可能的话,如果文件没有变化,你只希望我告诉你,如果说的更多,我们不希望你首先要求。

结果在TOP页面上。
许多HTTP请求在管理页面和结账页面上进行。在这些页面中,使用了名为UIComponent的Menuo 2独特机制,Javascript端执行与KnockoutJS链接的绘图处理。
在UIComponent中,不仅可以读取Javascript文件,还可以读取HTML模板。
因此,由于一个进程需要更多的文件,所以HTTP请求的数量将会增加。

如何减少HTTP请求的数量

那么我们如何减少HTTP请求的数量呢?
当然,Magento 2具有可以采取适当措施的功能。

当您在管理页面上访问“Store> Settings> Developer”时,将显示以下内容。
通过调整此设置,您可以大大减少HTTP请求的数量。

image //bbs.mallol.cn/assets/images/1-4bzqke3LtgMIF6pw.png

image //bbs.mallol.cn/assets/images/1-uoQ2LzHW8SoEJRm1.png

将CSS或Javascript文件合并成一个文件

我们想要解决的第一件事是将CSS和Javascript文件合并成一个或几个文件。
如果启用此设置,Magento会自动集成可以合并的CSS和Javascript文件。

此外,如果启用此设置,Magento会将合并文件的URL输出为HTML,以便不会加载预合并文件。

压缩CSS和Javascript文件

下一步是压缩合并的文件。
CSS和Javascript使用了很多换行符和缩进来保持可读性。即使描述性描述可以简化,冗余描述有时也会被保持为可读性。

通过执行压缩处理(称为“缩小”),可以移除这些压缩处理并减小文件大小。
如果文件尺寸稍微减小,数据传输所需的时间可以缩短,数据量本身也会减少,所以可以通过AWS等实现成本降低。

捆绑Javascript文件

最后一个启用的选项是捆绑Javascript文件。
捆绑意味着RequireJS和KnockoutJS会将您打算动态加载到单个文件中的Javascript文件和HTML模板进行汇总。

这样做几乎可以消除额外的读取并显着减少HTTP请求的数量。
另一方面,一个Javascript文件的大小变得非常大,但是它使得客户端更容易缓存它。

最终结果

那么,三项措施的结果如下图所示。

image //bbs.mallol.cn/assets/images/1-MpeUtGuqNdHmQ3Ix.png

那是怎么回事?
尽管文件大小已经增加,但是HTTP请求的数量却大大减少了。
而且,当所有的静态文件缓存在浏览器端时,数据传输量可以大大减少。

由于这些调整可以通过管理页面轻松完成,因此我们建议您在生产环境中采取一切有效的形式进行操作。

最后于 6月前 被admin编辑 ,原因:
0