玩命加载中 . . .

Http网络协议(01)


Http网络协议

网络协议包

引例

​ 在网络中传递信息都是以【二进制】形式存在的。接收方【浏览器/服务器】在接收信息后,要做第一件事就是将【二进制数据】进行编译【文字,图片,视频,命令】由于传递信息数据量往往比较巨大,导致接收方很难在一组连续二进制得到对应数据比如:浏览器发送一个请求: http://192.168.100.2:8080/index.html这个请求信息以二进制形式发送 01010101010110101010101101010,Http服务器很难从二进制数据得到相关信息。

概述

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

例如:【0000(ip地址)0000(端口号)0000(资源文件名)0000】

常见网络协议

  1. FTP网络协议包

  2. Http网络协议包

Http网络协议包:

在基于C/S结构下互联网通信过程中,所有在网络中传递信息都是保存在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】
                      ]
    
Post与Get区别:
  • 在浏览器回退的时候,GET请求不会重新发送,而POST请求会重新发送。

  • GET 请求会被浏览器主动缓存,而POST不会。

  • GET 的请求参数直接暴露在URL中,相对不隐私、不安全。POST请求的参数放在请求体中,相对隐私、安全。

  • GET 的请求参数会被保存到浏览器的历史记录中,POST 不会。

  • GET 请求参数有大小限制,一般 2KB 左右。POST 理论上没有传递参数没有大小限制,有些后端服务及会有一个大小限制,比如 Tomcat 的大小限制为 2M。

Http响应协议包

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

Http响应协议包

Http响应协议包内部结构
  1. 按照自上而下划分,分为4个空间

  2. 空间划分:

                        状态行:[
                              Http状态码
                          ]
    
                         响应头:[
                              content-type: 指定浏览器采用对应编译器
                              对响应体二进制数据进行解析
                          ]
    
                         空白行:[
                              没有任何内容,起到隔离作用
                          ]
                         响应体:[
                             可能被访问静态资源文件内容
                             可能被访问的静态资源文件命令
                             可能被访问的动态资源文件运行结果
                              *****都是以二进制形式***
                          ]
    

文章作者: 小靳同学
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小靳同学 !
评论
 上一篇
JSP(03) JSP(03)
JSPJSP规范介绍 来自于JAVAEE规范中一种。 JSP规范制定了如何开发JSP文件代替响应对象将处理结果写入到响应体的开发流程。 JS
2021-11-17
下一篇 
Servlet(02) Servlet(02)
Servlet初识Servlet概述 Servlet 是 JavaEE 规范之一。 规范就是接口 Servlet 就 JavaWeb 三大组
2021-11-05
  目录