HTTP协议完全指南:从请求响应到HTTPS安全机制

文章目录

一、HTTP协议中的基本概念

1.HTTP协议介绍

HTTP协议(超文本传输协议)是互联网上应用最广泛的应用层协议之一,用于在客户端(如浏览器)和服务器之间传输超文本数据(如网页),采用​​请求-响应模型。

(1)协议

协议可以理解为 ​​人与人之间或机器与机器之间为了顺利合作而提前约定的"行动指南"​​。就像玩游戏前要讲好规则一样,没有规则就会乱套。

(2)传输

通过TCP建立连接(默认端口80),传输过程分为四步:

① 建立连接(TCP三次握手) → ② 发送请求 → ③ 返回响应 → ④ 关闭连接

(3)超文本

超文本(Hypertext)是一种​​通过超链接将不同信息节点组织成网状结构的电子文本​​,它打破了传统文本的线性阅读模式,允许用户自由跳转关联内容。

2.统一资源定位符(URL)

URL是资源的唯一标识,格式:协议://主机名:端口/路径?查询参数#片段

示例:http://www.example.com:8080/page?id=1#section

​​协议​​:http 或 https

​​主机名​​:域名或IP地址(如 www.example.com

​​路径​​:资源在服务器的位置(如 /page)

​​查询参数​​:?后键值对(如 ?id=1)

​​片段​​:#后指定资源子部分(如 #section)

二、HTTP协议中的请求和响应

1.HTTP客户端请求消息

复制代码
GET /index.html HTTP/1.1       ← 请求行
Host: www.example.com          ← 请求头部
User-Agent: Mozilla/5.0
Accept: text/html
                                ← 空行
(GET无请求正文)               ← 请求正文

(1)请求行

包含三部分:

​​方法​​(如 GET、POST)

​​URI​​(资源路径,如 /index.html)

​​协议版本​​(如 HTTP/1.1)

(2)请求头部

键值对传递附加信息(如 Host指定域名,User-Agent声明客户端类型)。

(3)空行

分隔头部与正文(CRLF实现)。

(4)请求正文

GET:参数附在URL后(如 /search?q=term)

POST:数据在正文中传输(如表单提交)。

2.HTTP服务端响应消息

复制代码
HTTP/1.1 200 OK                ← 状态行
Content-Type: text/html        ← 响应头部
Content-Length: 1024
                                ← 空行
<html>...</html>               ← 响应正文

(1)状态行

​协议版本​​(如 HTTP/1.1)

​​状态码​​(三位数字,指示结果)

​​状态文本​​(如 OK)

状态码
类别 首位数字 描述
1xx(信息类) 1xx 临时响应,需客户端继续操作或等待后续处理。
2xx(成功类) 2xx 请求已被服务器成功接收并处理。
3xx(重定向类) 3xx 需客户端进一步操作(如跳转新地址)。
4xx(客户端错误类) 4xx 请求因客户端问题(如语法错误)无法处理。
5xx(服务器错误类) 5xx 服务器内部错误导致请求失败。

(2)响应头部字段

描述服务器及资源信息(如 Content-Type声明响应体格式)。

(3)空行

(4)响应正文

返回的资源内容(如HTML、JSON等)。

3.HTTP请求方法理解

(1)请求方法

关键说明

​​幂等性 ​​:多次相同请求结果一致(如GET、PUT),非幂等方法(如POST)可能导致重复操作。

​​安全性​​ :安全方法(如GET)仅读取资源,无副作用;非安全方法(如DELETE)会修改资源状态。

​​版本支持 ​​:

HTTP/1.0:仅支持GET、POST、HEAD。

HTTP/1.1+:支持全部9种方法。
​​实际应用 ​​:

浏览器主要使用GET/POST,其他方法需通过API调用(如Fetch)。

POST与PUT区别:POST创建资源(非幂等),PUT更新资源(幂等)。

(2)HTTP与HTTPS

1)HTTP与HTTPS的区别
2)HTTPS解决的问题

​​1.数据加密​​:

通过对称加密(如AES)传输数据,防止窃听(如WiFi嗅探)。

​​2.身份认证​​:

服务器用CA签发的证书证明身份,避免钓鱼网站。

​​3.完整性校验​​:

使用MAC(消息认证码)检测数据篡改(如中间人攻击)。

​​4.信任链机制​​:

浏览器预置根证书,验证服务器证书合法性。

相关推荐
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954481 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
小时前端1 天前
HTTPS 页面加载 HTTP 脚本被拦?同源代理来救场
前端·https
不可能的是2 天前
前端 SSE 流式请求三种实现方案全解析
前端·http
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行6 天前
网络安全总结
安全·web安全