精华内容
下载资源
问答
  • WEB服务器几种

    2020-11-03 10:22:00
    如今的Web服务器有很多种,大家做项目的时候根据自己的需求进行灵活的选择。下面小编就给大家分享一下目前都有哪些Web服务器。  1.Apache  Apache也被叫做httpd服务器,是目前使用最广泛的web服务器,它被应用...

     

      如今的Web服务器有很多种,大家在做项目的时候根据自己的需求进行灵活的选择。下面小编就给大家分享一下目前都有哪些Web服务器。

      1.Apache

      Apache也被叫做httpd服务器,是目前使用最广泛的web服务器,它被应用于各种平台之中。Apache刚开始被推出的时候有很多的缺陷,如今已经被修复的越来越完善,如果你是web服务器的钻研者,小编建议你一定要学习一下Apache的使用。

      2.Nginx

      Nginx是Linux平台下的优秀Web服务器,小编以前用过这个服务器,它让本来运行很慢的应用程序提升了很大的速度。

      3.IIS

      IIS是微软平台的Web服务器,是针对Windows平台的服务器。它和NET语言非常的搭配,新手掌握起来也比较快。

      4.WebLogic

      WebLogic是专门应用于企业级开发的web服务器,比较常见的是和Java语言搭配,使用起来和Apache差不多,同时它的架构也非常的优秀。

      5.Tomcat

      Tomcat是很多Java学习者都非常熟悉的web服务器,一般刚开始学习Java Web开发的人都会使用Tomcat作为服务器进行练习。它既有可视化的操作界面,也有命令语句,是不错的入门级服务器。

      6.Lighttpd

      Lighttpd是一款开源的web服务器,比较的轻巧,功能也很多。目前在使用率上比较少,还没有推广起来。

      7.Sun

      Sun是一款针对Solaris的web服务器,应用范围不是很广泛,只应用于Sun公司的相应web产品。另外一般的开发者轻易的用不了这款服务器。

      8.Jetty

      Jetty是专门针对Java Web的服务器,它被用来运行Servlet程序,是众多服务器中最局限的一个了。小编并不建议大家掌握这款服务器。

      web服务器的工作原理

      我们最常说的Web服务器指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序。Web服务器可以向Web客户端(如浏览器)提供文档或其他服务,只要是遵循HTTP协议而设计的网络应用程序都可以是Web客户端。

      Web服务器和HTTP服务器可以说是同一个东西,当然非得细分的话,HTTP服务器是建立在HTTP协议之上的提供文档浏览的服务器,更多的是提供静态的文件。而Web服务器涵盖了HTTP服务器(这一点可以自行百度百科), Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。

    WEB服务器有哪几种_web服务器的工作原理

      上面这张图,将一次Web服务的工作流程过一遍,我们假设以浏览器作为客户端

      (1) 用户做出了一个操作,可以是填写网址敲回车,可以是点击链接,可以是点击按键等,接着浏览器获取了该事件。

      (2) 浏览器与对端服务程序建立TCP连接。

      (3) 浏览器将用户的事件按照HTTP协议格式**打包成一个数据包,其实质就是在待发送缓冲区中的一段有着HTTP协议格式的字节流。

      (4) 浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序。

      (5) 服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图。

      (6) 得知客户端意图后,进行分类处理,或是提供某种文件、或是处理数据。

      (7) 将结果装入缓冲区,或是HTML文件、或是一张图片等。

      (8) 按照HTTP协议格式将(7)中的数据打包

      (9) 服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端。

      (10) 浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件。

      (11) 浏览器将HTML文件展示在页面

      以上为Web服务器工作基本原理。其实不难发现,这仅仅只是一个简单的网络通信。我们应该深信,作为一个服务器,其根本的工作无非有三个

      1.接收数据 2.发送数据 3.数据处理

      而Web服务器的本质就是 接收数据 ⇒ HTTP解析 ⇒ 逻辑处理 ⇒ HTTP封包 ⇒ 发送数据

      高级的服务器无非就是将这三个部分更加细致的设计了。

    展开全文
  • ftp服务器在搭建windows系统下,web服务器在部署linux系统下,现java中使用ftpclient实现上传下载时,下载的文件内容是乱码; 之前web服务器也部署在windows系统下正常的,后来迁移到linux系统下出现乱码了啊,...
  • Web服务器是指驻留Internet上的计算机程序,它的基本功能是提供Web信息浏览服务。因为Web服务器主要支持的协议就是HTTP协议,所以通常情况下WEB服务器和HTTP服务器说的是同一回事。应用服务器是指通过各种协议把...

    WEB服务器、应用程序服务器、HTTP服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere都各属于哪种服务器

    Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的(有没有支持除HTTP之外的协议的web服务器,作者没有考证过),说的是一回事。 
    应用程序服务器(简称应用服务器),我们先看一下微软对它的定义:"我们把应用程序服务器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。 就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)" 
    

    通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑 (business logic)。
    以Java EE为例,Web服务器主要是处理静态页面处理和作为 Servlet容器,解释和执行servlet/JSP,而应用服务器是运行业务逻辑的,主要是EJB、 JNDI和JMX API等J2EE API方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比WEB服务器强大的多。
    以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。
    Apache:在Web服务器中,Apache是纯粹的Web服务器,经常与Tomcat配对使用。它对HTML页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码(JSP/Servlet。
    Tomcat:早期的Tomcat是一个嵌入Apache内的JSP/Servlet解释引擎Apache+Tomcat就相当于IIS+ASP。后来的Tomcat已不再嵌入Apache内,Tomcat进程独立于Apache进程运行。 而且,Tomcat已经是一个独立的Servlet和JSP容器,业务逻辑层代码和界面交互层代码可以分离了。因此,有人把Tomcat叫做轻量级应用服务器。
    IIS:微软早期的IIS,就是一个纯粹的Web服务器。后来,它嵌入了ASP引擎,可以解释VBScript和JScript服务器端代码了,这时,它就可以兼作应用服务器。当然,它与J2EE应用服务器根本无法相比,但是,从功能上说,从原理上说,它勉强可以称之为应用服务器。确切地说,它是兼有一点应用服务器功能的Web服务器。
    综上:Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。
    Weblogic、WebSphere因为能提供强大的J2EE功能,毫无疑问是绝对的应用服务器。
    对于处于中间位置的Tomcat,它可以配合纯Web服务器Apache一起使用,也可以作为应用服务器的辅助与应用服务器一起部署:
    一、Tomcat与应用服务器
    到目前为止,Tomcat一直被认为是Servlet/JSP API的执行器,也就所谓的Servlet容器。然而,Tomcat并不仅仅如此,它还提供了JNDI和JMX API的实现机制。尽管如此,Tomcat仍然还不能算是应用服务器,因为它不提供大多数J2EE API的支持。
    很有意思的是,目前许多的应用服务器通常把Tomcat作为它们Servlet和JSP API的容器。由于Tomcat允许开发者只需通过加入一行致谢,就可以把Tomcat嵌入到它们的应用中。遗憾的是,许多商业应用服务器并没有遵守此规则。
    对于开发者来说,如果是为了寻找利用Servlet、JSP、JNDI和JMX技术来生成Java Web应用的话,选择Tomcat是一个优秀的解决方案;但是为了寻找支持其他的J2EE API,那么寻找一个应用服务器或者把Tomcat作为应用服务器的辅助,将是一个不错的解决方案;第三种方式是找到独立的J2EE API实现,然后把它们跟Tomcat结合起来使用。虽然整合会带来相关的问题,但是这种方式是最为有效的。。
    二、Tomcat与Web服务器
    Tomcat是提供一个支持Servlet和JSP运行的容器。Servlet和JSP能根据实时需要,产生动态网页内容。而对于Web服务器来说, Apache仅仅支持静态网页,对于支持动态网页就会显得无能为力;Tomcat则既能为动态网页服务,同时也能为静态网页提供支持。尽管它没有通常的Web服务器快、功能也不如Web服务器丰富,但是Tomcat逐渐为支持静态内容不断扩充。大多数的Web服务器都是用底层语言编写如C,利用了相应平台的特征,因此用纯Java编写的Tomcat执行速度不可能与它们相提并论。
    一般来说,大的站点都是将Tomcat与Apache的结合,Apache负责接受所有来自客户端的HTTP请求,然后将Servlets和JSP的请求转发给Tomcat来处理。Tomcat完成处理后,将响应传回给Apache,最后Apache将响应返回给客户端。
    而且为了提高性能,可以一台apache连接多台tomcat实现负载平衡。
    关于WEB服务器、应用程序服务器的更详细区别可以参考下面这篇文章:
    通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑 (business logic)。
    下面让我们来细细道来:
    Web服务器(Web Server)
    Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应 (response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。
    要知道,Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求 (request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。
    虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。
    应用程序服务器(The Application Server)
    根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法 (或过程语言中的一个函数)一样。
    应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。
    在大多数情形下,应用程序服务器是通过组件 (component) 的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling),和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。
    一个例子
    例如,设想一个在线商店(网站)提供实时定价(real-time pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询 (query)后,网站会进行查找(lookup)并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序服务器 的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于你了解应用程序服务器的功能。
    情景1:不带应用程序服务器的Web服务器
    在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求(request),然后发送给服务器端(server- side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat file,译者注:flat file是指没有特殊格式的非二进制的文件,如properties和XML文件等)中查找定价信息。一旦找到,服务器端(server-side)程序把结果信息表示成(formulate)HTML形式,最后Web服务器把会它发送到你的Web浏览器。
    简而言之,Web服务器只是简单的通过响应(response)HTML页面来处理HTTP请求(request)。
    情景2:带应用程序服务器的Web服务器
    情景2和情景1相同的是Web服务器还是把响应(response)的产生委托(delegates)给脚本(译者注:服务器端 (server-side)程序)。然而,你可以把查找定价的商业逻辑(business logic)放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务(lookup service),而不是已经知道如何查找数据然后表示为(formulate)一个响应(response)。这时当该脚本程序产生HTML响应(response)时就可以使用该服务的返回结果了。
    在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务(lookup service)时,此服务只是简单的查找并返回结果给客户端。
    通过从响应产生(response-generating)HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在 HTML页中了。
    总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。
    警告(Caveats)
    现在,XML Web Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数据和响应(response)的能力与以前的应用程序服务器同样多了。
    另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。

    展开全文
  • 亲们,我搞的WEB程序上了ubuntu linux机了,我不想装crontabsg再来个每天定时重启服务器,我想将重启服务器脚本写在web程序里,有位大神有现成的呀,java程序
  • Web服务器是指驻留Internet上的计算机程序,它的基本功能是提供Web信息浏览服务。因为Web服务器主要支持的协议就是HTTP协议,所以通常情况下WEB服务器和HTTP服务器说的是同一回事。应用服务器是指通过各种协议把商...

    Web服务器、HTTP服务器及应用服务器有何区别?Apache、Nginx、IIS、Tomcat、JBoss、Weblogic、WebSphere 都各属于哪种服务器?

    Web服务器是指驻留在Internet上的计算机程序,它的基本功能是提供Web信息浏览服务。因为Web服务器主要支持的协议就是HTTP协议,所以通常情况下WEB服务器和HTTP服务器说的是同一回事应用服务器是指通过各种协议把商业逻辑曝露给客户端的程序,它提供访问业务逻辑的途径以供客户端应用程序使用。

    通俗的讲,Web服务器专门处理HTTP请求,应用服务器通过各种协议来为客户端提供业务逻辑。以J2EE为例,Web服务器主要处理静态页面以及作为Servlet容器,解释和执行servlet/JSP,而应用服务器主要运行业务逻辑,如EJB、 JNDI和JMX等J2EE API,还包含事物管理、数据库连接等功能。因此,在企业级应用中,应用服务器提供的功能比Web服务器强大得多。

    以这样的定义,Apache、Nginx、IIS、Tomcat都属于Web服务器,JBoss、Weblogic、WebSphere都属于应用服务器。

    综上:ApacheNginx是纯粹的Web服务器,而IISTomcat因为具有了解释和执行服务器端代码的能力,可以称作为轻量级应用服务器JBoss、WeblogicWebSphere因为能提供强大的J2EE API功能,毫无疑问是绝对的应用服务器。对于处于中间位置的Tomcat,它可以配合Web服务器Apache/Nginx一起使用,也可以作为应用服务器的辅助与应用服务器一起使用。

    Tomcat与Web服务器

    Tomcat是一个支持Servlet和JSP技术的容器。Web服务器Apache、Nginx仅仅支持静态网页,对于支持动态网页就会显得无能为力,而Tomcat(Servlet和JSP能根据实时需要产生动态网页)既能为动态网页服务,又能为静态网页提供支持。尽管Tomcat没有通常的Web服务器快(通常的Web服务器都是用底层语言(如C/C++)编写,而Tomcat用纯Java编写)、功能也不如通常的Web服务器丰富,但是其正在不断的改进和完善。

    一般来说,大型网站都是将Tomcat与Apache/Nginx结合,Apache/Nginx负责接受来自客户端的HTTP请求,然后将HTTP请求转发给Tomcat来处理。

    为了提高性能,可以将一台Apache/Nginx连接多台tomcat实现负载均衡。

    Tomcat与应用服务器

    目前,Tomcat一直被认为是Servlet容器。然而,Tomcat并不仅仅如此,它还提供了JNDI和JMX的实现机制。尽管如此,Tomcat仍然还不能算是应用服务器,因为它不提供J2EE API的其他大多数支持。

    目前许多的应用服务器通常把Tomcat作为它们Servlet容器。

    对于开发者来说,如果是为了寻找Servlet、JSP、JNDI和JMX技术来生成Java Web应用的话,选择Tomcat是一个优秀的解决方案;但是为了寻找其他的J2EE API的支持,那么寻找一个应用服务器或者把Tomcat作为应用服务器的辅助是一个不错的解决方案;第三种方式是找到独立的J2EE API实现,然后把它们跟Tomcat结合起来使用,虽然整合会带来相关的问题,但是这种方式是最为有效的。

     

    展开全文
  • 这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】...【jetty,resin,tomcat的差别哪里,在线上服务应该选择一种WEB服务器? 】 1.背景介绍一、什么是Tomcat Tomcat是Ap...
        

    这里是修真院后端小课堂,每篇分享文从

    【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

    八个方面深度解析后端知识/技能,本篇分享的是:

    【jetty,resin,tomcat的差别在哪里,在线上服务应该选择哪一种WEB服务器?  】

     

    1.背景介绍
    一、什么是Tomcat

    Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 9支持最新的Servlet 3.2 和JSP 2.3 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

    二、什么是Jetty

    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

    三、什么是Resin

    Resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快。Resin本身包含了一个支持HTTP/1.1的WEB服务器。它不仅可以显示动态内容,而且它显示静态内容的能力也非常强,速度直逼APACHESERVER。许多站点都是使用该WEB服务器构建的

    2.知识剖析
    tomcat架构:

    Tomcat是一个HTTP服务器,同时也是一个Servlet容器(可以执行Servlet文件,JSP、JSF会被转换成Servlet),支持多种功能,因此采用了分层、模块化的设计。

    配置文件内容

    <?xml version='1.0' encoding='utf-8'?>

    <Server>

      <Service>

        <Connector/>

        <Engine>

          <Host></Host>

        </Engine>

      </Service>

    </Server>

    jetty架构:

    Jetty Server是一个Connector集合和一个Handler集合间的管道,Connector用于接收HTTP连接,Handler服务来自连接的请求并作出响应,Jetty Server使用来自一个线程池的线程来处理这些工作。

    当Jetty请求/响应源自Servlet API时,Servelet API的完整特征只有你配置适当的handler才是可用的。例如,在请求中的session API只有当请求被传递给一个Session Handler时才被激活。如果servlet不被要求,只有很少的开销用于servlet请求/响应API。因此你能构建一个仅用connector和handler的Jetty Server,不用servlet。

    配置Jetty的工作是构建一个connector和handler的网络,并提供他们各自的配置。由于Jetty这句践是简单的POJO(Plain Old Java Object),你能完成通过各种方法完成组件的集成和配置:

     1)代码;

     2)使用Jetty XML;

     3)使用依赖注入框架:Spring或者XBean;

     4)使用Jetty WebApp和Context Deployer。

     

    resin:

    Resin提供了最快的jsp/servlets运行平台。在java和javascript的支持下,Resin可以为任务灵活选用合适的开发语言。Resin的一种先进的语言XSL(XML stylesheet language)可以使得形式和内容相分离。 如果您选用jsp平台作为internet商业站点的支持,那么速度、价格和稳定性都是要考虑到的,resin十分出色,表现更成熟,很具备商业软件的要求。

     

    一、tomcat和jetty的比较

    相同点:

    Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的servlet规范和JavaEE的规范。

    不同点:

    1.架构比较

    Jetty的架构比Tomcat的更为简单

    Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。

    Tomcat的架构是基于容器设计的,进行扩展是需要了解Tomcat的整体设计结构,不易扩展。

    2.性能比较

    Jetty和Tomcat性能方面差异不大

    Jetty可以同时处理大量连接而且可以长时间保持连接,适合于web聊天应用等等。

    Jetty的架构简单,因此作为服务器,Jetty可以按需加载组件,减少不需要的组件,减少了服务器内存开销,从而提高服务器性能。

    Jetty默认采用NIO结束在处理I/O请求上更占优势,在处理静态资源时,性能较高

    少数非常繁忙;Tomcat适合处理少数非常繁忙的链接,也就是说链接生命周期短的话,Tomcat的总体性能更高。

    Tomcat默认采用BIO处理I/O请求,在处理静态资源时,性能较差。

    3.其它比较

    Jetty的应用更加快速,修改简单,对新的Servlet规范的支持较好。

    Tomcat目前应用比较广泛,对JavaEE和Servlet的支持更加全面,很多特性会直接集成进来。

     

    二、tomcat和resin的区别

    特征

    Tomcat

    Resin

    所属公司

    Apache

    CAUCHO

    用户数

    可参考文档

    与Eclipse集成复杂度

    适中

    较复杂。

    Eclipse下调试开发

    简便

    复杂,更新类后会自动重启

    部署环境启动 臃肿
    人性化

    开发环境热部署支持

    较好,可根据需要配置。修改Jsp或java文件时,可配置是否重启服务
    较差,更新class及jsp文件,系统都会自动重新部署,并重启,配置了Session会话时开发比较麻烦

    生产环境下热部署支持
    一般。更新配置文件时,必须手动重启。更新其他文件时,大部分不用重启。但一次性更新太多文件时,经常会造成Tomcat重启失败。

    较好。更新配置文件时,Resin会自动重启。

    集群部署

    支持

    支持

     

    3.常见问题
    1,在线上服务应该选择哪一种web服务器?

    2,为什么要选择jetty?

    3,jetty与tomcat的比较?

    4.解决方案
    1,这些服务器各有优劣,选择服务器时应该先参考项目,预估规模大小等。比如大规模的企业级应用,Tomcat自身扩展了大量JEE特性可满足企业级应用的需求, 所以这种情况下应选用Tomcat。

    2,Jetty是Java领域另一个出色的Web服务器,它同样也是开源的。与tomcat不同的是它可作为一个嵌入式服务器。也就是说,如果我们在应用中加入jetty的核心jar文件,应用即可对外提供http服务。它同时也是平台无关的java web服务器,既可以在Windos平台上运行,也可以在Linux平台上运行。

    3,单纯比较Tomcat和Jetty的性能意义不是很大,只能说在某些使用场景下它们的表现各有差异,因为它们面向的使用场景不尽相同。从架构上来看Tomcat在处理少数非常繁忙的连接上更有优势,也就是连接的生命周期如果比较短,Tomcat的性能比较优。

    而Jetty则恰好相反,Jetty可以同时处理大量链接并且长时间的保持这些链接,例如,一些Web聊天应用非常适合用Jetty服务器,淘宝的Web 旺旺就是用Jetty作为Servlet引擎

    5.编码实战
    6.扩展思考
    这几个服务器各有优缺点,那一个网站部署服务器时,应该怎么选择才可以保证更加高效的运行呢?

    7.参考文献
    https://www.cnblogs.com/fengl...

    http://www.linuxidc.com/Linux...

    8.更多讨论
    1.tomcat解决了哪些问题?

    tomcat是servlet容器,它可以帮我们对接http请求(做些通用处理),然后将请求转发到我们的servlet处理器进行处理,我们只需要把自己的业务处理放在servlet的service方法即可,不需要关注其他多余的事情。

    2.什么是Apache?

    Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。 

    3.Apache与Tomcat的比较 ?

    Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等),而Tomcat是Apache组织在符合Java EE的JSP、Servlet标准下开发的一个JSP服务器.  
    Apache是一个Web服务器环境程序,启用他可以作为Web服务器使用,不过只支持静态网页如(ASP,PHP,CGI,JSP)等动态网页的就不行。如果要在Apache环境下运行JSP的话就需要一个解释器来执行JSP网页,而这个JSP解释器就是Tomcat。 
    Apache:侧重于HTTPServer ,Tomcat:侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,支持JSP,但对静态网页不太理想; 
    Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。 
    实际使用中Apache与Tomcat常常是整合使用

    展开全文
  • Web服务器是指驻留Internet上的计算机程序,它的基本功能是提供Web信息浏览服务。因为Web服务器主要支持的协议就是HTTP协议,所以通常情况下WEB服务器和HTTP服务器说的是同一回事。应用服务器是指通过各种协议把...
  • ...TomcatTomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性...
  • 应用服务器web服务器 这是本系列的第二篇文章,我们将发布有关Java安装的统计数据。 使用的数据集来自免费的Plumbr安装,过去六个月中,我们总共收集了1,024个不同的环境。 该系列的第一篇文章分析了基础-运行...
  • 我本次是测试web服务器是如何知道浏览器已经取消了请求?  如果浏览器取消请求,web服务器继续向浏览器发送请求,将会造成web服务器的崩溃。高级语言中种称之为异常也叫做异常中断,但是C语言中没有。可是,...
  • web服务器架构

    2014-07-22 12:22:59
    基础知识普及:http: HyperText Transfer Protocol: 超文本传输协议它不仅能够保证计算机快速地传输超文本文档,还能确定传输文档中的一部分,以及部分内容先显示(如文本先于图形)等。http协议是一个应用层...
  • web 服务器性能调优

    2016-04-13 09:33:45
    无论你是用web 服务器,你都需要对它进行优化来提高性能。下面的推荐手段可以用于任何 web 服务器,但是一些设置是针对 NGINX 的。关键的优化手段包括:访问日志。不要把每个请求的日志都直接写回磁盘,你可以...
  •   无论是apache,IIs,还是kangle ,使用过的技术人员,相信,都深知它们的优势在哪!   小女子接触web服务器时间不长,初浅的了解是:   apache主适用在linux,unix操作系统上;IIS...
  • 还请各位多多帮助!
  • web服务器配置问题

    2017-01-02 16:16:43
    web请求直接与master联系,查询所需数据具体在哪台server上面,然后从data server上直接返回数据给客户端。请问怎么实现master到data server的跳转呢?因为客户端是首先连的master,怎么使data server讲数据传给...
  • 即用cookie会话机制替代session会话机制,将session数据保存到客户端浏览器的cookie中,这样同一个用户访问同一网站时,无论负载均衡到web服务器,都不用再去服务器请求session数据,而直接获取客户端cookie中的...
  • 现今的网络,安全越来越受到大家的重视,构建网络安全环境时,技术手段,管理...本文从分析Web服务器的logging记录来找出漏洞,防范攻击,从而加强Web服务器安全。 Web服务是Internet所提供最多,最丰富的服务,...
  • 虽然大多数日志分析软件不仅仅支持Web服务器日志,但是,本文仅讨论web服务器的日志记录。记录分析软件能够显示从连接到服务器的IP地址到以饼图表详细说明的一类文件访问的次数最多等所有的信息。大多数流行的Web...
  • 现今的网络,安全越来越受到大家的重视,构建网络安全环境时,...本文从分析Web服务器的logging记录来找出漏洞,防范***,从而加强Web服务器安全。 Web服务是Internet所提供最多,最丰富的服务,各种Web服务器...
  • 这次用自己练手的一个WEB项目部署到服务器上面去。这次部署自己买的一个云服务器上,和虚拟机一样装的是Linux操作系统,而且也云服器很方便,买了就可以使用,只需要安装jre、数据库,以及tomcat这些软件就可以...
  • 国内十大网站使用的Web服务器调查

    千次阅读 2012-06-15 16:58:35
    比如像百度、腾讯等国内大型企业使用Web服务器呢?这里,我们通过Firebug查看http返回头的方式,得到了十大网站使用的Web服务器列表: 说明:这里测试的全部是首页,这些大型网站,很可能不同的栏目使用...
  • 即用cookie会话机制替代session会话机制,将session数据保存到客户端浏览器的cookie中,这样同一个用户访问同一网站时,无论负载均衡到web服务器,都不用再去服务器请求session数据,而直接获取客户端cookie中的...
  • 可以企业中同时设置两台或者两台以上的Web服务器,从而实现服务期之间负载均衡。如此的话,当有一个用户访问某个网页时,系统会自动挑选一台比较空闲的服务器来应对用户的请求。现在主要的关键点是,由谁来确定...
  • 服务器server 是计算机的一种,是网络中为客户端计算机提供各种服务的高性能的计算机,服务器在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络...
  • 这篇文章中,我们将主要讨论三件事情:Python, Web Servers, 还有最重要的一点是讨论这两者之间一些七零八碎的关系。 撇开笑话不谈,这篇相当长的文章对于那些正在找寻快捷的指导方法或者答案的人来说可能是...
  • 这篇文章中,我将讨论阿帕奇和NGINX服务器的区别。哪个是最快的 Web 服务器?它们的主要优点和限制是什么?你应该去一个? Apache 和 NGINX 的主要区别在于其设计架构。Apache 使用进程驱动的方法,并为每个...
  • Nginx+Keepalived实现Web服务器高可用 Nginx架构的特点: ①高可靠:稳定性 master进程 管理调度请求分发到一个worker=> worker进程 响应请求 一master多worker②热部署 :(1)平滑升级 (2)可以快速重载配置③高...
  • 阿里云服务器数据库信息在哪查看,阿里云自己安装数据库。对于大多数小型或初期项目来说,我们可能常用的做法是先将web、数据库全部安装在一起,后期根据需要来看是否将数据库单独迁移分离。传统物理服务器可以这么...
  • 使用Nginx反向代理多台服务器实行负载均衡的时候,如何查看某一个请求被转发到服务器上呢? nginx.conf添加配置: upstream demo { server 127.0.0.1:8781; server 127.0.0.1:8087; } 另外加上下面的...
  • 来源:www.vipcn.com  现今的网络,安全越来越受到大家的重视,构建网络...本文从分析Web服务器的logging记录来找出漏洞,防范攻击,从而加强Web服务器安全。 Web服务是Internet所提供最多,最丰富的服务,各种W

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,160
精华内容 464
关键字:

web服务器在哪