网站优化

网站访问流程为:

1、打开浏览器

2、输入网址

3、浏览器根据域名获取网站ip

4、浏览器和目标ip建立tcp连接

5、浏览器往目标ip发起http协议请求

6、目标ip返回数据

7、浏览器渲染显示数据

从步骤上看,1,2,7不在个人控制范围内,是无法优化的。我们重点讨论剩下步骤的优化方案。

浏览器根据域名获取网站ip:

浏览器获取域名ip流程为先从系统配置的host文件查询(win位置为C:\Windows\System32\drivers\etc\hosts,linux位置为/etc/hosts),如果配置了host,则直接取配置的ip;如果没有配置host,则会向本地配置的dns请求域名的ip。

优化方案:

1、本地可以配置host,直接访问,避免dns请求。

2、如果本地不方便配置host,可以选择设置具有缓存功能的dns服务器,这样对于已经递归查询过的域名ip,下次可以直接返回,避免重新查询

3、网站接入cdn,可以访问就近的ip

浏览器和目标ip建立tcp连接:

建立tcp连接需要三次握手,client向server发送syn包,server响应syn+ack,client再响应ack,然后双发连接建立。

优化方案:

1、服务器设置keep alive,保持连接一段时间,减少tcp连接次数。

浏览器往目标ip发起http协议请求和目标ip返回数据

浏览器往服务器请求页面数据,包括动态请求,静态页面html,css,js和图片

优化方案:

1、静态文件压缩,减少传输量

2、静态文件合并,减少请求数

3、静态文件设置本地缓存,减少下次请求数

4、动态请求的热点数据,保存到缓存(redis,memcache)

5、只加载第一屏的数据,剩余数据设置为滚动加载

6、css,js文件设置成按需加载

7、部分耗时的页面数据,通过ajax异步请求加载显示

8、尽量减少页面跳转和重定向

9、样式定义写在文件顶部,脚本文件加载写在文件底部

你可能感兴趣的:(网站优化)