|
5 u# U$ d, l3 Q5 I- A 1、原因一:加载资源过多,http请求太多,占用服务器资源越多,时间越久,支持不了并发量,服务器承受不了太多请求,开始丢弃部分数据,网页无法打开,报错404解决:减少http请求次数2、原因二:接收数据时间过长,如下载资源过大
* K/ y7 S* h3 h8 @ 解决:对HTTP传输进行压缩,即在js,css、图片等资源已经压缩的基础上,在HTTP传输过程中的再次压缩客户端可以通过Accept-Encoding头来声明浏览器支持的压缩方式,服务端通过Content-Encoding来启用压缩,配置压缩的文件类型,压缩方式。
7 u' y9 F: c7 \5 K gzip使用无损压缩,压缩效果最佳,已经成为使用最为普遍、支持的浏览器最多的数据压缩格式3、原因三:JavaScript脚本过大,阻塞了页面的加载解决:将JavaScript脚本放在标签前script没有async和defer时,JS文件将在下载后立即执行。
+ s( x# g9 u7 @, ]9 p' P1 p, _ 这种情况下,script放在顶部会阻塞页面呈现,在网速慢的情况下会导致“白屏”,直到脚本下载完毕才继续呈现页面因此,script放在底部可以让页面尽快呈现4、原因四:CSS、JavaScript、图片等需要重复加载
! g& [8 G( v. f5 `, l 解决:静态资源统一放在一个静态域名上,减轻重复下载静态资源的负担5、原因五:cookie影响解决:减小cookie的影响① 去除没有必要的cookie,如果网页不需要cookie就完全禁掉② 将cookie的大小减到最小:减小HTTP请求报文的大小,提高响应速度。 6 G' l. i9 I9 r* Y1 g0 ~; ]) _
③ 设置合适的过期时间:cookie信息将存储到硬盘上,即使浏览器退出cookie还会存在,只要cookie未被清除且还在过期时间内,该cookie就会在访问对应域名时发送给服务器④ 通过使用不同的domain减少cookie的使用:cookie在访问对应域名下的资源时都会通过HTTP请求发送到服务器,但在访问一些资源,如js,css和图片时,大多数情况下cookie是多余的,可以使用不同的domain来存储这些静态资源,这样访问这些资源时就不会发送多余的cookie,从而提高响应速度。
/ a# l2 b4 ?: T# m6 q$ ` 6、原因六:网页资源过多,网络带宽不够导致请求超时,数据量太大,浏览器崩溃解决:使用CDN部署网络以提高下载速度,可以先通过免费的CDN供应商来分发网页资源。 ! m; R; W$ R4 T
( F7 q5 u2 x% |& }0 X; s g4 h/ K2 `6 f; I6 I8 b
8 E9 s9 u5 N% v7 e8 c1 B
2 g# E- c. ?8 A( i3 v, s |