一、Http请求报文和响应报文的组成
http请求包含请求行、请求头、空行和请求数据:
- 请求行:里面有请求方法、请求地址、和HTTP协议版本组成。
- 请求头部:里面是一些关于浏览器的信息,由键值对组成,一行一对。直到遇到空行就表示下面没有请求头部了。
- 空行
- 请求数据
http响应由三个部分组成分别是状态行,响应头,响应正文:
- 状态行:比如常见的404 Not Found,最常见的200表示请求成功。
- 响应头部:由键-值对组成,一行一对,直到遇到空行就表示下面没有响应头部了。
- 空行
- 响应数据
二、实现一个简单的Tomcat
2.1 Tomcat作用
我们的web应用会运行在Tomcat中,那么显然请求必定是先到达Tomcat的,Tomcat对于请求实际上会进行如下的处理:
提供Socket服务:
Tomcat的启动,必然是Socket服务,支持http协议。进行请求的分发:
一个Tomcat可以为多个web应用提供服务,那么就需要把url下发到不同的web应用。需要将请求和响应封装成request和response:
我们在写后端代码的时候都是直接使用request和response的,这是因为Tomcat已经做好了。
下面我们就自己来实现这三步。