文章目录
一 网络协议/网络协议包:
在互联网通信过程中,网络传递信息都是二进制形式。此时接收方接收到信息之后必须进行一次解析。但是由于传递信息量相对较大,增加接收方解析难度。
浏览器:http://localhost:8080/myWeb/index.html
0100011010000101011011010001010100
网络协议包:一组有规律的二进制数据,存在固定空间。在指定空间下专门存放指定数据,降低接收方解析难度
0000 服务端计算机ip地址 0000 Http服务器端口号 0000 资源文件 0000
二 Http网络协议包:
在B/S通信结构下,浏览器发送请求信息以及服务端返回资源文件内容都是通过Http网络协议包进行传递
三 网络协议包分类:
- Http请求协议包:
- 在浏览器准备发送请求时,负责生成一个Http请求协议包
- 在浏览器准备发送请求时,负责将请求信息写入Http请求协议包中
- 有浏览器负责推送Http请求协议包
- Http响应协议包:
- 在Http服务器准备返回结果时,负责生成一个Http响应协议包
- 由Http服务器调用输出流将文件内容(文字,像素,数字,帧,命令)以二进制形式写入到Http响应协议包中
- 由Http服务器负责将Http响应协议包推送回发起请求的浏览器中
四 Http请求协议包内部结构(自上而下分为四层结构)
- 请求行 url:请求地址
method:请求方式
请求头 (如果浏览器以GET方式发送请求,请求参数存放在请求头中)
空白行
请求体 (如果浏览器以POST方式发送请求,请求参数存放在请求体中)
五 Http响应协议包内部结构 (自上而下分为四层结构)
- 状态行: HTTP状态码
- 响应头:content-type->指定浏览器使用对应解析器或者编译器对返回的二进制数据 进行解析或者编译
- 空白行:
- 响应体:本次索要文件内容(二进制形式存放)
六 Http服务器介绍
- 所有的Http服务器都是由Java编程语言开发的应用程序
- Http服务器可以接收由浏览器发送的Http请求协议包
- Http服务器可以解析Http请求包二进制数据了解用户请求
- Http服务器可以自动定位被访问的资源文件
- Http服务器可以自动将被访问文件内容或者文件运行结果通过输出流以二进制形式写入到Http响应协议包中响应体
- Http服务器可以自动将Http响应协议包推送回发起请求的浏览器
七 Http服务器分类
- 功能最强 — 》 Websphere
- 功能最新 — 》 GlassFish
- 最轻量级 — 》 tomcat