http网络协议包

简介: http网络协议包

Http网络协议包

一.网络协议包的诞生

首先在网络中传递信息都是以【二进制】形式存在的。接收方【浏览器/服务器】(此处不管是前台还是后台)在接收信息后,要做第一件事就是将【二进制数据】进行编译成【文字,图片,视频,命令】

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


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

这个请求信息实际是以二进制形式发送 的,格式假定为01010101010110101010101101010,但是Http服务器很难从二进制数据得到相关信息,为了更加有效的从二进制数据中获取到信息,此时便诞生了我们的网络协议包。


二.什么是网络协议包?

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


网络协议包的内部格式:假定此时从前台发送的请求的二进制形式的格式为0000 0000 0000 0000,那么在网络协议包内部便会将这组二进制数据划分为不同的板块,方便接收方对数据进行解析。如下所示:

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

                                   这种格式方便接受方从网络协议包中获取想要的资源,数据等,因为每一段二进制数字都存放者特定的信息


三 .常见网络协议

                1.FTP网络协议包


                 2.Http网络协议包(重要)


四.Http网络协议包

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


       分类:

             Http请求协议包


             Http响应协议包


五.Http请求协议包与Http响应协议包介绍

1.Http请求协议包:

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


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】,当前台的请求方法为get的时候,那么此时我们的请求参数信息便会放在请求头中
                 ]
                空白行:[
                        没有任何内容,起到隔离作用
                 ]
                 请求体:[
                     请求参数信息【POST】当前台的请求方法为post的时候,那么此时我们的请求参数信息便会放在请求体中
                  ]


七.Http响应协议包内部结构【背】

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


         2.空间划分:

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


相关文章
|
2月前
|
存储 网络协议 算法
从HPACK到多路复用,揭秘HTTP/2如何终结网络拥堵
HTTP/2通过HPACK压缩头部冗余信息,提升传输效率;并利用多路复用技术,在单个TCP连接上并行处理多个请求,避免队头阻塞,显著提升性能。同时支持服务器推送和流优先级设置,优化资源加载体验。
195 7
|
5月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
331 61
|
4月前
|
弹性计算 运维 Kubernetes
看阿里云操作系统控制台如何一招擒拿网络丢包
阿里云操作系统控制台帮忙客户快速定位问题,不仅成功完成业务部署并实现稳定运行,更有效遏制了持续性成本消耗。
|
5月前
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
|
6月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
193 18
|
7月前
|
XML JSON 网络协议
利用HTTP POST协议实现简单的RPC协议:WireShark抓包分析
通过这种方式,我们可以使用HTTP POST实现简单的RPC协议,并使用WireShark进行抓包分析。这不仅可以帮助我们理解RPC协议的工作原理,也可以帮助我们调试和优化我们的代码。
372 30
|
7月前
|
JSON 数据格式
利用HTTP POST协议实现简单的RPC协议,并使用WireShark进行抓包分析
通过这种方式,我们可以利用HTTP POST实现简单的RPC协议,并使用WireShark进行抓包分析。这种方式简单易懂,实用性强,可以应用于各种网络编程场景。
294 16
|
7月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
248 22
|
7月前
|
网络安全
网络问题解析:如何解决CondaHTTPError HTTP 000 CONNECTION FAILED错误。
以上就是斯诺普为你准备的解决Conda出现HTTP连接错误的手术室。希望这辆小车可以顺利驶出棘手的泥潭,再次在自由的大路上疾驰。一切的尝试和努力,只为更好的探索与开发。
299 17
|
8月前
|
Kubernetes Shell Windows
【Azure K8S | AKS】在AKS的节点中抓取目标POD的网络包方法分享
在AKS中遇到复杂网络问题时,可通过以下步骤进入特定POD抓取网络包进行分析:1. 使用`kubectl get pods`确认Pod所在Node;2. 通过`kubectl node-shell`登录Node;3. 使用`crictl ps`找到Pod的Container ID;4. 获取PID并使用`nsenter`进入Pod的网络空间;5. 在`/var/tmp`目录下使用`tcpdump`抓包。完成后按Ctrl+C停止抓包。
312 12
下一篇
oss云网关配置