WEB · 前端 / 常用参考

Web 前端速查

汇总 HTTP 状态码、常用正则表达式、npm/yarn 命令对照与 VS Code 快捷键,日常 Web 高频参考一页直达,随查随用。

15状态码 9正则模式 80速查条目

📖 速查表

点击展开各小节

🌐 HTTP 状态码速查
状态码类别说明常见场景
200 成功 请求成功,服务器返回所请求的数据 GET 请求获取资源成功、POST 返回数据
201 成功 请求成功并创建了新资源。响应头应包含 Location 字段指向新资源 POST 创建用户成功、上传文件创建完成
204 成功 请求成功但无返回内容。常用于 DELETE 操作 删除资源成功、更新部分字段成功
301 重定向 永久重定向。搜索引擎会更新索引为新 URL 域名变更、HTTP → HTTPS 永久跳转
302 重定向 临时重定向。搜索引擎仍保留原 URL 用户登录后跳转、A/B 测试
304 缓存 未修改,可使用缓存版本。响应体为空 基于 ETag / Last-Modified 的协商缓存
400 客户端错误 请求语法错误或参数无效,服务器无法理解 JSON 格式错误、缺少必填参数、参数类型不匹配
401 客户端错误 未认证,请求需要身份验证。响应头包含 WWW-Authenticate 未提供 token、token 过期、未登录
403 客户端错误 服务器理解请求但拒绝执行(权限不足) 普通用户访问管理员接口、IP 被封禁
404 客户端错误 请求的资源在服务器上不存在 URL 拼写错误、资源已被删除
405 客户端错误 请求方法不被允许。响应头应包含 Allow 字段 只允许 GET 的接口收到了 POST 请求
429 客户端错误 请求速率超过限制(Rate Limiting) API 调用频率超限、爬虫被限速
500 服务端错误 服务器内部错误,无法完成请求 代码抛出未捕获异常、数据库连接失败
502 服务端错误 网关或代理服务器收到上游服务器无效响应 Nginx 代理的后端服务挂了、PHP-FPM 进程崩溃
503 服务端错误 服务暂时不可用(过载或维护中)。响应头可包含 Retry-After 服务器重启、流量激增被限流、停机维护
HTTP 状态码分类示意:2xx 成功、3xx 重定向与缓存、4xx 客户端错误、5xx 服务端错误
先按 2xx / 3xx / 4xx / 5xx 定位问题家族,再看具体状态码与缓存响应头
🔤 正则表达式常用模式
用途正则表达式说明
邮箱 ^[\w.-]+@[\w.-]+\.\w{2,}$ 匹配标准邮箱格式,支持点号和中划线
手机号 ^1[3-9]\d{9}$ 匹配中国大陆 11 位手机号(13~19 开头)
URL ^https?://[\w.-]+(:\d+)?(/[\w./%-]*)?(\?[\w=&.-]+)?(#\w+)?$ 匹配 HTTP/HTTPS URL,含端口、路径、查询参数和锚点
IP 地址 ^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$ 匹配 IPv4 地址(建议配合数值范围校验:0-255)
日期 ^\d{4}-\d{2}-\d{2}$ 匹配 YYYY-MM-DD 格式日期(如 2026-06-29)
密码强度 ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$ 至少 8 位,包含大小写字母、数字和特殊字符
\d [0-9] 匹配任意数字
\w [a-zA-Z0-9_] 匹配单词字符(字母、数字、下划线)
\s [ \t\n\r\f] 匹配空白字符(空格、制表符、换行等)
📦 npm / yarn 命令对比
操作npmyarn说明
初始化项目 npm init yarn init 创建 package.json
安装依赖 npm install yarn 安装 package.json 中所有依赖
添加依赖 npm install react yarn add react 安装并写入 dependencies
添加 dev 依赖 npm install -D jest yarn add -D jest 安装并写入 devDependencies
全局安装 npm install -g vue yarn global add vue 安装到全局 node_modules
移除依赖 npm uninstall react yarn remove react 移除并更新 package.json
更新依赖 npm update react yarn upgrade react 更新到符合 package.json 范围的最新版
运行脚本 npm run dev yarn dev 执行 scripts 中定义的命令
发布包 npm publish yarn publish 将包发布到 npm registry
缓存目录 ~/.npm ~/.yarn/cache 离线安装时 yarn 更快
锁定文件 package-lock.json yarn.lock 确保所有环境安装相同版本
⚡ VS Code 常用快捷键
快捷键功能说明
Ctrl + P快速打开文件输入文件名跳转到任意文件
Ctrl + Shift + P命令面板打开所有可用命令的搜索面板
Ctrl + D选中下一个相同词多次按可多光标编辑
Ctrl + /切换行注释在当前行或选中行切换注释
Alt + ↑/↓移动行上下移动当前行或选中行
Shift + Alt + ↓复制行快速复制当前行或选中行到下方
Ctrl + Shift + L全选所有匹配项选中文档中所有当前选中词
F2重命名符号智能重命名变量、函数、类等
Ctrl + \`打开终端切换显示内置终端
Ctrl + B切换侧边栏显示/隐藏资源管理器侧边栏
Ctrl + Shift + F全局搜索在整个项目中搜索文本
Ctrl + G跳转到行输入行号快速跳转
Ctrl + Shift + K删除行删除当前行而不复制到剪贴板
Ctrl + .快速修复显示当前错误的快速修复建议
Ctrl + Space触发建议手动触发代码补全建议
📡 HTTP 方法与缓存
方法 / 机制幂等 / 类型说明
GET 幂等 · 安全 获取资源,参数在 URL 上,可被缓存与收藏,不应产生副作用
POST 不幂等 · 不安全 提交数据创建资源,参数在请求体;重复提交可能产生多条数据,需防重
PUT 幂等 · 不安全 全量替换资源,多次调用最终状态一致
DELETE 幂等 · 不安全 删除资源,重复调用结果一致(首次后返回 404 仍符合幂等语义)
PATCH 约定不定 · 不安全 部分更新字段;自增类操作多次调用结果会叠加,不算幂等
强缓存 Cache-Control / Expires 命中则不发请求(200 from memory/disk cache);max-age 优先于 Expires
协商缓存 ETag / Last-Modified 先问服务器资源是否变化:未变返回 304 用本地缓存,变了返回 200 新内容
🍪 浏览器存储对比
存储方式容量 / 时效特性与适用
cookie 约 4KB · 可设过期 每次请求自动随 header 发送;适合会话标识 / token;注意 SameSite 防 CSRF
localStorage 约 5~10MB · 永久 不随请求发送,需手动清除;适合主题、语言等前端偏好
sessionStorage 约 5MB · 标签页级 关闭标签页即清除,不随请求发送;适合一次性表单草稿
IndexedDB 数百 MB+ · 永久 浏览器端结构化数据库,支持事务与索引;适合离线应用与大数据量缓存
选型一句话 会话标识放 cookie,前端偏好放 localStorage,离线大数据用 IndexedDB 敏感信息避免明文落前端存储 安全
♻️ 跨域与编码
主题说明要点 / 示例
CORS 关键响应头 服务端声明允许的跨域来源与方法 Access-Control-Allow-Origin / -Methods / -Headers / -Credentials
CORS 预检 非简单请求先发 OPTIONS 探测是否允许 Authorization 或 JSON content-type 的请求会触发预检
携带 cookie 前端 withCredentials = true 且后端 Allow-Credentials = true 此时 Allow-Origin 不能为通配符 *,须回显具体来源
开发代理 vite / webpack proxy 把 /api 转发到后端 借服务端转发绕过浏览器同源限制,仅本地生效
URL 编码 · + 与 %20 查询串中 + 会被解析为空格,路径中空格应编码为 %20 前端传参先 encodeURIComponent,避免服务端收到意外空格 高频坑
encodeURI vs encodeURIComponent 整体 URL 编码 vs 参数组件编码 拼接查询参数一律用 encodeURIComponent(连 & = ? 一起编码)
🔁 缓存与重定向联动
机制 / 要点关键写法说明 / 避坑
301 长期缓存风险 301 vs 302 301 会被浏览器长期记住且极少回头重新验证——设错很难挽回;跳转目标不确定时先用 302,确认永久后再换 301 慎用
no-cache 真实语义 Cache-Control: no-cache 不是"不缓存",而是"可以缓存但每次使用前必须回源验证";要求彻底不落盘用 no-store,两者别混用
ETag 协商 If-None-Match304 浏览器带回上次的 ETag,服务器比对未变化直接回 304 空响应体——省的是流量,不是请求数
HTML 与静态资源分工 no-cache + hash 文件名 + immutable HTML 用 no-cache 保证入口始终最新;app.a1b2c3.jsmax-age=31536000, immutable 吃满长缓存,内容变了 hash 自然变 黄金组合
Service Worker 缓存 Cache Storage API SW 拦截请求自行决定回缓存还是走网络,优先级高于 HTTP 缓存头;上线必须带版本号与旧缓存清理策略
🧰 curl 调试常用参数
参数作用示例 / 说明
-i 响应附带响应头 curl -i https://example.com,先看状态码与响应头再决定下一步
-H 添加请求头 -H 'Authorization: Bearer xxx',可重复叠加多个头
-d 发送请求体 发 JSON 必须显式配 -H 'Content-Type: application/json';-d 会默认把方法改为 POST
-X 指定请求方法 -X PUT / -X DELETE,非默认方法建议显式写明
-o 输出到文件 / 丢弃 -o /dev/null 丢弃响应体(Windows 用 NUL),只关心状态与耗时
-w 自定义计时模板 -w '%{http_code} %{time_total}s' 一次拿到状态码与总耗时
-L 跟随重定向 遇 3xx 自动请求新地址;配合 -s -o NUL -w '%{num_redirects}' 可数出跳转次数