(搞懂网页通信原理,才能看懂 Web 攻击,做好网页防护)

Web 安全是网安里最热门、最适合新手入门的方向之一,而 HTTP/HTTPS,就是 Web 安全的基础 —— 我们每天刷的网页、用的 APP(比如微信、淘宝),本质上都是通过 HTTP/HTTPS 协议进行通信的。

很多新手学 Web 安全,一上来就去学 SQL 注入、XSS 攻击,却不知道 HTTP/HTTPS 是什么,不知道网页请求的工作流程,结果越学越乱,看不懂攻击的原理,也不知道怎么防护。

这一篇我们用大白话,详细讲解 HTTP/HTTPS 的核心知识,包括 HTTP 的工作原理、HTTP 与 HTTPS 的区别、常见的 HTTP 请求与响应、HTTPS 的加密原理,帮你搞懂网页通信的底层逻辑,为后续学习 Web 安全攻击与防护,打下坚实的基础。


一、先搞懂:什么是 HTTP?(网页通信的 “普通话”)

HTTP,全称是超文本传输协议,英文缩写为 HyperText Transfer Protocol,它是 Web 通信的核心协议,相当于网页和服务器之间的 “普通话”—— 网页要获取服务器上的数据(比如文字、图片、视频),就要通过 HTTP 协议和服务器 “对话”,发送请求、接收响应。

1. HTTP 的核心作用

  • 大白话解释:HTTP 的作用,就是让你的浏览器(比如 Chrome、Edge)和网页服务器之间,能够顺畅地传递数据。比如你在浏览器里输入 “baidu.com”,浏览器就会通过 HTTP 协议,向百度的服务器发送 “我要访问你的网页” 的请求,服务器收到请求后,再通过 HTTP 协议,把百度的网页数据(文字、图片)发送回你的浏览器,浏览器再解析这些数据,显示出完整的网页。
  • 核心特点:
    1. 无连接:浏览器和服务器之间,只有在发送请求、接收响应的时候才建立连接,请求完成后,连接就会断开,不会一直保持连接(节省资源)。
    2. 无状态:服务器不会记住你之前的请求,比如你第一次访问百度,服务器不会记住你;你第二次访问百度,服务器依然会把你当成 “新用户”,这也是为什么很多网站需要登录(登录后,服务器会通过 Cookie 记住你的身份)。
    3. 明文传输:这是 HTTP 最大的安全隐患 —— 浏览器和服务器之间传递的数据,都是未加密的明文,就像两个人在大街上大声说话,旁边的人(攻击者)能清楚地听到你们说的所有内容,包括你的账号密码、个人信息等。

2. HTTP 的工作流程(新手必懂,简单易懂)

HTTP 的工作流程很简单,就像 “点餐 – 上菜” 的过程,分为 4 个步骤,新手一看就懂:

  1. 建立连接:浏览器(客户端)向服务器发送连接请求,就像你走进餐厅,告诉服务员 “我要点餐”,建立起和餐厅(服务器)的连接。
  2. 发送请求:浏览器向服务器发送 HTTP 请求,请求里包含 “我要访问的网页、我需要的数据” 等信息,就像你向服务员说出你要点的菜。
  3. 接收响应:服务器收到请求后,处理请求(比如找到你要访问的网页数据),然后向浏览器发送 HTTP 响应,响应里包含 “网页数据、请求是否成功” 等信息,就像服务员把你点的菜端上来。
  4. 断开连接:浏览器收到响应后,解析数据并显示网页,然后断开和服务器的连接,就像你吃完饭后,离开餐厅,和餐厅的连接就结束了。

3. 常见的 HTTP 请求方法(新手重点记 2 个)

