一项研究的概要,或一个总结。部分链接给出了过时的观点,已根据自己的理解进行了修改和编辑;
网络服务器
Web服务器的基本功能是提供Web信息浏览服务,响应客户端的浏览器请求。因为Web服务器支持的主要协议是server?
它不支持事务处理或数据库连接池,但可以配置各种策略来实现容错和可伸缩性,如负载平衡、缓冲和集群。
IIS、Apache、Tomcat都可以属于一个Web服务器。
IIS是微软开发的web服务器,需要收费。它主要用于运行ASP.NET ASP PHP,并且只能在windows下运行。
Apache和Tomcat都是Apache开源组织为处理而开发的,都可以处理。
通常,Apache服务器与tomcat服务器一起使用:
1) Apache服务器负责处理页面/图片等所有静态信息。
2) Tomcat只处理动态部分。
Apache:用C语言实现,专门提供HTTP服务。特点:简单、快速、稳定和可配置(代理)
1.主要用于解析静态文本,高并发,侧重于HTTP服务;
2.支持静态页面(HTML),不支持CGI、Servlet/JSP、PHP、ASP等动态请求。3.具有很强的可扩展性,可以通过插件支持PHP,还可以通过单向Apache连接Tomcat。
4.Apache是世界上排名第一的网络服务器。
Tomcat:由Java开发的符合JavaEE Servlet规范的JSP服务器(Servlet容器),是Apache的扩展。特性:免费的Java应用服务器
1.主要用于解析JSP/Servlet,重点是Servlet引擎;
2.支持静态页面,但是效率没有Apache高;支持Servlet和JSP请求;
3.Tomcat本身也有内置的集成。
Apache+Tomcat:两者融合的优势:如果深圳是静态网页,那么由Apache处理并返回结果;如果是动态请求,Apache会将解析工作转发给Tomcat进行处理,Tomcat会在处理后通过Apache返回结果。这样就可以做到分工协作,实现负载均衡,提高系统性能。是apache web server,tomcat是application (java) server,它只是一个servlet容器,可以认为是apache的扩展,但是可以独立于apache运行。独立于apache运行。换句话说,apache是一辆卡车,上面可以装载html等一些东西。但你是站不住脚的。要盛水,必须要有容器(桶),这个桶也可以不装在卡车上。
Nginx是俄罗斯人写的一个非常轻量级的代理服务器。
Nginx和Apache的比较:
1)轻量级,也作为web服务,比apache占用更少的内存和资源;
2)高并发。nginx是异步和非阻塞的,而apache是阻塞的。在高并发下,nginx可以保持低资源、低消耗、高性能;
3)高度模块化设计,编写模块相对简单;
4)提供负载平衡;
5)apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级)可以对应一个进程;
总结起来,CDN主要有以下功能:(1)节省骨干网带宽,降低带宽需求;(2)提供服务器端加速,解决大量用户访问导致的服务器过载问题;(3)服务提供商可以使用Web Cache技术,将用户访问的网页和对象缓存在本地,使得相同对象的访问不需要占用骨干网的出口带宽,增加了用户访问网页对应时间的要求;(4)可以克服网站分布不均的问题,降低网站自身的建设和维护成本;(5)减少“通信风暴”的影响,提高网络访问的稳定性。