http协议的利用、动静分离等

http协议的利用、动静分离等

ID:35200677

大小:548.00 KB

页数:21页

时间:2019-03-21

http协议的利用、动静分离等_第1页
http协议的利用、动静分离等_第2页
http协议的利用、动静分离等_第3页
http协议的利用、动静分离等_第4页
http协议的利用、动静分离等_第5页
资源描述:

《http协议的利用、动静分离等》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Web发展的速度让许多人叹为观止,层出不穷的组件、技术,只需要合理的组合、恰当的设置,就可以让Web程序性能不断飞跃。Web的思想是通用的,它们也可以运用到JavaWeb。这一系列的文章,将从各个角度,包括前端高性能、反向代理、数据库高性能、负载均衡等等,以JavaWeb为背景进行讲述,同时用实际的工具、实际的数据来对比被优化前后的JavaWeb程序。第一部分已经讲解了部分前端优化,该部分是前端性能优化的其他内容,包括HTTP协议的利用、动静分离等等。合理利用这些技术将使Web技术更加高效。引言本文将讲解前端优化里重要的

2、Flush机制、动静分离、HTTP持久连接、HTTP协议灵活应用、CDN等。结合这些技术或思想,相信会使JavaWeb应用程序的性能更上一层楼。Flush机制的使用实际上在Web技术中,Flush机制并不新鲜,它的思想是无需等到网页内容全部加载完毕,一次性写回客户端,而是可以部分逐次的返回。如果网页很大的话,一次性写回全部内容显然是个不明智的选择,因为这会造成网页的长时间空白。Flush机制允许开发人员将网页的内容按文档流顺序逐步返回给客户端,这样可以使得用户知道我们的系统正在工作,只是等待的时间稍长而已,这样用户也会“

3、心甘情愿”的等下去。Flush机制是一个经典的提高用户体验的方法,至今也一直在用。如果网页很大,这个机制也是建议使用的。在JavaWeb技术中,实现Flush非常简单,只要调用HttpServletResponse.getWriter输出流的flush方法,就可以将已经完成加载的内容写回给客户端。但是是否每个网页都要使用该技术呢?笔者当然不这么建议。将网页内容加载完毕后再一次性返回客户端也有它的好处。我们知道网络传输也有最大的传输单元,内容加载完毕后一次性输出就可以最大程度的利用传输的带宽,减少分块,减少传输次数,也就是

4、说实际上Flush机制会增加用户等待时间、增加浏览器渲染时间,但是对于大网页来说,降低这点效率来增强用户体验,是值得的。动静分离所谓的动静分离,就是将Web应用程序中静态和动态的内容分别放在不同的Web服务器上,有针对性的处理动态和静态内容,从而达到性能的提升。本文基于JavaWeb来讲解Web优化,而JavaWeb的主流服务器软件是Tomcat。让人遗憾的是,Tomcat在并发和静态资源处理的能力上较弱,这也是Tomcat为人诟病的地方。但是瑕不掩瑜,既然我们选择了JavaWeb,那么就应该发挥我们程序员的头脑去想方设

5、法的提高性能。而动静分离就是其中一种方法,既然Tomcat处理静态资源的能力较弱,那就将静态资源的处理任务交给适合的软件,而让Tomcat专注于处理JSP/Servlet的请求。对于静态资源处理的服务器软件,我们可以选择Nginx,它是一款俄罗斯人开发的软件,似乎比Apache更加优秀。它支持高并发,对静态资源处理的能力较强,这正是我们想要的不是吗?事实上,动静分离的方案很多,有人采用Apache+Tomcat的组合;也有人使用Tomcat+Tomcat的组合,不过两个Tomcat分别被放置于不同的主机,不同的域名。其中

6、Apache+Tomcat的方案与Nginx的方案原理上是一样的,它们都是基于反向代理,相对于使用Nginx配置动静分离,Apache的配置就显得略微复杂一些。在Apache里,mod_proxy模块负责反向代理的实现。其中核心配置内容如清单1所示,该配置属于本人参与某项目的其中一部分。清单1.动静分离的Apache核心配置 BalancerMemberhttp://192.168.1.178:8080loadfactor=1 BalancerMemberhttp://192

7、.168.1.145:8080loadfactor=1 NameVirtualHost*:80 ServerAdminservice@xuanli365.com ServerNamewww.xuanli365.com DocumentRoot/www DirectoryIndexindex.shtml AllowOverrideAll AddTypetext/html.shtml AddTypeapplication/x-rar.rar

8、 AddHandlerserver-parsed.shtml Options+IncludesNOEXEC RewriteEngineon ProxyRequestsOff ProxyPass/static/! ProxyPass/balancer://proxy/ ProxyPassRev

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。