计算机网络:http协议

计算机网络:http协议

一、本文内容与前置知识点

1. 本文内容

HTTP自己用到的状态码,方法,HTTP各版本区别。

2. 前置知识点

  1. c++关于指针和内存分配知识点

二、HTTP协议工作简介

1)面向事物的应用层协议。

2)请求-应答模型,这部分可以理解为同步通信。

工作图解如下
参考《计算机网络》6.4.3 超文本传输协议HTTP p267

1. 特点

1)基于TCP连接 :保证了数据可靠传输,所以HTTP不再需要考虑数据丢失和重传。

2)本身是无连接协议 :从http协议层面来说,不存在http连接建立。

3)无状态的:服务器并记录客户访问的过程,每一个都是新的独立的http请求,简化了服务器设计,提高效率。

2. 传输时间分析

1)客户端和服务器tcp连接三次握手,第三次握手的时候会传输http请求报文。(1.5RTT时间)

2)服务器收到http请求报文之后进行数据准备,分片发送文件,需要花费时间T。

3)分片发送文件的最后一片到达的时间为1.5RTT+T+0.5RTT = 2RTT+T。
综上,一次http请求从开始到返回应答的时间是2RTT+T

在此之后会有四次挥手的连接释放过程,但是在此之前已经拿到应答了。

3. http报文结构

如下图所示:
参考《计算机网络》6.4.3超文本传输协议HTTP p271

1)开始行

用于区分请求报文和响应报文,会有所不同,请求报文主要是方法和URL,响应报文主要是状态码。

个人用到的常见方法

方法 意义
OPTION 请求一些选项信息
GET 读取URL标志的星系
POST 给服务器添加信息
DELETE 删除URL所标志的资源

状态码

1xx表示通知消息,2xx表示成功,3xx表示重定向,4xx表示客户端出错,5xx表示服务器差错。
个人用到常见状态码

状态码 含义
200 OK,请求成功
400 Bad Request,错误请求
404 Not Found,服务器无法找到请求资源
503 Service Unavailable,服务器暂时无法处理请求,因为忙碌或超载

2)首部行

3)实体主体

消息传输的载体,一般服务器返回的数据就在这个实体主题显示,在机器人API的数据请求指令中,实体主体内会包含json字符串格式的数据。

三、HTTP版本迭代

1. HTTP1.0和HTTP1.1主要区别

1)引入了长连接 ,一次http请求应答之后,tcp连接会继续持续一段时间,此时可以继续发送其他http请求,提高效率。

"Connections:close"代表此次http请求后会将长连接断开。

"Connections:keep-alive"代表此次http请求后还会有额外的请求,不打算断开tcp连接。

2)http1.1流水线模式(请求管线化),每个http请求不需要等待上一个请求应答就可以立刻发送,tcp连接建立后,访问所有对象都只需要一个RTT时间。但是响应必须按照请求发出顺序返回,存在头部阻塞

2. HTTP1.1和HTTP2主要区别

1)数据分帧:帧是 HTTP/2 协议中的最小单位。所有的 HTTP/2 通信都通过帧进行。每个帧都包含一个固定长度的头部(标识所属于的stream流)和一个可变长度的负载

2)引入了多路复用:有了固定长度头部之后,就可以表面这个帧属于那一个http请求流,此时头部阻塞问题解决,实现了真正的并发,所有流使用同一个tcp连接进行,

3. HTTPS与HTTP的主要区别

1)HTTPS使通过SSL\TLS进行了加密

2)端口号不同,HTTP是80默认,HTTPS443

3)HTTPS需要CA证书

4)HTTP 的连接简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身 份认证的网络协议,比 HTTP 协议安全。

四、参考文献

《计算机网络》6.4.3 超文本传输协议HTTP p267**

《计算机网络》6.4.3超文本传输协议HTTP p271**

相关推荐
IP搭子来一个10 小时前
舆情监控系统怎么接入代理 IP?多平台多账号采集的配置全流程
网络协议·tcp/ip·数据分析
小贾要学习11 小时前
【Linux】基于自定义TCP协议的日期计算器
linux·网络·c++·网络协议·tcp/ip
中国lanwp11 小时前
GitLab 按访问IP动态切换项目下载/克隆地址原理与配置说明
网络协议·tcp/ip·gitlab
云登指纹浏览器12 小时前
2026静态IP和动态IP怎么选?跨境电商场景应用完整指南
大数据·网络协议·tcp/ip
pengyi87101514 小时前
HTTP代理抓包核心原理,全面读懂请求与响应数据逻辑
网络·网络协议·http
小辰记事本14 小时前
从零读懂网卡内部架构:一条数据包的硬件之旅
网络·网络协议·架构·rdma
yqcoder15 小时前
HTTP 进化论:从“单车道土路”到“磁悬浮列车”
网络·网络协议·http
发光小北15 小时前
Profinet 转 Profibus DP 主站网关如何应用?
网络协议
跨境牛马哥16 小时前
2026爬虫开发:Playwright对决Puppeteer
大数据·网络·网络协议
HMS工业网络16 小时前
使用电脑快速测试DeviceNet设备通讯
网络协议·通讯协议·devicenet·设备通讯