普通视图

发现新文章,点击刷新页面。
今天 — 2026年3月18日首页

AI辅助开发最佳实践:2026年新方法

作者 牛奶
2026年3月17日 23:50

这是系列第六篇。05篇我们讲了AI批量处理,这篇来看看怎么系统化管理AI配置,让AI真正成为你的开发助手。


上一篇文章,我们讲了怎么用AI批量处理重复工作。

这篇文章,我们来聊聊怎么系统化管理AI配置。


原文地址

墨渊书肆/AI辅助开发最佳实践:2026年新方法


如果你已经用AI辅助开发一段时间,可能会遇到这些问题:

  • 每次都要重复说同样的话 — "用TypeScript"、"注意暗色模式"、"用Tailwind"
  • 好的实践没法传承 — 踩过的坑、学到的技巧,用完就忘了
  • 团队配置不统一 — 每个人都要从头配置

2026年的AI辅助开发已经有了成熟解决方案。这篇文章会告诉你如何把这些工具组合起来,打造属于自己的AI开发系统。


1. 为什么需要系统化的AI配置

1.1 传统方式的痛点

想象一下,你每次让AI写代码都要说:

"用TypeScript、React 19、Tailwind CSS、暗色模式、组件要tsx后缀、API错误返回success和error字段、禁止any..."

累不累?

配置好之后,你只需要说:

"帮我写个登录页面"

AI自动知道:TypeScript + React 19 + Tailwind + 暗色模式 + 统一错误格式

这就是系统化配置的价值。

1.2 系统化配置能做什么

能做到 说明
少说话多办事 一次配置,长期生效
团队一起用 配置文件提交Git,复制到新项目就行
经验不丢失 踩过的坑、学到的技巧都能沉淀下来
质量更稳定 规范化的代码,去哪都一致

2. 核心概念一览

先看个全貌,后面会一个个详细讲:

┌─────────────────────────────────────────────────────────┐
│                    你的 AI 开发助手                       │
├─────────────────────────────────────────────────────────┤
│  MCP     ──→ 给AI装上"手""脚",能干活                  │
│  Rules   ──→ 制定"项目宪法",让AI知道怎么做              │
│  Skills  ──→ 召唤"领域专家",专门回答特定问题             │
│  Agents  ──→ 分配"专人负责",处理特定任务                 │
│  Hooks   ──→ 设置"自动触发",保存提交时执行               │
└─────────────────────────────────────────────────────────┘

3. MCP:给AI装上"手"和"脚"

3.1 MCP是什么

MCP的中文名字是"模型上下文协议",太学术了。

换个说法:MCP就像给AI装上了手和脚

以前AI只能跟你聊天,它不知道你电脑里有什么、你的项目长什么样。现在AI可以:

  • 📁 读取你电脑上的文件
  • 💻 执行终端命令
  • 🗄️ 操作数据库
  • 🌐 控制浏览器
  • 🔧 帮你运行各种工具

3.2 怎么理解MCP

想象你在指挥一个人干活:

  • 没有MCP:你只能跟AI说"帮我看看这个文件",然后自己把文件内容复制粘贴给它
  • 有了MCP:AI自己就能读取文件、自己执行命令、自己操作数据库

这就是为什么叫它"AI的USB接口" — 插上就能用,扩展AI的能力。

3.3 安装MCP

方式一:市场一键安装(推荐):

Cursor 2.4+ 支持从市场安装,就像装Chrome插件一样简单:

1. 打开 Cursor 设置:Cmd + ,
2. 找到 "MCP" 或 "Extensions"
3. 点击 "Browse MCP Marketplace"
4. 搜索想要的 MCP,点击 "Add" 安装

方式二:手动配置:

有些MCP市场没有,只能自己配置。在项目根目录创建 .cursor/mcp.json

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
    }
  }
}

这里 ${workspaceFolder} 是项目根目录的简写。

3.4 常用MCP推荐

主流MCP推荐(Cursor市场最火的):

MCP工具 能做什么 什么时候用
Figma 设计稿转代码 看设计图写代码
Playwright / Puppeteer 浏览器自动化 E2E测试、爬虫、自动化操作
GitHub 代码仓库操作 管理PR、Issue、代码审查
Browsertools 浏览器调试 看控制台、网络请求、性能分析
Web Search 联网搜索 查资料、搜文档
Sequential Thinking 逐步思考 复杂问题帮你理清思路

