一个网站如果需要加速,我们会从哪几点出发呢?
优化网页
优化后端代码
优化数据库
优化JVM
优化系统本身
优化网络
优化整体架构
无非就上面几点。
前端如何优化呢?无非是以下几点:
减少js、css、图片等文件引用
压缩js、css、图片内容
使用协议头来促使浏览器缓存
使用CDN
内容输出gzip压缩
那如何减少js、css引用。
也无非下面几点:
js、css缓存
减少js、css加载
那js、css缓存一般只有第一次会去服务器加载,后面会保存在浏览器里。再次请求的时候回根据max-age判断要不要在本地获取
我们可以看到 都是 from memory cache.
只有一个是304状态。那个应该是去服务器咨询服务器端有没有改动,没改动也是从客户端浏览器获取
但是就是如此,也是发起了这么多次请求。
那如何减少请求次数。
那就是PJAX的存在意义了。
PJAX 其实是局部数据加载,我只加载了容器里的某一处数据,而不去加载全部数据,这样可以减少网络传输数据,减少静态文件请求。
那PJAX和AJAX的区别是什么:
说白了PAJAX可以支持页面回退,AJAX不可以。
那PJAX用的最广泛的网站是哪个,毫无疑问,音乐网站,比如网易云,你在网页版里听音乐,切换页面了,音乐也不会断。