服务器
服务器类型
服务器根据静态和动态加载数据,分为 web 服务器和应用服务器两种。
web 服务器
提供代理服务,负责接收 HTTP 请求并返回 HTTP 响应。
web 服务器可以访问本地磁盘上所有的资源文件,但不能对 HTTP 请求/响应进行动态加载! web 服务器接收的 HTTP 资源请求路径必须是固定且明确的,如指向服务器根路径下的 index.html 。web 服务器数据会直接把 index.html 的数据装入 HTTP 响应返回,而不能对其进行修改。
应用服务器
对远程请求进行逻辑处理,读取 HTTP 请求参数、将后台数据动态加载到页面中。
应用服务器只能访问部署在服务器中的项目资源文件,用来实现对 HTTP 请求/响应的动态加载。 web 服务器接收到路径不固定的 HTTP 请求后(不指向某个具体的文件),应用服务器可以对其进行解析并进行相应的逻辑处理。应用服务器往往在读取后端数据后通过 JSP 等技术对页面实现动态修改,再交给 web 服务器将数据装入 HTTP 响应返回。
通过 Java 语言实现动态加载的服务器,底层对数据库数据的调用都是通过 servlet 技术实现,因此也叫做 servlet 引擎。
常用服务器
- Apache
最经典的 web 服务器,用于接收 HTTP 请求并返回 HTTP 响应。
由于 web 服务器只能返回静态数据,如果想要根据后端语言对页面进行动态修改,需要安装 PHP/Java 等语言的 Apache 插件。
- Tomcat
目前最常使用的 Java web 应用服务器,支持 Java 语言在后端对页面进行动态加载。
免费易用、生态完善。且内置了 Apache 服务器,可以直接部署并使用。
- Jetty
轻量级的 Java web 应用服务器,适合处理长连接。常用于移动端 APP 开发应用服务器。
- 基于 Netty 技术自研
满足对性能、实时性、并发的特殊需求。如实时聊天服务器、视频云平台服务器。
- Nginx
性能优异的 web 服务器。常用于和其它应用服务器协同,负责缓存静态文件、负载均衡和反向代理,缓解应用服务器的负载压力。
Tomcat 服务器
基本介绍
Tomcat 是最著名的 java web 应用服务器,支持用 java 语言对返回页面进行动态处理。但现在一般使用前后端分离的方式,只返回数据。
- Spring Boot 内置 Tomcat 服务器,直接运行启动器即可。
常用服务器
一般在web项目开发 中,apache+tomcat+nginx联合使用,访问静态资源时用apache解析,访问动态资源时用tomcat解析,nginx作为反向代理服务器,同时支持高并发。
apache 是最常见的 web 服务器。不能动态处理页面!如果想脱离应用服务器直接使用,必须通过安装 php 插件等其他方式来修改页面。
nginx 是 Apache 提供的 web 服务器,nginx是一款高性能、轻量级的web服务器和反向代理服务器以及邮件代理服务器。支持高并发,并发量50000 。nginx不能解析动态的jsp页面。