HTTP 请求方法,就是浏览器向服务器 “发送请求的方式”,不同的请求方法,对应不同的功能,新手重点记住以下 2 个,后续学习 Web 安全会经常用到:

  • GET 请求:用于 “获取数据”,比如你访问百度网页、查看图片,都是 GET 请求。GET 请求的参数会直接显示在浏览器的地址栏里(比如 “https://www.baidu.com/s?wd=网安入门”),容易被窃取,不适合传递敏感信息(比如账号密码)。
  • POST 请求:用于 “提交数据”,比如你登录网站、注册账号、提交表单,都是 POST 请求。POST 请求的参数不会显示在地址栏里,而是隐藏在请求体里,比 GET 请求安全,但依然是明文传输,不能完全保证安全。

二、重点区分:HTTP 与 HTTPS 的区别(安全的关键)

HTTPS,全称是超文本传输安全协议,英文缩写为 HyperText Transfer Protocol Secure,它是 HTTP 的 “加密版本”—— 在 HTTP 的基础上,增加了 SSL/TLS 加密层,解决了 HTTP 明文传输的安全隐患,是现在所有正规网站(比如百度、淘宝、微信)都在使用的协议。

1. 核心区别:是否加密(一张表看懂)

表格

对比维度HTTPHTTPS
加密方式明文传输,不加密SSL/TLS 加密传输,数据被加密后再传输
安全性低,数据容易被窃取、篡改、伪造高,数据不易被窃取、篡改,能验证服务器身份
端口使用 80 端口使用 443 端口
标识浏览器地址栏无 “锁” 图标,网址开头是 “http://”浏览器地址栏有 “锁” 图标,网址开头是 “https://”
适用场景不需要传递敏感信息的网站(比如静态博客、普通文章网站)需要传递敏感信息的网站(比如购物、支付、登录、银行网站)

2. HTTPS 的加密原理(大白话解读,不用懂复杂算法)

很多新手觉得 HTTPS 的加密原理很复杂,其实用一句话就能讲清楚:HTTPS 通过 “公钥 + 私钥” 的方式,对浏览器和服务器之间传递的数据进行加密,就像你和朋友之间用密码写信,只有你和朋友知道密码,别人就算拿到信,也看不懂里面的内容。

具体过程(简化版,新手能懂即可):

  1. 浏览器访问 HTTPS 网站时,服务器会向浏览器发送一个 “数字证书”(相当于服务器的 “身份证”),证书里包含服务器的公钥。
  2. 浏览器验证数字证书的合法性(确认服务器是正规的,不是攻击者伪造的),验证通过后,生成一个随机的 “会话密钥”,并用服务器的公钥对会话密钥进行加密。
  3. 浏览器把加密后的会话密钥发送给服务器。
  4. 服务器用自己的私钥,解密出会话密钥。
  5. 之后,浏览器和服务器之间传递的所有数据,都会用这个会话密钥进行加密,攻击者就算截获了数据,也无法解密,从而保证数据的安全。

3. 为什么 HTTPS 也不是绝对安全?(新手须知)

很多新手以为,只要用了 HTTPS,就绝对安全了,其实不然。HTTPS 解决的是 “数据传输过程中的安全”,但如果网站本身存在漏洞(比如 SQL 注入、XSS 漏洞),或者数字证书被伪造,依然会存在安全风险。

  • 举例:如果一个网站用了 HTTPS,但存在 XSS 漏洞,攻击者依然可以通过漏洞,注入恶意脚本,偷取你的 Cookie、账号信息,因为 HTTPS 只加密数据传输,不防范网站本身的漏洞。
  • 新手核心认知:HTTPS 是 Web 安全的 “基础防护”,但不是 “万能防护”,想要做好 Web 安全,还要结合网站漏洞防护、个人使用习惯等多方面。

三、HTTP 常见状态码(新手必记,排查网页问题)

当你访问网页时,浏览器向服务器发送请求后,服务器会返回一个 “状态码”,告诉浏览器 “请求是否成功”,不同的状态码对应不同的问题,新手记住以下常见状态码,能快速排查网页访问问题,后续学习 Web 安全也会用到。

表格

状态码含义(大白话)常见场景
200请求成功正常访问网页,服务器成功返回数据
404页面未找到你访问的网页不存在(比如网址输错了、网页被删除了)
302临时重定向网页被临时转移到其他地址,浏览器会自动跳转到新地址
403禁止访问服务器拒绝你的访问请求(比如你没有权限访问该网页)
500服务器内部错误服务器本身出现问题,无法处理你的请求(不是你的问题)
400请求错误你的请求有问题(比如参数错误),服务器无法处理

四、新手必做:Web 安全基础防护(结合 HTTP/HTTPS)

结合 HTTP/HTTPS 的特点,新手可以从以下几个方面,做好 Web 安全的基础防护,无论是自己访问网页,还是后续搭建自己的网站,都能用得上。

1. 优先访问 HTTPS 网站,拒绝 HTTP 网站

  • 核心原则:访问网站时,优先选择网址开头是 “https://”、地址栏有 “锁” 图标的网站,尤其是涉及登录、支付、填写个人信息的场景,绝对不要访问 HTTP 网站(明文传输,敏感信息容易被窃取)。
  • 注意:有些 HTTP 网站会自动跳转到 HTTPS 网站,如果没有跳转,建议直接关闭,不要继续访问。

2. 警惕 “虚假 HTTPS 网站”(钓鱼陷阱)

  • 攻击者会伪造 HTTPS 网站,伪造数字证书,让浏览器显示 “锁” 图标,伪装成正规网站,骗你输入账号密码、个人信息。
  • 防护方法:访问网站时,先核对网址是否正确(比如百度的正规网址是 “https://www.baidu.com”,不要访问 “https://baidu123.com” 这类高仿网址);如果浏览器提示 “证书无效”“网站不安全”,立即关闭网页,不要继续访问。

3. 不随意点击网页里的陌生链接、下载陌生文件

  • 网页里的陌生链接(比如 “点击领福利”“点击查看详情”),可能是钓鱼链接,会引导你访问恶意网站,或者下载恶意文件;网页里的陌生附件、弹窗,也可能携带病毒、木马。
  • 防护方法:只点击正规、可信的链接,不随意下载网页里的陌生文件,尤其是 exe、压缩包、脚本文件。

4. 搭建自己的网站(新手进阶):优先使用 HTTPS

如果后续你想搭建自己的网站,建议优先使用 HTTPS 协议,具体方法:

  • 申请免费的 SSL 证书(比如 Let’s Encrypt),给网站配置 HTTPS,关闭 80 端口,强制跳转到 443 端口(HTTPS)。
  • 避免使用 HTTP 协议传递敏感信息(比如用户账号密码、个人信息),所有敏感数据的传输,都用 HTTPS 加密。

💡 本篇学习小贴士

  1. 新手不用死记 HTTPS 的复杂加密算法,重点理解 “HTTP 明文传输、HTTPS 加密传输” 的核心区别,以及 HTTPS 的基本作用即可。
  2. HTTP/HTTPS 是 Web 安全的基础,后续学习 SQL 注入、XSS、CSRF 等 Web 攻击,都会用到 HTTP 的请求与响应原理,现在打好基础,后续学习会更轻松。
  3. 日常上网时,养成 “优先访问 HTTPS 网站” 的习惯,警惕钓鱼链接和虚假 HTTPS 网站,就能减少大部分 Web 安全风险。

Categories:

Tags:

No responses yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

© 2026 世文的网络技术&蓝队安全学习小站
滇ICP备2026006758号-1 | 网安备