JavaWebHttp网络协议包 --- 网络协议包概述;Http请求协议包内部空间;Http响应协议包内部结构;第二版互联网通信流程图

Posted 猿头猿脑的王狗蛋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWebHttp网络协议包 --- 网络协议包概述;Http请求协议包内部空间;Http响应协议包内部结构;第二版互联网通信流程图相关的知识,希望对你有一定的参考价值。

在基于B/S结构下互联网通信过程中,所有在网络中传递信息都是保存在Http网络协议包中的

前言:


1.在网络中传递信息都是以【二进制】形式存在的。

2.接收方【浏览器/服务器】在接收信息后,要做第一件事就是将【二进制数据】进行编译为【文字,图片,视频,命令】。

3.传递信息数据量往往比较巨大,导致接收方很难在一组连续的二进制中得到对应数据;

 比如:浏览器发送一个请求: http://192.168.100.2:8080/index.html

 这个请求信息是以二进制形式发送的: 01010101010110101010101101010【Http服务器很难从二进制数据中得到相关信息】

4、常见的网络协议包:

1)FTP网络协议包

2)Http网络协议包

 

网络协议包:


1.网络协议包是一组有规律的二进制数据,在这组数据中存在了固定空间,每一个空间专门存放特定信息,这样接收方在接收网络协议包之后,就可以到固定空间得到对应信息,网络协议包出现极大降低了接收方对接收二进制数据的编译难度。

2、网络协议包格式:【0000(ip地址)0000(端口号)0000(资源文件名)0000】

3、Http网络协议包:

在基于B/S结构下互联网通信过程中,所有在网络中传递信息都是保存在Http网络协议包中的。

4、Http网络协议包又分为 Http请求协议包 与 Http响应协议包:

1)Http请求协议包:
在浏览器准备发送请求时,负责创建一个Http请求协议包,浏览器将请求信息以二进制形式保存在Http请求协议包的各个空间中,由浏览器负责将Http请求协议包推送到指定服务端计算机。

2)Http响应协议包:
Http服务器在定位到被访问的资源文件之后,负责创建一个Http响应协议包,Http服务器将定位文件内容或者文件命令以二进制形式写入到Http响应协议包各个空间,由Http服务器负责将Http响应协议包推送回发起请求的浏览器上。

 

Http请求协议包内部空间:


1.按照自上而下划分,分为4个空间。

2.空间划分:

   请求行:[
          url:请求地址(http://192.168.100.2:8080/index.html)
          method:请求方式(POST/GET)
         ]

   请求头:[
          请求参数信息【GET】
         ]   

   空白行:[
          没有任何内容,起到隔离作用
         ]

   请求体:[
          请求参数信息【POST】
         ]

 

Http响应协议包内部结构:


1.按照自上而下划分,分为4个空间。

2.空间划分:

   状态行:[
          Http状态码
         ]

   响应头:[
          content-type: 指定浏览器采用对应编译器
          对响应体二进制数据进行解析   
         ]

   空白行:[
          没有任何内容,起到隔离作用   

         ]
   响应体:[
          可能被访问静态资源文件内容/可能被访问的静态资源文件命令/可能被访问的动态资源文件运行结果【都是以二进制形式】

         ]

 

第二版互联网通信流程图:

 

以上是关于JavaWebHttp网络协议包 --- 网络协议包概述;Http请求协议包内部空间;Http响应协议包内部结构;第二版互联网通信流程图的主要内容,如果未能解决你的问题,请参考以下文章

JavaWebHttp&Request

网络

HTTP网络协议包

网络协议mysql协议数据包分析

网络协议mysql协议数据包分析

趣谈协议基础篇:图解Linux网络包接收过程