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

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

相关推荐
Highcharts.js10 小时前
Highcharts 数据源安全最佳实践:保障数据安全,助力可视化可信部署
安全·highcharts
Suckerbin10 小时前
LAMPSecurity: CTF5靶场渗透
笔记·安全·web安全·网络安全
水兵没月11 小时前
解决Win11 安全中心删掉存在隐患的工具
安全
码农101号12 小时前
运维安全04 - iptable的介绍以及使用
安全
LUCIAZZZ13 小时前
HTTPS优化简单总结
网络·网络协议·计算机网络·http·https·操作系统
青草地溪水旁14 小时前
http response的工作流程详细解析
网络协议·http·应答
凉伊15 小时前
HTTP 协议:从原理到应用的深度剖析
网络·网络协议·http
行思理16 小时前
linux 安全与防护,全方向讲解
linux·安全·github
深盾安全16 小时前
Flutter框架编译Android程序全攻略:从入门到进阶
安全
房屋安全鉴定检测17 小时前
房屋安全鉴定报告有效期多久
安全·网络安全