1. HTTP/1.1 该如何优化⚓
1.1 尽量避免发送 HTTP 请求⚓
1.1.1 3xx,缓存⚓
1.2 在需要发送 HTTP 请求时,如何减少请求次数⚓
1.2.1 合并请求⚓
如果把多个访问小文件的请求合并成一个大的请求,虽然传输的总资源还是一样,但是减少请求,也就意味着减少了重复发送的 HTTP 头部。 为了防止单个请求的阻塞,所以一般浏览器会同时发起 5-6 个请求,每一个请求都是不同的 TCP 连接,那么如果合并了请求,也就会减少 TCP 连接的数量,因而省去了 TCP 握手和慢启动过程耗费的时间。
但是这样的合并请求会带来新的问题,当大资源中的某一个小资源发生变化后,客户端必须重新下载整个完整的大资源文件,这显然带来了额外的网络消耗。
1.2.2 减少重定向次数⚓
-
重定向的工作交由代理服务器完成,就能减少 HTTP 请求次数了。意思就是让代理看到重定向请求之后去重定向,不再发回客户端,避免无脑转发。
-
而且当代理服务器知晓了重定向规则后,可以进一步减少消息传递次数。意思是代理知道了什么时候需要进行重定向,减少向服务器询问重定向地址的次数。
1.2.3 按需请求⚓
请求网页的时候,没必要把全部资源都获取到,通过 按需获取 的方式,来减少第一时间的 HTTP 请求次数。
1.3 减少服务器的 HTTP 响应的数据大小⚓
1.3.1 有损压缩⚓
1.3.2 无损压缩⚓
经常用于压缩多媒体数据,比如音频、视频、图片。