服务器软件层面的概念
运行在服务器操作系统之上,绑定了服务器特定的IP地址,并且在某个端口监听用户的请求,提供服务的软件都叫服务器软件
静态服务VS动态服务
静态服务返回的是静态资源,不同用户访问拿到的资源都是一模一样的;动态服务返回的是动态资源,不同用户看到的资源是不一样的
三个基本概念
- Web服务器:提供web化服务(邮件,下载等等,响应用户需求)
- Http服务器(对等于Web服务器)
- 应用服务器(特定应用的承载容器,需要运行时环境的支持,比如tomcat需要java的runtime,也叫动态服务器,支持动态响应)
常用的服务器
- Nginx:HTTP服务器,将服务端的静态内容或资源通过HTTP协议的形式传输给客户端,静态服务器(用做反向代理,负载均衡)
- Nginx也可以在Lua脚本的辅助下做二次开发,变成一个提供动态服务的应用服务器:OpenResty
- Tengine:在Nginx基础上做了加强和封装,阿里的项目
- Apache Http Server:静态服务器
- IIS:Http静态服务器
- Tomcat:JavaEE,动态服务器,一般于Nginx打配合,叫Nginx直面用户的请求
- Jetty:和tomcat一个性质,都是做动态服务器,都符合Servlet标准,Jetty比Tomcat更轻量一些
- Undertow:和上面两个一个性质,并发量高的时候,要优于Jetty和Tomcat
三个商用的重量级应用服务器软件,平台级,体量大
- JBoss(Wildfly)
- WebLogic
- WebSphere