Web服务器有硬件服务器和软件服务器,现在硬件服务器多以云的方式为用户提供服务。Apache、nginx属于软件服务器,软件服务器是架设在服务端为Web应用提供系统级支撑服务,除了题目中提到的两个服务器,还有微软的IIS服务器也有比较多的应用,可以说是目前应用最为广泛的三大服务器。以下描述的是WebServer的用户请求处理过程(以CGI为例):通常WebServer还要与数据库服务器联合使用。下面通过JavaWeb服务器来解释WebServer的作用,首先我们看一下WebServer在内部提供的服务:WebServer包含了httpd和WebContainer,其中httpd服务器是apache为静态页面提供的响应服务器,而WebContainer则提供了动态内容的处理,为了解释WebContainer的概念,我们看一下官方给出的定义:官方定义只有两点:协调servlet与httpd进程之间的交互。一个实现了servletAPI的Java虚拟机。第一点比较好理解,如果是静态页面则交由httpd负责处理,如果是动态请求则传递到Webcontainer中进行处理。第二点是理解WebContainer的重点,实现了servletAPI的Java虚拟机则涵盖了很多内容。简单的概括一下,可以包含如下内容:1.web组件的配置、部署。2.web组件的生命周期管理、对象的创建、运行、销毁。
3.服务组件之间的信息共享。
4.会话管理。
5.安全管理、异常处理等。我们通过一个请求处理的时序图看一下WebContainer的作用:可以说WebContainer就是Web组件的运行支撑环境,Web组件的一切任务都在WebContainer中完成,同时WebContainer提供了系统级的支撑,用户的Web组件(比如servlet)只需要专注于业务逻辑的实现就可以了,为开发人员提供了很大的便利。由于Linux在安全性上要明显好于Windows和Unix,通常WebServer部署在Linux服务器上比较常见。同时Linux服务器的稳定性表现也比较突出,所以一般大型Web服务都选择部署在Linux系统上。关注我,了解更多关于Web开发的内容,我是悟空问答的签约作者,致力于为头条的网友提供专业的科技类问题解答。
web服务器就是一组提供web访问页面的服务器,比如你在浏览器输入百度的域名时,会展现一个百度的搜索页面,这个页面可以成为是一种web服务,这种页面需要有硬件设备存放,所以服务器的用处就是开启web服务,让你属于域名的时候可以访问到这个网站。以上就是比较大白话的说明了,不涉及任何技术语言,接下来详细解释下题主的问题设计到的问题。01什么是服务器就是类似家庭的电脑一样,一个硬件,然后上面跑着系统,可以理解为电脑超强版,因为要承载企业的业务,所以硬件性能方面肯定强出很多倍。系统也不是大家电脑里常使用的windows7这些,大部分还是使用linux系统,比如CenOS6.5之类的,当然也有使用windows企业版的,相比linux还是在少数,因为linux有很多针对企业服务器的优势。02什么是web服务web服务器分为Apache和nginx,现在可能使用nginx的多一些,不过也看相应的场景,没有什么绝对的好坏。nginx的优势就是占用的资源相对来说较少,因为架构的不同nginx抗并发的能力也要强一些。还有高度模块化的设计,编写模块相对来说简单一些。
谢邀~按照我自己的理解,和大家说说什么是Web服务器,再说一下什么的应用服务器,如果有理解不对的地方,请大家留言指正。访问网站的流程先想一想,我们访问一个网站,完整的流程是什么呢?在浏览器输入网址;浏览器把这个网址送到DNS服务器,解析获得对应的IP地址;发送HTTPRequest到这个IP的服务器;返回HTTPResponse回去;浏览器拿到响应内容进行渲染后,把页面展示给我们。Web服务器【这个IP的服务器】,做接收Request,返回HTTPResponse工作的,就是Web服务器。Web服务器是一个程序,运行在物理服务器上,等待着客户端(如浏览器)发送请求,当收到请求后,它会生成响应返回给客户端。严格意义上Web服务器只负责处理HTTP协议,只能发送静态页面的内容。所以web服务器一般也被称为HTTP服务器。应用服务器上面说到,Web服务器接收到Request之后,返回的Response大多数不会只是静态页面,那么就需要一个程序去根据Request动态地生成Response,这个程序就是应用服务器。应用服务器会有一些业务逻辑,可能会对数据库进行增删查改的操作,也可能会访问其他的应用服务器进行数据的查询或处理。相对于web服务器只能返回静态页面,而JSP,ASP,PHP等动态页面需要通过CGI、FastCGI、ISAPI等接口,交给应用服务器去处理。一般来说,应用服务器从web服务器接受请求,处理后的把响应返回再给web服务器,由web服务器再把响应返回给客户端。我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
首先你的理解是没有问题的,服务器确实是一台机器,可以是配置较高的多核大内存服务器也可以用个人电脑当做服务器,在开发学习时可以用个人电脑当做服务器。但是服务器只有硬件还不能叫做服务器,关键是要能够提供服务,Apache,Nginx是服务器类软件,可以对其他电脑或手机提供访问服务。一台服务器不仅要有硬件还要有软件,现在一般说的web服务器都是指软件服务器,对应的程序可以部署在硬件厂商哪里,如一些云服务器。
服务器是一个比较泛的概念,对于web服务器,运行web程序,硬件层面的服务器是指运行程序的电脑设备,比如IBM、HP等公司的服务器设备,提供网络访问的整套系统可以统称web服务器,比如淘宝的web服务器,其上的web服务提供程序也可称为web服务器,比如题主提到的apache,nginx等提供web服务软件系统。