前端HTTP请求
前端 HTTP 请求技术关系笔记:AJAX/XHR/Fetch/Axios 的演进、差异与选型。
#type / synthesis
#status / growing
#tech / network
#platform / browser
#resource / http
#resource / javascript
[!info] related notes
前端 HTTP 请求
这篇笔记作为“关系笔记”保留:它不追求把每个 API 的教程写全,而是把演进与选型讲清楚,并把细节拆到原子笔记。
技术演进路线
graph LR
A[XMLHttpRequest] --> B[jQuery Ajax]
A --> C[Fetch API]
B --> D[Axios]
C --> D
D --> E[现代封装方案]
| 技术 | 年代 | 特点 | 推荐度 |
|---|---|---|---|
| XMLHttpRequest | 1999 | 原生、回调地狱 | ⭐ |
| jQuery.ajax | 2006 | 简化 XHR、依赖 jQuery | ⭐⭐ |
| Fetch API | 2015 | 原生 Promise、现代语法 | ⭐⭐⭐⭐ |
| Axios | 2014 | 功能丰富、拦截器、取消请求 | ⭐⭐⭐⭐⭐ |
进一步阅读(原子笔记)
选型与对比(推荐入口)
🔗 相关笔记
请求库
- axios - Axios HTTP 客户端详解
实时通信
- web-socket - 双向实时通信
- sse - 服务端推送
HTTP 相关
- 浏览器缓存分类与 304 / memory cache / disk cache
- frontend-http-status-code-handling - 状态码处理
- frontend-streaming-data-handling - 流式数据接收
📊 选型建议
| 场景 | 推荐技术 |
|---|---|
| 简单请求、轻量项目 | Fetch API |
| 复杂项目、需要拦截器 | Axios |
| 需要取消请求 | Axios 或 Fetch + AbortController |
| Node.js 环境 | Axios(或 Node 原生/框架内置 HTTP 客户端) |
| 实时双向通信 | WebSocket |
| 服务端推送 | SSE |
[!tip] 下一步
- 从 MOC 开始:http-and-frontend-networking-moc