4. Rules:制定"项目宪法"

4.1 Rules是什么

Rules就是"项目宪法":告诉AI这个项目要怎么做。

比如你告诉AI:

  • 我们用Next.js的App Router
  • 默认用Server Components
  • 暗色模式用dark:前缀
  • API错误格式统一用 { success: boolean, error?: string }

这些规则配置好之后,AI写的代码永远符合规范。

4.2 怎么理解Rules

想象你招了一个新同事,要告诉他团队规范:

  • 口头说 — 每次都要说,说完就忘
  • 写成文档 — 看不看取决于他
  • 配置成Rules — AI永远记住,照着做

Rules就是把团队规范"固化"到AI里。

4.3 配置Rules

存放位置:

位置 谁能用到
.cursor/rules/ 当前项目,提交Git后团队共享
~/.cursor/rules/ 你所有项目都能用

文件格式:

.mdc 文件(推荐):

---
name: nextjs
description: Next.js 15 App Router项目规范
globs: ["**/*"]
---

# Next.js 15 项目规范

## 技术栈
- 框架:Next.js 15 App Router
- 语言:TypeScript
- 样式:Tailwind CSS

## 代码规范
1. 默认使用Server Components
2. 客户端用'use client'标记
3. API错误格式统一

关键字段:

字段 什么意思
name 这个规则叫什么
description 什么时候用这个规则
globs 哪些文件要遵守这个规则,比如 ["**/*.tsx"]
alwaysApply true=始终生效,false=需要时才用

4.4 怎么使用Rules

使用方式 怎么触发
始终生效 配置 alwaysApply: true
智能判断 AI根据你说的内容判断要不要用(默认)
匹配文件 当你编辑匹配的文件时自动应用
手动触发 聊天时 @规则名 来引用

5. Skills:召唤"领域专家"

5.1 Skills是什么

Skills是"领域专家"。你可以把AI配置成数据库专家、安全专家、TypeScript专家等等。

比如你配置了一个"数据库专家"Skill,当你问AI数据库相关问题时,它会自动用数据库专家的思维方式来回答。

5.2 怎么理解Skills

想象你有一个专家团队:

  • 数据库专家 — 专门回答数据库问题,写SQL特别厉害
  • 安全专家 — 专门检查代码安全问题
  • TypeScript专家 — 专门处理类型问题

每当需要专家时,AI就会"召唤"对应的技能。

5.3 配置Skills

存放位置:

位置 谁能用到
.cursor/skills/ 当前项目
~/.cursor/skills/ 你所有项目

目录结构:

.cursor/skills/
└── database/           # 一个Skill一个文件夹
    ├── SKILL.md       # 必填:技能定义
    ├── references/    # 可选:参考资料
    └── scripts/       # 可选:可执行脚本

SKILL.md格式:

---
name: database
description: 回答数据库相关问题时优先考虑性能
---

# 数据库专家

你是一个数据库专家,精通PostgreSQL、MySQL、Prisma。

## 回答原则
1. 优先考虑查询性能,避免N+1
2. 合理使用索引
3. 关联查询用include/preload

## 回答格式
先解释原理,再给代码示例

关键字段:

字段 什么意思
name 技能名字
description 用来判断什么时候召唤这个专家
disable-model-invocation true=只有手动 /skill-name 才触发

5.4 怎么使用Skills

  • 自动触发:AI根据你的问题判断该用什么技能
  • 手动触发:输入 /数据库 来召唤数据库专家
  • 查看有哪些技能:Settings → Rules → Agent Skills

6. Agents:分配"专人负责"

6.1 Agents是什么

Agents是"专人负责"。和Skills不同,Agents不是回答问题,而是帮你干活。

比如你配置了一个"代码审查Agent",每次PR需要审查时,交给它来做。

6.2 怎么理解Agents

想象你有个小团队:

  • 代码审查员 — 专门帮你审查代码
  • 测试工程师 — 专门帮你写测试
  • 文档写手 — 专门帮你写文档

你只需要分配任务,他们就会在自己的"工作区"里完成。

6.3 配置Agents

目录结构:

.cursor/agents/
└── code-review.md     # 一个Agent一个文件

格式:

---
name: code-review
description: 代码审查专家,审查PR和代码质量
model: fast
---

# 代码审查专家

你是一个代码审查专家。请审查以下代码:

1. 潜在问题
2. 性能优化点
3. 代码规范问题

