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.信任链机制​​:

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

相关推荐
老赵聊算法、大模型备案28 分钟前
国家网络安全事件报告管理办法
安全·web安全
微小冷1 小时前
WireShark抓包http,解密https
http·https·edge·wireshark·ssl·解密
问道飞鱼2 小时前
【知识科普】完整的 SSL 证书文件体系
网络协议·https·证书·ssl
一瓢一瓢的饮 alanchan3 小时前
HTTPS接口国密安全设计(含防重放设计)
安全·https·防重放·国密 国家商用密码·sm2 sm3 sm4·数字签名 数字证书·api接口设计
Web3_Daisy5 小时前
从透明到可控:链上换仓与资产路径管理的下一阶段
人工智能·安全·web3·区块链·比特币
金仓拾光集5 小时前
金仓数据库平替MongoDB:医共体数据互通的高效安全之道
数据库·安全·mongodb·kingbase·kingbasees·数据库平替用金仓·金仓数据库
知花实央l5 小时前
【Web应用安全】SQLmap实战DVWA SQL注入(从环境搭建到爆库,完整步骤+命令解读)
前端·经验分享·sql·学习·安全·1024程序员节
龙须草AI笔记7 小时前
N8N系列:新手课程,本地 N8N 不安全?Windows 下 HTTPS 配置指南,新手也能看懂
windows·安全·https·入门教程·ai技术·ai工具·n8n
llxxyy卢7 小时前
HTTP 头部参数数据注入测试sqlilabs less 18
网络·网络协议·http
cqwuliu7 小时前
通过nginx+openssl自签名证书部署https应用并解决不安全问题
nginx·安全·https