`
臻是二哥
  • 浏览: 183725 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
Group-logo
Java技术分享
浏览量:0
社区版块
存档分类
最新评论

大型网站架构之WEB前端优化

阅读更多
回顾下之前博客中提到的大型网站架构:


这张图中,有很多经典的模块。比如CDN服务器,反向代理服务器,负载均衡系统,应用服务器,分布式缓存系统等等。之后的几篇博客中我会逐个来介绍。今天先来看看WEB前端优化,在上图中,负载均衡服务器之前的部分都可以看成WEB前端,其中自然少不了浏览器。

WEB前端优化包括浏览器优化,使用CDN缓存加速,使用反向代理缓存加速。
在浏览器优化时
,可以采用减少http请求,使用浏览器缓存,启用压缩,减少Cookie传送,优化CSS和JS代码位置等
减少http请求:
http协议是应用层协议,意味着每次http请求都需要建立通讯链路,进行数据传输。因此减少http请求可提高性能。
正常情况下,当浏览器访问一个网页时,服务器会先返回对应的html网页,如果html中有其他的css,js等脚本,会多次进行http请求来下载这些脚本,这样的话无形中增加了服务器的压力。所以我们要尽可能的在html中关联最少的脚本,甚至将css等写到html中,以减少http请求次数。

使用浏览器缓存:
通过设置http响应头中的Cache-Control和Expires属性,可以设定浏览器缓存页面。在某些情况下,尽管有缓存,我们还是希望将静态文件的变化及时的应用到客户浏览器,此时可以通过更改文件名来实现。因为如果只改文件内容不改名字的话,浏览器的缓存机制是不会加载新的同名文件的。

启用压缩:
对于文本文件,比如html,css,javascript,启用GZip压缩可以达到很好的效果。

减少cookie传输:
cookie包含在每次的请求和响应中,太大的cookie会严重的影响数据传输。因此尽量少向cookie中写数据。另外,对于某些静态资源的访问,不需要进行cookie验证,就没有必要发送cookie。

优化CSS和JS代码位置:
将CSS放在页面最上面,将js放到最下面。

CDN的全称是内容分发网络,他的本质仍然是缓存(缓存一些常用的静态资源),CDN服务器是部署在网络提供商的机房中,在距离用户最近的地方提供缓存,加快用户访问速度,减少数据中心的压力。

反向代理位于整个网站的最前端,代理整个网站系统接收Http请求。反向代理服务器除了可以保护网站系统外,其中也缓存一些资源,如果请求的内容正好是其中的资源,就直接返回给用户,可以避免一些去往应用服务器的请求。
  • 大小: 113.5 KB
0
0
分享到:
评论

相关推荐

    大型网站性能优化实战从前端网络CDN到后端大促的全链路性能优化

    本书结合作者近几年的工作经验,总结了一套可直接落地、基于开源、成本低、可快速搭建的中小研发团队架构实践方法。本书共5篇22章,开篇是本书的导读;架构篇是设计思想的提升,包括企业总体架构、应用架构设计、...

    网站架构技术

    大型网站架构演化 大型网站软件系统的特点 大型网站架构演化发展历程 初始阶段 应用服务和数据服务分离 使用缓存改善网站性能 缓存类型 本地缓存 分布式缓存 缓存产品 redis 业界...

    大型网站架构模式PPT

    主要介绍数据读写分离、使用方向代理和CDN加速网站相应、使用分布式文件系统和数据库系统、使用NoSQL和搜索引擎、Web前端性能优化等等。注释:此PPT只是概括性内容,如有需要可以按照文档上的概述可以进一步研究!

    大型分布式网站架构与实践

     如何优化应用的性能,包括前端优化、Java程序优化、数据库查询优化等。  如何进行Java应用故障的在线排查,包括一系列排查工具的使用,以及一些实际案例的介绍等。  4.1 在线日志分析 220  4.1.1 日志分析常用...

    TWeb 腾讯前端技术大会 PPT 合集.zip

    大型Web项目可用性提升优化; 基于CLS的B端提效实践_damonpeng; 基于WASM的文件上传加速实践-程海斌; 如何让机器读懂设计; 使用 React 构建 Flutter 应用; 是时候了解一下 Web IDL-吴小倩.docx 腾讯教育 ...

    GMTC北京 2017年全球前端技术大会PPT合集(46份).zip

    移动Web的现在与未来 移动分析助力App精细化运营 一站式短视频技术架构的新解读 移动电商中的图像算法应用 出行IOS端瘦身实践 Instagram Direct:高效可靠的数据端到端传输 iOS性能优化探索 SQLite数据库损坏恢复...

    JavaEE大型分布式电商项目 淘淘商城 29期

    类似与京东、天猫商城,其打造的是商业模式为“社区+电子商务”, 用户不只是在社区中有自己的圈子,还可以将电商加入到社区中,整个电商网站实现的功能非常之多,采用分布式的系统架构设计,包括后台管理、前台系统...

    Salvationz:自动缩放单页应用程序,用于荷兰的大型舞蹈活动。 后端和前端是用Java编写的,并由Google Cloud Platform托管

    荷兰的大型舞蹈活动需要一个网站来推广。 最需要的要求是能够以高峰间隔处理大量Web流量。 其他要求: 在线购买门票 订阅新闻通讯 发挥价格 预订酒店房间 有关活动的一般信息 视觉效果 与社交媒体整合 活泼的外观 ...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    JQuery是近几年异军突起的JavaScript框架库,几乎成了Web前端开发事实上的标准,大部分企业都是使用JQuery进行Web前端的开发。 学完了这阶段课程,学员将学会开发主流网站的前端效果,比如:焦点图、滚动展示图、...

    应用服务器中间件技术要求.doc

    " " "支持多种数据库,如Oracle、Sybase、MS SQL SERVER " " "等数据库,并对数据库的访问效率提供优化。 " " "应用服务器提供商需作为JavaEE6标准制定成员,并具 " " "有专家参与下一个版本(JSR316)的标准制定,...

    ebsite for net4.0网站建设系统 v3.0 正式版.zip

    同时提供一个良好的用户体验前端架构。 2.成熟模块机制 过去的cms也提供模块,但由于过于复杂,和安装不方便,使这些功能往往只有官方会使用,eBSite模块从开发到安装,整个体验有着非常好的用户体验,套路式开发...

    安卓毕业设计app项目源码6-XDUcourse:西电高校联合课程资料和相关代码

    走进名企web前端工程师 1.HTML、CSS&JavaScript基础 1.1 CSS基础(上) 1.2 CSS基础(下) 1.3 JavaScript基础(上) 1.4 JavaScript基础(下) 1.5 实践作业 1.6 实践作业答疑 2.HTTP网络 2.1 缓存策略 2.2 CDN与...

    基于springboot+vue的物资仓储物流管理系统(vue)(源码+部署说明+系统介绍+数据库).zip

    它包括了用户管理、物资管理、订单管理和统计报表等多个功能模块,以及系统的架构设计和性能优化等方面的内容。通过阅读该系统介绍,你可以全面了解该系统的实现细节和技术特点,从而更好地理解和使用该系统。 该...

    大数据行业分析报告DOC.doc

    虽然采集端本身会有很多数据库,但是如果要对这些海量数据进 行有效的分析,还是应该将这些来自前端的数据导入到一个集中的大型分布式数据库, 或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理...

    大数据行业分析报告.doc

    虽然采集端本身会有很多数据库,但是如果要对这些海量数据进 行有效的分析,还是应该将这些来自前端的数据导入到一个集中的大型分布式数据库, 或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理...

    超级有影响力霸气的Java面试题大全文档

     Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常...

    java 面试题 总结

    Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来...

    Mycat数据库中间件-其他

    MyCAT是一种开源软件,是面向企业的“大型数据库集群”。MyCAT是一个强制数据库,可以替代MySQL,并支持事务和ACID。作为企业数据库的MySQL群集,MyCAT可以代替昂贵的Oracle群集。MyCAT还是一种新型的数据库,它看...

    Mycat数据库中间件 v1.13

    MyCAT是一种开源软件,是面向企业的“大型数据库集群”。MyCAT是一个强制数据库,可以替代MySQL,并支持事务和ACID。作为企业数据库的MySQL群集,MyCAT可以代替昂贵的Oracle群集。MyCAT还是一种新型的数据库,它看...

    Mycat2数据库中间件-其他

    MyCAT是一种开源软件,是面向企业的“大型数据库集群”。MyCAT是一个强制数据库,可以替代MySQL,并支持事务和ACID。作为企业数据库的MySQL群集,MyCAT可以代替昂贵的Oracle群集。MyCAT还是一种新型的数据库,它看...

Global site tag (gtag.js) - Google Analytics