1.浏览器Web Client发送http请求到servletContainer容器
2.解析 http请求
3.创建一个HttpServletRequest对象
4.同时创建HttpServletResponse对象(存储回应的信息)
5.调用service方法(传参HttpServletRequest和HttpServletResponse)
6.方法内部获取信息
7.响应信息
8.封装Http响应对象
9.发送响应对象
http协议翻译过来是超文本传输协议,其实传输的是文本,他基于tcp/ip之上的协议,是一个浏览器和服务器之间的应用层通信协议
在www中客户与服务器是相对概念,只存在于特定的连接期间,www服务器运行时一直在tcp的80端口监听等待连接出现
(1)建立连接是通过申请套接字(Scoket)实现的,客户打开一个套接字,并把它约束在一个端口上,如果成功就相当于建立了一个虚拟文件,然后通过在虚拟文件上写数据通过网络传送
(2)HTTP/1.0 请求消息格式 :请求行(通用信息) 请求头(key:value) CRLF(换行) [实体]
请求行包括:方法 URL 协议 CRLF (请求行中的方法用于描述指定资源中执行的动作,常用的方法GET(一般不包含body实体) POST HEAD OPTIONS PUT DELETE TRACE CONNECT)
常用请求头字段
1.host 声明当前请求所访问服务器
2.Content-Type 声明当前请求提交内容的MIME类型 通常在POST方式发起请求时才考虑设 置声明当前请求所提交内容的类型,也决定客户端程序对当前请求所提交内容的编码方式具 体的取值类型:application/x-www-form-urlencoded
multipart/fprm-data
text/plain
注:其实有很多种,就是格式不一样,详见可百度
3.Accept 用于声明客户端程序能够处理的MIME类型
等等 还有很多
(3)HTTP/1.0 响应消息格式 :响应行(通用信息) 响应头(key:value) CRLF(换行) [实体]
状态行包括:100~199:保留
200~299:请求成功接收
300~399:完成请求客户需进一步细化请求
400~499:客户错误
500~599:服务器错误
(4)关闭连接:客户和服务器都可以通过关闭套接字来结束TCP/IP对话