跳至主要內容

Web服务器/容器

pptg大约 1 分钟

1. Web容器

1.1 Web服务器

Web服务器.png
Web服务器.png

Web服务器使用HTTP协议传输数据,根据用户的请求,返回静态的网页,如Nginx、Apache等。当用户想到根据输入来获取动态页面的时候,Web服务就不能满足需求了。

1.1.1 Nginx和Apache的区别

Nginx采用了异步事件驱动的架构,可以同时处理大量并发连接,在高并发和处理静态文件时性能优越。

Apache采用了多进程、线程的架构,每个请求都会创建一个新的进程、线程,在处理动态内容时性能较好,但在高并发场景下可能会遇到瓶颈。

1.2 Servlet容器

Servelet是Server Applet的缩写,即服务端小程序。Servlet基于Java,可以生成HTML、处理HTTP请求、访问数据库等。Servelet是第一代Java Web技术,第二代为JSP。

Servlet并没有main函数无法独立运行,故需要承载他的Java应用,这个应用就称为Servlet容器。

1.3 web容器

为了简化部署流程,Web容器包含了Web服务器和Servlet容器,常见的Web容器有Tomcat、Jetty等

1.4 web容器处理请求过程

web容器处理请求过程
web容器处理请求过程
  • client发送请求给web容器中的web服务器
  • web服务器将静态资源直接返回,动态资源转发给servlet容器
  • servlet收到请求,创建httpServletRequest和httpServletResponse对象, 并分配置一个线程中
  • 调用servlet调用service方法,根据不同请求类型执行doGet和doPost
  • 线程结束,容器将response转换为http响应,传回client