## 输出格式
## 审查结果
## 问题列表
## 优化建议

model字段:

速度 适用场景
fast 简单任务、代码审查
balanced 平衡 大多数任务
smart 慢但聪明 复杂任务、架构设计

6.4 怎么使用Agents

  • 自动委派:复杂任务来了,AI自动分配给合适的Agent
  • 手动触发:输入 /agent-name 来调用

7. Hooks:设置"自动触发"

7.1 Hooks是什么

Hooks就是"自动触发器"。就像Git的hook在commit/push时自动运行脚本,AI的Hooks可以在特定事件发生时执行。

7.2 怎么理解Hooks

比如:

  • 保存文件时 — 自动格式化代码
  • 提交代码时 — 自动跑lint检查
  • 新建组件时 — 自动套用模板

你不需要每次手动触发,AI帮你自动完成。

7.3 配置Hooks

创建 .cursor/hooks.json

{
  "hooks": [
    {
      "match": ".*\\.(ts|tsx|js|jsx)$",
      "run": "npx prettier --write {file}"
    },
    {
      "match": ".*\\.(ts|tsx)$",
      "run": "npx eslint --fix {file}"
    }
  ]
}

这里的 {file} 会自动替换成实际文件路径。


8. 怎么组合使用

光知道概念没用,关键是怎么组合起来用。

8.1 一个典型的工作流

你:帮我写个用户管理模块

AI自动触发:
1. Rules → 知道项目用Next.js + TypeScript + Tailwind
2. Skills → 召唤数据库专家来处理数据层
3. MCP → 自己读取现有的用户表结构
4. Agents → 分配给代码生成Agent来写代码
5. Hooks → 写完后自动格式化

8.2 组合使用示例

@nextjs @skill database
帮我写一个用户管理模块,包含:
- 用户列表(分页)
- 用户CRUD
- 数据库优化

这个提示词同时触发了:

  • Next.js规范
  • 数据库专家技能

AI会自动用数据库专家的角度来写代码,而且符合Next.js规范。


总结

概念 比喻 怎么用
MCP 手和脚 市场安装或配置 .cursor/mcp.json
Rules 项目宪法 配置 .cursor/rules/
Skills 领域专家 配置 .cursor/skills/
Agents 专人负责 配置 .cursor/agents/
Hooks 自动触发 配置 .cursor/hooks.json

把这五个工具组合起来,你的AI开发效率会大幅提升。赶紧去配置试试吧!


篇预告

这一篇我们讲完了AI辅助开发最佳实践。

下一阶段是《AI功能接入与网页开发》,我们会开始做真正的AI项目。

预告:下一篇文章,《Next.js里接入大模型聊天最简单的方法》。

感兴趣的话,下一篇见。

昨天以前首页

为什么敲几个字母就能访问网站?DNS原理大揭秘

作者 牛奶
2026年3月15日 15:33

你有没有想过一个问题:为什么输入"baidu.com"就能打开百度?

今天,我用查字典的故事,来讲讲DNS到底在做什么。


原文地址

墨渊书肆/为什么敲几个字母就能访问网站?DNS原理大揭秘


DNS是干嘛的?

想象一下,你想知道某个同学的电话号码。

有两种方式:

  1. 直接记住:你把全班同学的电话号码都背下来
  2. 查通讯录:你不知道,但你可以查学校的通讯录

显然,第二种更现实。

互联网也是一样的:

  • IP地址:就像电话号码,比如112.80.248.76
  • 域名:就像人名,比如baidu.com

你不可能记住所有网站的IP地址,但你可以记住域名。

DNS(Domain Name System,域名系统)就是互联网的"通讯录"——它负责把域名翻译成IP地址。


域名是怎么组成的?

先来看看www.baidu.com这个域名:

www.baidu.com
  │     │    │
  │     │    └──── .com 是顶级域名
  │     └───────── baidu 是二级域名
  └─────────────── www 是三级域名

域名层级

  • 根域名.(那个隐藏的点)
  • 顶级域名.com.cn.org.edu
  • 二级域名baidutaobaogoogle
  • 三级域名wwwmailblog

就像地址一样:

中国 → 北京市 → 海淀区 → 中关村大街1号
.     →   .cn  →  .beijing →  .zhongguancun

DNS是怎么工作的?

你输入baidu.com,浏览器是怎么找到服务器的?

让我用查字典的故事来解释:

想象一下查字典

