【网络安全】一、入门篇:读懂 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 里看不到。
相关推荐
QT.qtqtqtqtqt15 分钟前
SQL注入漏洞
java·服务器·sql·安全
临水逸1 小时前
一次路径穿越漏洞引发的NAS安全危机:飞牛fnOS漏洞深度剖析与用户自救指南
网络·安全·web安全
狮驼岭的小钻风1 小时前
汽车V模型开发流程、ASPICE、汽车功能安全的基石是国际标准 ISO 26262
网络·安全·汽车
devmoon2 小时前
Chopsticks 本地分叉平行链实战指南
安全·智能合约·polkadot·erc-20·独立链
JMchen1232 小时前
Android网络安全实战:从HTTPS到双向认证
android·经验分享·网络协议·安全·web安全·https·kotlin
科技块儿2 小时前
如何选择合适的IP查询工具?精准度与更新频率全面分析
网络·tcp/ip·安全
Hi202402172 小时前
在Docker容器中安全运行OpenClaw:无需虚拟机,体验AI助手
人工智能·安全·docker·openclaw
种时光的人2 小时前
CANN 生态 ×AIGC 合规:cann-compliance 让大模型落地既安全又合规
安全·aigc
hzb666662 小时前
unictf2026
开发语言·javascript·安全·web安全·php
大模型玩家七七3 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch