1.服务器是什么

性能、稳定性比普通PC更强的机器,也需要操作系统的支持。 通常来说,只要运行再服务器操作系统之上。绑定了服务器的特定IP地址,并且在某一个端口监听用户的请求,并且提供服务的软件就叫做服务器。

2.web服务器

提供Web化服务:网站页面服务、邮件服务、网络下载的服务等。响应用户的需求,提供服务。

3.Http服务器

3.1定义

因为web服务器大都基于HTTP协议,可以理解为http服务器和web服务器对等。http服务器只是将服务器上的资源通过http协议形式传输给客户端。着重侧重与对静态资源的支持。可理解为静态服务器。

3.2典型代表

(1)Nginx

将服务端的静态内容或者资源,通过http协议的形式传输给用户。还可以用来做反向代理服务器、负载均衡。 现实中Nginx一般与动态服务器配合使用,比如tomcat. Nginx将用户请求转发给应用服务器,从而提供灵活稳定的web服务。

纯C语言编写,性能高,内存消耗少,稳定性好

(2)Tengin

基于Nginx的改造,针对大流量网站的场景,基于Nginx的加强。阿里出品,基于Nginx服务器做的改造(加强和封装),对大流量场景做了很多高级功能,性能、稳定性优秀

(3)Apache http server

功能上和Nginx对等,但是并发性、负载型以及性能上不及nginx

(4)IIS

微软旗下,仅用于windows,不开源。 可以定位为一个具有应用服务器能力的http服务器。很少用。

4.应用服务器

4.1定义

一个特定应用的承载容器,一般需要由运行环境的支持,eg:tomcat, 常常被称作动态服务器,动态容器、应用容器,web容器等。支持动态响应,根据用户的请求,动态生成资源并且返回给用户。

4.2典型例子

(1)tomcat

做Javaee容器, 是一个应用服务器,但是流量少的时候也可以做http服务器来用。Springboot默认支持的容器。符合servlet标准规范。

(2)Jetty

和tomcat一样也是SpringBoot框架支持的内嵌应用容器之一。开源的HTTP+应用服务器。与tomcat对等,只不过比tomcat轻量。符合servlet标准规范。

(3)Undertow

和tomcat一样也是SpringBoot框架支持的内嵌应用容器之一.隶属于红帽旗下,基于java编写。符合servlet标准规范。

以上三种都是比较轻量级的服务器,开源, 其实高并发的情况下undertow的性能由于jetty和tomcat.

以下是几个比较重量级别的应用服务平台。

(4)Jboss

应用服务器,不仅是serlvet应用容器,还是EJB应用容器。 从版本8开始更名为WildFly。 企业级开发,隶属于红帽。其默认的web服务器是undertow。整套JavaEE框架部署的解决方案

(2)Weblogic

java应用服务器, oracle公司。全能型重量级应用型服务器。支持所有的javaee规范。

(3)Websphere

隶属于IBM公司。商业服务器软件,价格昂贵,持更多JavaEE的应用规范的综合应用服务器

5.静态服务与动态服务

静态服务例子:比如博客,不同的人请求,得到的内容是一样的;提供的是静态服务。

动态服务例子: 比如B站,不同的人登录,页面是不一样的