| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 前端传输加载优化 -> 正文阅读 |
|
[JavaScript知识库]前端传输加载优化 |
传输加载优化之前的章节都是把资源加载到本地以后作出的相关优化,现在来看看传输过程中,我们可以做那些优化。章节所介绍的不同的服务器需要不同的配置,但是知道做法即可,如果你没有服务器相关的知识,到时候善意的提醒一下相关的后台开发人员即可。最好的还是自己要掌握,如果你要进阶这些东西都是必不可少的。 启用Gzip压缩当客户端向服务器获取资源的时候,服务器可以开启Gzip压缩,来减少请求资源的体积。 开启Keep-Alive应该说这个设置基本上各种服务器上都是默认开启了的,它允许我们复用之前的TCP链接。 利用HTTP缓存合理使用HTTP缓存可以提高重复访问资源时的加载速度。 Cache-Control/Expires针对现在流行的spa应用,由于所有内容都是有一个HTML文件来输出的,所做的任何修改都要靠它来呈现,所以一般不对这种类型的资源设置缓存: 其中确定文件有没有修改的凭证就是Etag: 使用Service WorkersService Workers应该不感到陌生,如果条件运行,那还是使用它吧。其好处大致如下:
但是其还是有很多不足:
Service Workers的配置还是有点小复杂,但如果你使用的是webpack,那么可以很快集成Service Workers。(这部分应该百度了,懂得都懂) 使用HTTP2HTTP2相对于HTTP1.X,做了很多优化和缺陷的修改。 二进制传输之前的HTTP的版本中,我们传输数据方式–文本传输。 请求响应多路复用在 HTTP 2.0 中,有两个非常重要的概念,分别是帧(frame)和流(stream)。 帧代表着最小的数据单位,每个帧会标识出该帧属于哪个流,流也就是多个帧组成的数据流。 帧代表着最小的数据单位,每个帧会标识出该帧属于哪个流,流也就是多个帧组成的数据流。 服务端推送(Server push)在 HTTP 2.0 中,服务端可以在客户端某个请求后,主动推送其他资源。 可以想象以下情况,某些资源客户端是一定会请求的,这时就可以采取服务端 push 的技术,提前给客户端推送必要的资源,这样就可以相对减少一点延迟时间。 使用Server push后,最明显的变化就是没有了TTFB,优化了传输过程。 压缩header在 HTTP 1.X 中,我们使用文本的形式传输 header,在 header 携带 cookie 的情况下,可能每次都需要重复传输几百到几千的字节。 在 HTTP 2.0 中,使用了 HPACK 压缩格式对传输的 header 进行编码,减少了 header 的大小。并在两端维护了索引表,用于记录出现过的 header ,后面在传输过程中就可以传输已经记录过的 header 的键名,对端收到数据后就可以通过键名找到对应的值。 HTTP2使用于HTTPS和较高的请求量场景。(据我观察,全面使用HTTP2的网站,国内还是很少的,Google都在使用HTTP3了) 服务端渲染(SSR)至于是否使用服务端渲染,是多方面因素决定的。我们要做的是根据不同的技术栈,完成SSR。例如vue技术相关的Nuxt.js,React技术相关的Next.js。 看一个Next.js的简单实现 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:59:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |