web服务模型以及servlet

web服务器

  1. 监听一个TCP端口
  2. 转发请求,回收响应
  3. 本身没有业务逻辑,连接操作系统和应用程序代码

模型如下(借图,枕边书老师)
web服务模型以及servlet_第1张图片
解释一下流程:

  • 客户端向服务器发送一个http请求,通过网络达到web服务器所在的操作系统,通过网络传播的信息只能是一些bit流,我们不能从中读取信息。

  • 然后这些bit流通过网卡到达操作系统,操作系统的TCP/IP栈解析这些Bit流,解析出来请求地址,请求端口的源信息,还有请求的具体内容,操作系统会把这些信息发送给web服务器来处理。

  • 这些信息就是端口ip和一些字节流,这些字节流到达web服务器后,会由web服务器链接到应用程序,由应用程序来处理,处理完后把结果原路返回,返回到客户端。

web服务器链接客户端的请求和应用程序的过程叫做请求分发

如图所示(借图,枕边书老师):(web服务器不处理消息,只是充当操作系统和应用程序的连接者,高效而准确才是他们的目标)
web服务模型以及servlet_第2张图片

Sevlet(web服务器分发请求)

  1. 一种规范:约定了java服务器与业务类的通信方式
  2. 一个接口:javax.servlet.Servlet
  3. 一个java类:实现了Servlet接口的应用程序类(一个servlet实现一种特定的业务逻辑,一般对应一个uri)

有sevlet的情况下,客户端请求的处理模型:(借图,枕边书老师)
web服务模型以及servlet_第3张图片

sevlet可能会有多个,服务器会把传入的数据(字节流)通过ServletRequest对象发送到servlet里,这个servlet通过一系列业务处理,再把响应通过ServletResponse对象返回给web服务器,再由web服务器返回给客户端。

你可能感兴趣的:(web,servlet,http)