【前端如何进行网站性能优化】前端如何进行网站性能优化

发布时间:2020-03-08 10:30:00

每个请求都有一个成本,包括时间成本和资源成本。一个完整的请求需要经历一个“长”而复杂的DNS寻址、与服务器建立连接、发送数据、等待服务器响应和接收数据的过程。时间成本是用户需要看到或“感觉”资源并等待过程结束。因为每个请求都需要携带数据,所以每个请求都需要占用带宽。

【前端如何进行网站性能优化】前端如何进行网站性能优化

每个请求都有一个成本,包括时间成本和资源成本。一个完整的请求需要经历一个“长”而复杂的DNS寻址、与服务器建立连接、发送数据、等待服务器响应和接收数据的过程。时间成本是用户需要看到或“感觉”资源并等待过程结束。因为每个请求都需要携带数据,所以每个请求都需要占用带宽。

另外,由于浏览器并发请求的数量有限,浏览器需要在请求数量增加后分批请求,这会增加用户的等待时间,给用户的印象是站点速度慢,。

常见的具体操作方法有:资源压缩合并、csssprites等

浏览器缓存是提高性能最重要的一步!

强缓存相关头字段:

协商与缓存相关的头字段:

浏览器***从服务器请求资源。当服务器返回资源时,它会将上次修改的头添加到响应头,这表示服务器上资源的上次修改时间

当浏览器再次从服务器请求此资源时,请将if modified since头添加到请求头。此头的值是上次请求中返回的上次修改值

当服务器再次收到资源请求时,它将根据服务器上资源的if modified since和***一次修改时间来判断资源是否已更改。如果没有更改,它将返回304notmodified,但不会返回资源内容。如果有更改,它将正常返回资源内容。当服务器返回304not modified响应时,***修改的头将不会添加到response header中。由于资源没有更改,***修改的头将不会更改。这是服务器返回304时的负责人

当浏览器从304接收到响应时,它从缓存加载资源

如果协商缓存未命中,则当浏览器直接从服务器加载资源时,将在重新加载时更新上次修改的头。下一个请求(如果修改自)将启用上次返回的上次修改值

这两个值是服务器生成的每个资源的***标识字符串。只要资源改变,值就会改变。判断过程类似于上次修改/自修改以来。与上次修改不同,当服务器返回304notmodified的响应时,因为ET ***被重新生成,所以Etag将在responseheader中返回,即使Etag与以前相同。

当服务器返回资源时,它将返回一个Etag值。在强缓存之后,浏览器从服务器请求资源。HTTP将添加一个键值,即if none match,和一个值,即Etag,即if none match:Etag。

通过在nginx的服务器配置中设置Etag来启用Etag。

***修改和Etag可以一起使用。服务器将首先验证Etag。只有当Etag一致时,它才能继续比较上次修改的内容,并最终决定是否返回304。

为什么***修改和Etag?

某些文件可能会定期更改,但其内容不会更改(仅更改时间)。此时,我们不希望客户端认为该文件已被修改并再次获得它;

有些文件修改得非常频繁,例如,在不到几秒钟的时间内(例如,1秒内修改n次)。自能检查以来如果修改的粒度为S级,则无法判断;

内容交付网络(CDN):内容交付网络(CDN)是指通过Internet相互连接的计算机网络系统,它使用最接近每个用户的服务器,以更快、更可靠的速度向用户发送音乐、图片、视频、应用程序等文件,为用户提供高性能、可扩展性和低成本的网络内容交付用户。



联系我们,谈您的需求

立即咨询