Http网络协议包
一 : 网络协议包的概念
- 在网络中信息的传递都是以[二进制]的形式存在的
- 当我们的[浏览器/服务器]在接收信息后,将[二进制数据]进行编译成(文字,图片等)
- 我们需要的请求获得需要发送的数据往往很大,那么就出现了网络协议包.
- 网络协议包就是一组有规律的二进制数据,在这组数据存在了固定空间,每个空间存放特定的信息,这样接收方可以在接收后去固定的空间得到相应的信息。网络协议包的出现大大降低接收方对接收二进制数据编译的难度
二:常见的网络协议包
FTP网络协议包
Http网络协议包
三:Http网络协议包
基于B/S结构下的互联网通讯过程,所有在网络中传递的信息都是保存在Http网络协议包的
- Http 请求协议包-----》浏览器
- Http 响应协议包-----》服务器
四:Http请求协议包与响应协议包的介绍
- Http 请求协议包:
- 在浏览器准备发送请求时,会创建一个请求协议包,将请求信息以二进制的形式保存在Http请求协议包各个空间,再由浏览器负责将请求协议包发送到指定的服务端计算机中
- Http 响应协议包:
- Http服务器在解析请求协议包的请求内容后,会自动定位到被访问的资源文件,负责创建一个==Http 响应协议包 ==,将定位到的文件内容或者命令或者动态资源文件的结果以二进制的形式写入到响应包中各个空间再由服务器负责将响应包发回到浏览器
五:Http 请求协议包内部空间(重要)
自上而下的划分,分为4个区域
1. 请求行
- url地址:**Request URL**
- method:请求方式(POST/GET):**Request Method**
2. 请求头:**Request Headers**
- 请求参数信息(GET)
3. 空白行
- 起到隔离的作用
4. 请求体
- 请求参数(POSE)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0hP7IkKI-1600739675830)(Http%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE%E5%8C%85.assets/6-1600588120925.png)]
六:Http 响应协议包内部空间(重要)
自上而下的划分,分为4个区域
1. 状态行
- Http 状态码:**Status Code**
2. 响应头(Response Headers)
- content-type:指定浏览器采用对应编辑器对响应体二进制进行解析(image/x-icon)
3. 空白行
- 起到隔离的作用
4. 响应体
- 可能被访问的是静态资源文件内容
- 可能访被问的是静态资源文件命令
- 可能被访问的动态资源文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UA6P5l9C-1600739675833)(Http%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE%E5%8C%85.assets/5.png)]
七:一次客户上网请求的过程
1.开发人员控制浏览器请求行为【三要素】
- 请求地址控制:
- 请求方式控制: POST/GET
- 请求参数控制: 表单域标签等
2.浏览器将请求以Http 请求协议包的方式发送到对应的服务端
- 请求行
- 请求头【GET】
- 空白行
- 请求体【POST】
3.服务器定位资源文件
- 静态资源文件
- 动态资源文件
- class文件这种是动态文件
- Http服务器收到请求后负责创建类为了将实例对象:Servlet servlet = new Servlet();
- Http服务器通过实例对象调用方法处理用户请求:servelet.doGet(){返回结果}
- Http服务器负责将运行的结果以二进制的形式推送回请求服务器
4.服务器将资源以Http 响应协议包的方式推送回请求浏览器内
- 状态行
- 响应头(Response Headers):通知浏览器以哪种方式解析此数据
- 空白行
- 响应体:存放返回的资源文件
5.开发人员控住浏览器对响应数据接收解析【服务端工程师】
- 控制浏览器对应编译器接收二进制数据转化为对应的格式(文字,图片,影视。。。)
- 控制浏览器将编译后命令进行执行或者将接收数据进行再浏览器中展示(全局刷新展示/局部属性展示)
- 控制用户与浏览器展示内容之间的交流
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P5B3iMYZ-1600739675836)(Http%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE%E5%8C%85.assets/7.png)]
八:Http服务器
- Http 服务器是服务器的一种,其行为与Http协议相关
- Http 服务器可以接收来自浏览器发送的Http 请求协议包,并自动对Http请求协议包内容进行解析
- 解析后,自动定位被访问的文件。并将定位的文件内容写入到Http 响应包中
- 最后 负责将Http 响应包推送回发送请求的浏览器上
·
,并自动对Http请求协议包内容进行解析
3. 解析后,自动定位被访问的文件。并将定位的文件内容写入到Http 响应包中
4. 最后 负责将Http 响应包推送回发送请求的浏览器上
·