| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 网络协议 -> 回顾HTTP报文 -> 正文阅读 |
|
|
[网络协议]回顾HTTP报文 |
一 HTTP概述? ? ? ? HTTP协议基本工作流程,简单来说就是"请求-应答"或者是"一发一收"的模式。实际上底层的传输工作是由TCP/IP协议负责完成的。 ? ? ? ? 我们可以理解HTTP协议的核心就是它所传输的报文内容。HTTP协议在规范文档中详细的定义了报文的格式,规定了组成部分,解析规则,还有处理策略,从而保证了在TCP/IP层之上实现更加灵活丰富的功能,如连接控制,缓存管理,数据编码了,内容协商等等。 二 报文的结构概述? ? ? ? 常见的报文有TCP/UDP的报文,就TCP报文为例,它在实际传输数据之前是需要附加一个20字节的头部数据,存储TCP协议必须的额外信息,这些信息包括发送方的端口号,接收方的端口号,包序号,标志位等等。 ? ? ? ? 因为这个附加的TCP报文头,数据包才能够正确传输,当报文被传输到目的地之后会将头部去掉并将真正的数据发给接收方。
? ? ? ? ?HTTP协议同TCP/UDP协议是类似的,同样也需要在实际传输的数据前附加一些头数据,不同的是,它是一个"纯文本"的协议,头数据是通过ASCII码的文本形式,可以很容易的用肉眼阅读,而无需借助程序解析即可阅读。 三 HTTP协议请求报文与响应报文的结构? ? ? ? HTTP协议的请求报文和响应报文的结构基本相同,都是由三部分组成:
????????1和2经常别合称作“请求头”或者“响应头”即“header”,被称为“实体”的消息正文也就是我们常说的消息体“body”。 ? ? ? ? HTTP协议规定报文必须要有header,同时header之后必须要有一个“空行”也就是"CRLF",十六进制的"OD0A"。而body并不是必须的。 ? ? ? ? 一个完整的HTTP报文请求如下,header同body之间存在一个“空行”。
?????????一个完整的请求报文示例:
?如图:第一行“GET / HTTP/1.1”就是请求行,而后面的“Host”“Connection”等等都属于 header,报文的最后是一个空白行结束,而该报文是没有 body的。 四 HTTP协议的请求行(起始行)? ? ? ? HTTP报文中的起始行,即请求行(request line),它简要的描述了客户端想要如何操作服务器端的资源。 ? ? ? ? 请求头的组成:
?如图所示:三部分通常使用空格(space)来分隔,最后要用 CRLF 换行表示结束。 ? ? ? ? 请求行示例:
|
|
|
| 网络协议 最新文章 |
| 使用Easyswoole 搭建简单的Websoket服务 |
| 常见的数据通信方式有哪些? |
| Openssl 1024bit RSA算法---公私钥获取和处 |
| HTTPS协议的密钥交换流程 |
| 《小白WEB安全入门》03. 漏洞篇 |
| HttpRunner4.x 安装与使用 |
| 2021-07-04 |
| 手写RPC学习笔记 |
| K8S高可用版本部署 |
| mySQL计算IP地址范围 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/26 22:24:01- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |