IT评测·应用市场-qidao123.com技术社区

标题: 前端网络层性能优化 [打印本页]

作者: 拉不拉稀肚拉稀    时间: 2024-9-15 15:37
标题: 前端网络层性能优化
前言

在数字期间,速度已成为互联网体验的关键。用户对网页加载时间的容忍度越来越低,每一毫秒的延迟都大概导致用户的流失。根据谷歌的研究,页面加载时间凌驾3秒的网站,其跳出率会增加120%。在这个以用户为中央的网络天下里,性能优化不再是一个选项,而是必须。
DNS相关优化

用户输入网址后,第一步是剖析网址,浏览器必要将这个域名转换为机器可读的IP地点,这是通过DNS(domain name system)查询来完成。
1. DNS缓存

通常我们的操纵系统和浏览器已经主动做了相关缓存

2. 减少外部资源引用和开启DNS域名预剖析


3. 启用CDN加快

CDN通过在全球分布的服务器缓存内容,提供更快速的访问。CDN服务提供商通常也提供优化的DNS服务,将用户的DNS查询定向到离用户近来的服务器节点,进一步减少延迟。
HTTP相关优化

剖析完域名之后,天然就是开始HTTP连接。在这个阶段,我们能做的事情变得更多了。
1. 关于http协议

http协议总是在不断的升级优化中,更高版本的http协议总能带来更好的性能,根据你项目与用户的实际情况,尽大概的升级到公道的版本。这里不赘述http1/2/3之间的区别,想要相识的出门左转问问GPT。
1.1 http1.1的优化

假如你评估了你的项目确实无法升级到http2或更高,那么可以考虑以下优化

1.2 http2的优化


2. 请求包巨细优化

显而易见,减少我们请求的资源的总巨细是一个非常直观的优化指标。
2.1 启用传输压缩算法

只管nginx等服务端步伐提供了像gzip、brotli等压缩功能,但是这会带来不小的服务端开销,我们可以提前在代码打包时举行压缩。

2.2 按需加载


3. HTTP缓存

3.1 强缓存


3.2 协商缓存


3.3 强缓存与协商缓存的共同利用

上述两种缓存方式并不是互斥选项,可以共同利用。比方设置一定时间的强缓存,强缓存失效后举行协商缓存查看资源是否修改,如无修改可以继续利用缓存资源。
  1. Cache-Control: max-age=31536000
  2. Last-Modified: Wed, 21 Oct 2024 07:28:00 GMT// 后续请求If-Modified-Since: Wed, 21 Oct 2024 07:28:00 GMT
复制代码
3.4 service worker

Service Worker 是一种在浏览器后台运行的脚本,可以拦截和处置处罚网络请求,从而实现缓存和离线访问等功能。通过 Service Worker,你可以控制资源的缓存计谋,包罗静态资产和动态请求。
4. 浏览器缓存

4.1 cookies

Cookies 是一种在客户端(浏览器)存储小量(一般是4KB)数据的机制,用于在多个请求和页面访问之间维持状态信息。它们在 Web 开发中被广泛利用,可以存储用户的会话信息、用户偏好设置、跟踪用户举动等。
4.2 web storage

是浏览器提供的两组api localStorage和sessionStorage,用于存储键值对,巨细通常为5M~10M。不同点在于

4.3 IndexedDB

IndexedDB 是一种浏览器内建的 NoSQL 数据库,允许在客户端存储大量结构化的数据。与 Web Storage API(localStorage 和 sessionStorage)相比,IndexedDB 提供了更多的功能和机动性,适合存储复杂数据和执行更复杂的查询操纵。


本文转载于稀土掘金技术社区,作者:翔啊翔阿翔
原文链接:https://juejin.cn/post/7402204612143497226

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4