大型网站技术架构,4网站的高性能架构之Web前端性能优化
一般说来Web前端指网站业务逻辑之前的部分,包括浏览器加载、网站视图模型、图片服务、CDN服务等,主要优化手段有优化浏览器访问、使用反向代理、CDN等。
4.2.1 浏览器访问优化
1、减少http请求
合并CSS、合并Javascript、合并图片
2、使用浏览器缓存
对于更新频率低的资源,通过设置HTTP头中的Cache-Control和Expires属性,可设定浏览器缓存,缓存时间可以是数天,甚至几个月。
使用浏览器缓存策略的网站在更新静态资源时,应采用批量更新的方法,比如需要更新10个图标文件,不宜把10个文件一次全部更新,而是应一个文件一个文件逐步更新,并有一定的间隔时间,以免用户浏览器突然大量缓存失效,集中更新缓存,造成服务器负载骤增、网络堵塞的情况。
3、启用压缩
对文本文件,HTML、CSS、Javascript文件启用GZip压缩可达到较好的效果。但是压缩对服务器和浏览器产生一定的压力,在通信带宽良好,而服务器资源不足的情况下要权衡考虑。
4、CSS放在页面最上面、Javascript放在页面最下面
浏览器在下载完全部的CSS之后才对整个页面进行渲染,所以最好将CSS放在页面最上面,让浏览器尽快下载CSS。
浏览器在加载Javascript后立即执行,有可能会阻塞整个页面,造成页面显示缓慢,因此最好将Javascript放在页面最下面。
但是如果页面解析就需要用到Javascript,这时放在底部就不合适了。
5、减少Cookie传输
Cookie包含在每次请求中,太大的Cookie会严重影响数据传输,因此哪些数据需要写入Cookie需要慎重考虑,尽量减少Cookie中传输的数据量。
静态资源如CSS、Script使用独立域名访问,避免请求静态资源时发送Cookie,减少Cookie传输的次数。
4.2.2 CDN加速
CDN(Content Distribute Network)本质仍然是一个缓存,而且将数据缓存在离用户最近的地方,使用户以最快速度获取数据,即网络访问第一跳。
CDN能够缓存的一般时静态资源,如图片、文件、CSS、Script脚本、静态网页等,但是这些文本访问频度很高,将其缓存在CDN可极大改善网页的打开速度。
4.2.3 反向代理
反向代理服务器位于网站机房一侧,代理网站Web服务器接收HTTP请求。
互联网访问必须经过代理服务器,具有保护网络安全的作用。
另外,代理服务器可以通过配置缓存功能加速Web请求。
负载均衡也是主要功能,通过负载均衡构建应用集群可以提高系统处理能力,进而改善网站高并发情况下的性能。
最新文章
- 【工具】CodeSmith Generator 7.0.2激活步骤
- Linux下压缩与解压命令tar
- 用CSS为表格添加边框
- Qt之QSequentialAnimationGroup
- PictureWebHandler
- 283. Move Zeroes(C++)
- bzoj1641 [Usaco2007 Nov]Cow Hurdles 奶牛跨栏
- android混淆打包配置(忽略第三方jar)
- 0x800a138f - JavaScript runtime error: Unable to get property 'asSorting' of undefined or null reference 错误原因以及解决办法
- TFS:TF30042 数据库已满 处理方法
- php各项下载地址
- 香港科技大学的VINS_MONO初试
- ssh登录错误ECDSA host key for ip has changed解决方案
- java笔记 -- 数组
- jmeter入门非GUI(三)
- js-数组方法的使用和详谈
- Codeforces Beta Round #49 (Div. 2)
- RDMA over TCP的协议栈工作过程浅析
- disable某种警告
- sublime 在Mac终端下设置快捷打开方式