服务器软件
运行在服务器操作系统之上,绑定了服务器特定的IP地址,并且在某一个端口监听用户的请求,提供服务的软件
静态服务
静态服务一般返回的是静态资源,不同用户无论何时,只要访问同一个服务,拿到的内容都是一模一样的(hexo、 hugo搭建出来的是静态博客)
动态服务
动态服务一般返回的是动态资源,比如用户去登录一个网站的后台,会根据不同的用户身份和权限信息返回不同的内容和资源(wordpress 、halo)
Web服务器
提供web化服务,web服务器从广义上来说就是响应用户的需求然后提供服务,当下几乎所有的服务器软件,我们都可以称之为web服务器。
Web化服务
比如网站页面服务,邮件服务,一些网络下载的服务等等均可称之为web化服务。
http服务器
当今web服务器应用层通讯协议主要就是http协议,我们基本可以将HTTP服务器理解为和web服务器对等
应用服务器
一个特定应用的承载容器,一般来说,它需要有运行时环境的支持比如java领域比较常用的应用服务器Tomcat,它就必须要java的runtime运行时环境的支持,因此应用服务器也常常被称作动态服务器、动态容器、应用容器、web容器等等。
部分常用的服务器
- Nginx:http服务器,它原本的本职工作就是将服务端的静态内容或资源通过HTTP协议的形式传输给客户端,它是典型的静态服务器,Nginx服务器的功能远不止这些,现在常用的功能是做反向代理服务器还有负载均衡来使用,在现实的应用部署场景中,Nginx一般是与后面真正的动态应用服务器打配合,例如:用户->nginx->tomcat,Nginx把用户请求收到后转发给后面真正的Tomcat应用服务器,从而提供灵活,稳定的web服务。
- Tengine,它是基于Nginx服务器做的改造,是在Nginx的基础上又做了加强和封装,主要针对大流量网站的场景添加了很多高级的功能和特性。
- Apache Http
server:它是Apache软件组织旗下的一个HTTP服务器项目,从功能上来说,也是和Nginx服务器对等的,做静态HTTP服务器居多,但在并发性、负载性以及资源消耗方面性能比不上Nginx, - IIS:微软阵营的web服务器,只能运行在window系统下,并不是是开源的,它的主要身份是一个HTTP静态服务器
- Tomcat:也是Apache软件组织旗下的一个子项目,但Tomcat是一个典型的java应用服务器软件,提供动态服务,需要java运行时环境的支持,是springBoot框架默认的应用容器。
- Jetty:是SpringBoot框架支持的内嵌应用容器之一,Jetty是一个开源的HTTP服务器+应用容器,因此既可以提供静态服务,也可以提供动态服务。
- Udertow:是SpringBoot框架支持的内嵌应用容器之一,是一款基于java语言编写的应用服务器,并发量不高时Udertow、Jetty、Tomcat的区别不大,并发量高时,Udertow要优一些