Web前端性能优化

浏览器访问优化

  1. 减少http请求:HTTP协议是无状态的应用层协议,意味着每次HTTP请求都需要简历通信链路,进行数据传输,而在服务器端,每个HTTP都需要启动独立的线程去处理,这些通信和服务的开销都很昂贵,减少HTTP请求的数目可有效提高访问性能。
    减少HTTP请求的主要手段是合并CSS,合并JavaScript,合并图片。将浏览器一次访问需要的JavaScript,CSS合并成一个文件,这样浏览器就只需要一次请求。多张图片合并成一张,如果每张图片都有不同的超链接,可通过CSS偏移响应鼠标点击操作,构造不同的URL。
  2. 使用浏览器缓存:对一个网站而言,CSS,JavaScript,Logo,图标等这些静态资源文件更新的频率都比较低,而这些文件又几乎是每次HTTP请求都需要的,如果将这些文件缓存在浏览器中,可以极好地改善性能。通过设置HTTP头中Cache-Control和Expires属性,可设定浏览器缓存,缓存时间可以是数天甚至是几个月。有时候,静态资源文件变化需要及时应用到客户端浏览器,这种情况可以通过改变文件名实现,比如一般会在JavaScript后面加上一个版本号,使浏览器刷新修改的文件。
  3. 启用压缩:在服务器端对文件进行压缩,在浏览器端对文件解压缩,可有效较少通信传输的数据量。文本文件的压缩效率科大80%以上。
  4. CSS放在页面最上面,JavaScript放在页面最下面
  5. 减少Cookie传输:一方面,Cookie包含在每次请求和响应中,太大的Cookie会严重影响数据传输,因此哪些数据需要写入Cookie需要慎重考虑,尽量减少Cookie中传输的数据量。另一方面,对于某些静态资源的访问,如CSS,JS等,发送Cookie没有意义,可以考虑静态资源使用独立域名访问,避免请求静态资源时发送Cookie,减少Cookie传输的次数。
  6. CDN加速:CDN(Content Distribute Network,内存分发网络)的本质上仍然是一个缓存,而且将数据缓存在离用户最近的地方,是用户以最快速度获取数据,即所谓网络访问第一跳。CDN一般缓存的是静态资源,如图片,文件,CSS,Script脚本,静态网页等,但是这些文件访问频率很高,将其缓存在CDN可极大改善网页的打开速度。
  7. 反向代理:传统代理服务器位于浏览器一侧,代理浏览器将HTTP请求发送到互联网上,而反向代理服务器位于网站机房一侧,代理网站Web服务器接收HTTP请求。和传统代理服务器可以保护浏览器安全一样,反向代理服务器也具有保护网站安全的作用,来自互联网的访问请求必须经过代理服务器,相当于在Web服务器和可能的网络攻击之间建立了一个屏障。
    除了安全功能,代理服务器也可以通过配置缓存功能加速Web请求,当用户第一次访问静态内容的时候,静态内容就被缓存在反向代理服务器上,这样当其他用户访问该静态内容的时候,就可以直接从反向代理服务器返回,加速Web请求响应速度,减轻服务器负载要。

提高网站性能的常见方法相关推荐

  1. 提高网站性能的方法(学习笔记)

    1.缓存 对那些经常使用的数据和需要大量的时间来创建的数据可以存储在内存中,后来的请求直接使用,不需要在从新生成, 使用方法很简单: <%@OutputCache VaryByParams=&q ...

  2. 分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步...

    在这个文章里,我将分享一下在iOpenWorks.com这个网站试运行中碰到的若干问题和解决方案,这些问题包含了:(1)如何通过ASP.NET MVC预编译提高性能:(2)如何知道网站在运行中,用户响 ...

  3. WEB前端性能优化常见方法

    web前端是应用服务器处理之前的部分,前端主要包括:HTML,CSS,javascript,image等各种资源,针对不同的资源有不同的优化方式. 1. 内容优化 (1)减少HTTP请求数:这条策略是 ...

  4. 如何加速 Web 应用程序并提高网站性能

    我们不需要提醒你快速网站加载的重要性.要么是 3 秒,要么是用户离开,因此你必须优化网站性能以符合用户的期望. 网站性能的优化是一件大事.它涉及多个方面需要照顾,其中许多取决于网站本身.其复杂性和元素 ...

  5. 利用 squid 反向代理提高网站性能

    本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性.安全性方面有很好的用途.作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术, ...

  6. 通过延迟加载和代码拆分提高网站性能

    by José M. Pérez 由JoséM.Pérez 通过延迟加载和代码拆分提高网站性能 (Improve the Performance of your Site with Lazy-Load ...

  7. 不修改代码就能优化ASP.NET网站性能的一些方法

    目录 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不需要修改程 ...

  8. 关于提高网站性能的几点建议(二)

    在 上一篇 中,从HTTP请求到页面渲染几个方面对提高网站性能提出了几点建议,本文是学习Steve Sounders的另外一本书<高性能网站建设进阶指南>之后,从JavaScript性能的 ...

  9. html5不支持硬件加速,CSS开启硬件加速来提高网站性能-HTML5综合

    CSS开启硬件加速来提高网站性能-HTML5综合 本文由 文梅画史 于 2016-1-28 5:09 发布在 HTML5综合 在桌面端和移动端用CSS开启硬件加速 CSS animations, tr ...

最新文章

  1. 9名华人当选,包揽总人数1/6!2017 ACM Fellow名单公布,华人强势亮相
  2. python中typing.NamedTuple示例
  3. 使用访问器属性模拟java中的私有变量
  4. 你真的懂对抗样本吗?一文重新思考对抗样本背后的含义
  5. NOI 练手题 图像旋转翻转变换
  6. 用JAI实现对TIF(TIFF)格式图片的合并
  7. 探讨 | 深入探讨Redis管道
  8. VC++用异或(XOR)方式实现拖放画动态直线
  9. 1小时搞懂设计模式之工厂模式(方法工厂)
  10. 解决安装YouCompleteMe与Vim版本不兼容问题
  11. selenium万能选择器
  12. pygame 游戏开场动画渲染学习,绘制 10*7=70 个小方块
  13. 知识表示的方法(2)——框架表示法
  14. android 生成 QR_CODE 码 PFD_417码 CODE_36码
  15. 公司测试部门来了个00后卷王,老油条感叹真干不过,不过.....
  16. 九月英语——梦开始的地方
  17. 传统项目拉取后启动方式
  18. 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之6---移动增值业务概述
  19. 昕泽雨:ps抠图技巧有哪些?
  20. 褚达晨加入General Atlantic,任高级顾问

热门文章

  1. html5 自制播放器
  2. Info.plist与Prefix.pch修改文件位置遇到的问题及解决方法
  3. 精品教程--Android组件详解
  4. Persistence4j 1.1发布,Java ORM框架
  5. 最新综述|深度学习的单目人体姿态估计
  6. 500位全球算法开发者零奖金参加阿里云天池大赛 AI预测台风助力防灾减灾
  7. AI医疗智能问答算法赛,超二十万大奖等你来拿
  8. 今日上新:两个图像领域的现金奖励实时竞赛
  9. 近期计算机视觉机器学习竞赛汇总
  10. redis常见面试题有哪些?redis集群面试题及答案整理