你想查"百度"这个词的意思:

  1. 先翻记忆(浏览器缓存):上次好像在哪儿见过?
  2. 翻家里的小本子(操作系统hosts):上次记在笔记本上了
  3. 问老师(本地DNS服务器):我们学校有本字典能查
  4. 老师问校长(根DNS服务器):这个词太长了,得分头查
  5. 校长查索引(顶级域名服务器):.com开头的词都归.com部门管
  6. 最后查到(权威DNS服务器):找到了!这个词的意思是"IP 112.80.248.76"

这就是DNS查询的全过程!

更直观的流程图

你输入 baidu.com
        │
        ▼
┌───────────────────┐
│  1. 浏览器缓存    │ 有?直接用
└─────────┬─────────┘
          │ 没有
          ▼
┌───────────────────┐
│  2. 操作系统缓存   │ 有?直接用
└─────────┬─────────┘
          │ 没有
          ▼
┌───────────────────┐
│  3. 本地DNS服务器  │
│   (114.114.114.114)│
└─────────┬─────────┘
          │
          ▼
    一级一级往下问
          │
    ┌─────┴─────┐
    ▼           ▼
 根DNS      .com DNS
    │           │
    │           ▼
    │     baidu.com DNS
    │           │
    └─────┬─────┘
          │
          ▼
┌───────────────────┐
│  返回IP: 112.80.248.76 │
└───────────────────┘
          │
          ▼
   浏览器访问这个IP

每个步骤具体做什么?

