【网络安全】一、入门篇:读懂 HTTP 协议

在学习网络安全前,必须先理解HTTP 协议------ 它是浏览器(客户端)与网站服务器之间的 "沟通语言",所有 Web 请求(如打开网页、登录账号)都通过 HTTP 协议完成。本节重点讲解 HTTP 中最常用的两种请求方式:GET 和 POST。

1.1 核心概念:HTTP 请求的基本流程

简单来说,你访问一个网站的过程是这样的:

  1. 你在浏览器输入网址(如http://test.com),点击回车;

  2. 浏览器生成一个HTTP 请求 ,发送给test.com的服务器;

  3. 服务器处理请求后,生成HTTP 响应(包含网页内容、图片等),返回给浏览器;

  4. 浏览器解析响应,展示出你看到的网页。

GET 和 POST 就是两种最常见的 "请求类型",分别对应 "获取数据" 和 "提交数据" 的场景。

1.2 GET 与 POST 的核心区别(零基础必懂)

很多初学者会混淆两者,我们用 "快递" 类比:GET 是 "上门取件"(主动要数据),POST 是 "上门寄件"(主动发数据),具体区别如下表:

对比维度 GET 请求 POST 请求
核心用途 获取数据(如搜索、查看文章) 提交数据(如登录、注册、上传文件)
参数位置 参数拼在 URL 后面(如?id=1&name=test 参数放在 "请求体" 中(URL 看不到)
数据大小 受 URL 长度限制(通常不超过 2KB) 无明确限制(可传大文件)
安全性 参数暴露在 URL 中(不适合敏感数据) 参数隐藏在请求体(相对安全,仍需加密)
缓存性 会被浏览器缓存(如刷新页面不重新请求) 不会被缓存

1.3 实操案例:用浏览器抓包查看 GET/POST 请求

无需安装复杂工具,用 Chrome 浏览器自带的 "开发者工具" 即可直观看到两种请求的差异(步骤适用于所有浏览器):

案例 1:查看 GET 请求(以百度搜索为例)

  1. 打开 Chrome 浏览器,访问百度(www.baidu.com);

  2. F12键打开开发者工具,切换到「Network」标签(网络面板);

  3. 在百度搜索框输入 "网络安全",点击 "百度一下";

  4. 在 Network 列表中,找到第一个请求(名称通常是www.baidu.com),点击它;

  5. 查看「Headers」(请求头)面板:

  • 找到「Request Method」,显示为GET(确认是 GET 请求);
  • 找到「Query String Parameters」(查询参数),会看到wd=网络安全wd是百度搜索的参数名,值就是你输入的内容)------ 这就是 GET 请求的参数,直接拼在 URL 里。

案例 2:查看 POST 请求(以模拟登录为例)

  1. 访问一个带登录功能的测试网站(如DVWA 靶场,后续会讲搭建方法);

  2. F12打开开发者工具,切换到「Network」标签,勾选「Preserve log」(保留日志,避免跳转后请求消失);

  3. 输入任意账号密码(如admin/123456),点击 "登录";

  4. 在 Network 列表中,找到名称为login.php(或类似)的请求,点击它;

  5. 查看「面板」、「负载」面板:

  • 「请求方法」显示为POST(确认是 POST 请求);
  • 「负载」(表单数据),会看到username=admin&password=123456------ 这就是 POST 请求的参数,藏在请求体中,URL 里看不到。
相关推荐
喵个咪1 天前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
Flynt4 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
Goodbye7 天前
大模型无状态架构:从 HTTP 协议到 Harness AI 工程的深度解析
http
冬奇Lab9 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
Aphasia31112 天前
VPN 与内网穿透
安全
霜落长河13 天前
抛弃TCP改用UDP,HTTP3怎么了?
http
Mr_愚人派13 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao14 天前
【无标题】
人工智能·安全
Alsn8614 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院14 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展