步骤 谁在做 做了什么
1 浏览器 检查最近访问过的域名缓存
2 操作系统 检查hosts文件
3 本地DNS 运营商的DNS服务器,帮你递归查询
4 根DNS服务器 负责.和顶级域名(.com.cn
5 权威DNS 域名所有者自己的DNS(百度公司)

整个过程可能只需要几十毫秒,你根本感觉不到!


DNS缓存:不用每次都问

上面的流程看起来很复杂,但因为DNS缓存无处不在,实际上很少走完完整流程:

  • 浏览器缓存:几分钟到几小时
  • 操作系统缓存:Windows、macOS会缓存更久
  • 路由器缓存:你家路由器也可能缓存
  • 运营商缓存:运营商的DNS服务器会缓存

所以第一次访问baidu.com可能慢一点,之后就快了。


DNS记录类型:不止A记录

DNS不只是存IP地址,还有很多类型:

类型 作用 例子
A记录 域名 → IPv4 baidu.com112.80.248.76
AAAA记录 域名 → IPv6 baidu.com240e:ff:e020:9e::100
CNAME 域名 → 另一个域名 www.baidu.comwww.a.shifen.com
MX记录 域名 → 邮件服务器 @baidu.commx.baidu.com
TXT记录 存放文本信息 用来验证域名所有权
NS记录 指定域名由哪个DNS服务器解析 baidu.comdns.baidu.com

CNAME的好处

www.baidu.com其实指向了www.a.shifen.com

这就是CNAME——别名。

百度可以随时把www.baidu.com指向新的IP,只需要改一下CNAME,用户不需要记住新IP,体验不变。


DNS有什么问题?

DNS很棒,但不是完美的。

1. DNS污染

有些运营商或防火墙会篡改DNS结果。你输入google.com,返回了错误的IP——你访问不了Google,或者访问了假网站。

这叫DNS污染(DNS Spoofing)。

2. DNS劫持

黑客黑掉你的路由器或DNS服务器,故意返回错误的IP——你以为是访问银行,实际上是钓鱼网站。

这叫DNS劫持(DNS Hijacking)。

3. 隐私问题

DNS查询是明文的,你的运营商知道你访问了哪些网站。


怎么解决?——DNS over HTTPS

既然DNS有问题,那就加密!

DoH(DNS over HTTPS)

把DNS查询伪装成HTTPS请求,就像普通的网页请求一样。

别人看到了HTTPS请求,但不知道你在查DNS。

DoT(DNS over TLS)

用TLS加密DNS查询,更加安全。

公共DNS

除了运营商的DNS,还有一些公共DNS

  • Google DNS8.8.8.88.8.4.4
  • Cloudflare DNS1.1.1.11.0.0.1

这些公共DNS通常更快、更安全、不劫持。


总结:DNS做了什么?

步骤 做了什么
1. 输入域名 baidu.com
2. 查缓存 浏览器、操作系统、路由器有没有记录?
3. 递归查询 根服务器 → .com服务器 → baidu.com DNS
4. 返回IP 112.80.248.76
5. 访问服务器 浏览器向这个IP发起HTTP请求

写在最后

现在你应该懂了:

  • DNS = 互联网的"通讯录",把域名翻译成IP
  • A记录 = 域名→IP的对应关系
  • CNAME = 别名,让换IP更容易
  • DNS缓存 = 各地都有小本本,不用每次都查
  • DoH/DoT = 加密查询,更安全

下次你输入baidu.com的时候,记得——这背后有一群DNS服务器在帮你"查号"呢。

HTTP裸奔,HTTPS穿盔甲——它们有什么区别?

作者 牛奶
2026年3月15日 15:27

你有没有想过一个问题:为什么有的网站显示"不安全",有的显示"安全"?同样是HTTP,加了个"S"到底有什么区别?

今天,我用写信的故事,来讲讲HTTPS到底在加密什么。


原文地址

墨渊书肆/HTTP裸奔,HTTPS穿盔甲——它们有什么区别?


HTTP是怎么"裸奔"的?

想象一下,你给朋友寄信。

如果用HTTP,相当于你把信写在明信片上,直接塞进邮筒。

邮递员、门卫、邻居——谁都能看到信里的内容。

你写的「我爱你」「我的密码是123456」——所有人都一览无余。

这就是HTTP的现状:数据是明文传输的,谁都能偷看。

HTTP会被谁偷看?

  • 隔壁老王连上了同一个WiFi
  • 运营商能查到你在访问什么网站
  • 某些"中间人"专门拦截网络流量

所以在HTTP上输密码、填银行卡——跟裸奔没什么区别。


HTTPS是怎么"穿盔甲"的?

现在换一种方式。

你把信放进一个带锁的盒子里,只有你和朋友有钥匙。

邮递员拿到了盒子?没关系,他打不开。

这就是HTTPS:数据是加密传输的,别人看到了也看不懂。

HTTPS怎么做到加密?

这就涉及到两种加密方式:对称加密非对称加密


对称加密:一把钥匙(代表:AES)

对称加密就像一把钥匙,能开锁也能锁门。

  • 加密用这把钥匙
  • 解密也用这把钥匙

AES(Advanced Encryption Standard,高级加密标准)就是最典型的对称加密算法。

  • 优点:速度快,加密1G数据可能只需要几毫秒
  • 缺点:密钥传输问题——怎么把这把钥匙安全地交给对方?

现实中的问题

你想给朋友寄一把钥匙过去,但邮递员能看到啊!他拿到钥匙之后,不就能打开你的盒子了吗?

这就是对称加密的困境:钥匙送不到对方手里。

AES到底有多强?

AES是现在最常用的对称加密算法,被美国政府采用,取代了之前的DES。

它有多安全?

  • AES-128:密钥长度128位,暴力破解需要上万亿年
  • AES-256:更安全,连量子计算机都很难破解

所以AES本身是非常安全的,关键是怎么安全地把密钥送到对方手里。


非对称加密:两把钥匙(代表:RSA)

后来密码学家发明了非对称加密,像是一把神奇的锁。

它配两把钥匙

  • 公钥(Public Key):锁,可以复制多份分发出去
  • 私钥(Private Key):钥匙,只有自己手里有

RSA就是最著名的非对称加密算法,由三位数学家Rivest、Shamir、Adleman的名字命名。

RSA是怎么工作的?

  1. 你生成一对密钥:公钥私钥
  2. 公钥(锁)公开,谁都可以拿到
  3. 别人用你的公钥加密信息
  4. 只有你手里的私钥能解密

怎么用?

  1. 你把公钥(锁)寄给朋友
  2. 朋友把信放进盒子里,用锁锁好
  3. 只有你手里的私钥(钥匙)能打开

这样一来,公钥寄出去没关系,反正只能用来"锁",不能用来"开"。

RSA的缺点

  • 非常:比对称加密慢几百甚至上千倍
  • 只能加密少量数据:一般用来加密"密钥",而不是大量内容

这就是为什么不能全程用RSA加密。


HTTPS是怎么结合两者的?

HTTPS很聪明,它把两者结合起来用:

  1. 用RSA等非对称加密,把一把"对话密钥"(会话密钥)安全地传给对方
  2. 之后双方都用"对话密钥"做AES对称加密,速度就快了

这就跟做生意一样:

  • 见面谈判(慢,但安全)→ 确立合作方式,交换暗语
  • 之后用暗语交流(快)→ 正式合作

HTTPS也是这个道理:先"握手"一次确定加密方式(用RSA),之后就快(用AES)了。

具体流程

第一次访问(握手):
1. 浏览器:你好,我想访问 example.com
2. 服务器:你好,这是我的证书(包含RSA公钥)
3. 浏览器:(验证证书)OK,我生成一个随机数作为会话密钥
4. 浏览器:用服务器的RSA公钥加密会话密钥,发给服务器
5. 服务器:用RSA私钥解密,得到会话密钥

后续通信:
6. 浏览器 & 服务器:用会话密钥 + AES算法,加密/解密所有数据

证书:怎么证明"你是你"?

等等!上面的方案有个漏洞。

如果有个坏人假冒服务器呢?

比如他拦截了你的公钥请求,然后把自己的公钥寄给你——这叫"中间人攻击"。

你以为是跟朋友通信,实际上是跟坏人通信!

怎么办?

你需要证明身份

HTTPS引入了证书机制,就像身份证一样。

证书是怎么工作的?

  1. 网站去CA机构(Certificate Authority,证书颁发机构)申请一个证书
  2. CA机构核实网站身份,用自己的私钥给证书"签名"
  3. 证书里包含:网站域名、网站的RSA公钥、CA的签名
  4. 浏览器访问网站时,先验证证书

浏览器内置了一些可信的CA机构(比如DigiCert、Let's Encrypt、GlobalSign),就像公安局一样。

如果证书是假的,或者域名对不上——浏览器会显示"不安全"。

证书链:验证过程

你可能会想:CA机构 themselves 谁来证明?

这就是证书链

  • 根证书:浏览器内置,最可信
  • 中间证书:CA机构颁发
  • 服务器证书:你申请的

浏览器会一级一级验证上去。


TLS握手:到底发生了什么?

你访问一个HTTPS网站时,背后会发生这些事情:

1. 浏览器:你好,我想访问 example.com(用的是HTTPS)
2. 服务器:你好,这是我的证书(包含RSA公钥)
3. 浏览器:(验证证书)OK,这是合法的网站
4. 浏览器:我生成一个随机数(会话密钥),用你的公钥加密后发给你
5. 服务器:用我的私钥解密,得到会话密钥
6. 浏览器 & 服务器:好的,用这个会话密钥 + AES算法,开始加密通信

这就是著名的TLS握手(HTTPS = HTTP + TLS)。

握手完成之后,后续的数据传输就都是加密的、很快的。


SSL/TLS/HTTPS到底是什么关系?

  • SSL(Secure Sockets Layer):最早的安全协议,1994年由Netscape发明
  • TLS(Transport Layer Security):SSL的升级版,1999年发布,SSL的继任者
  • HTTPS:HTTP + TLS,简单说就是"穿上TLS盔甲的HTTP"

现在基本都用TLS,但很多人还是习惯叫HTTPS为SSL。


HTTPS有什么缺点?

虽然HTTPS很好,但不是完美的。

1. 慢一点

TLS握手需要时间,首次访问会慢一些。

但现在有TLS 1.3,0-RTT握手,几乎没影响。

2. 要花钱

HTTPS需要证书,以前很贵。

现在有Let's Encrypt等免费CA,证书基本不要钱。

3. 不是100%安全

HTTPS只加密传输过程,但如果:

  • 服务器被黑客攻破
  • 用户中了木马
  • 用了弱密码

——一样完蛋。

HTTPS不是万能的,但它让"偷看"变得几乎不可能。


总结:HTTP vs HTTPS

\ HTTP HTTPS
传输方式 明文 加密
加密算法 RSA + AES
速度 稍慢
安全性 裸奔 穿盔甲
证书 不需要 需要CA颁发
端口 80 443
用途 不涉及隐私的页面 登录、支付、敏感操作

写在最后

现在你应该懂了:

  • HTTP = 明信片,谁都能看
  • HTTPS = 带锁的盒子,只有你能开
  • RSA = 一把锁配两把钥匙,用来安全地送"钥匙"
  • AES = 用"钥匙"快速加密大量数据
  • 证书 = 身份证,证明"服务器是服务器"

下次看到浏览器显示"不安全",就别在上边输密码了。

看到"安全",也不是100%安全——但至少,不会"裸奔"了。

❌
❌