什么是 API:API 与网页的区别、REST 基础与 HTTP 状态码入门

"API" 是程序员嘴里出现频率最高的词之一,但对刚接触网站开发的人来说,它常常是一个听过但说不清的概念。这篇文章用餐厅点餐的比喻,把 API 到底是什么、它和网页有什么区别、REST 又是什么一次讲清楚。

一、API 到底是什么:餐厅里的服务员

想象你去一家餐厅。你不会直接走进后厨自己炒菜,而是把需求告诉服务员,服务员把需求转达给厨房,再把做好的菜端回给你。API 就是这个服务员——它是两个软件之间约定好的"传话窗口",一方提出请求,另一方按规矩响应,双方都不用知道对方内部怎么运转。

比如你打开一个天气 App,App 本身没有天气数据,它通过调用天气服务商的 API,把"上海今天的天气"这个请求发过去,服务商返回一串数据,App 再把数据渲染成好看的界面。App 和天气服务商之间,就是靠 API 对话的。

二、API 和网页有什么区别

网页和 API 都在互联网上传输数据,但目的完全不同:

对比项 网页 API
给谁看 给人类看 给程序看
返回内容 HTML 页面(含样式、排版) 结构化数据(通常是 JSON)
访问方式 浏览器打开 URL 程序发请求并解析返回值
典型例子 打开博客文章页 查询商品库存接口

关键区别在于:网页返回的是"长什么样的页面",API 返回的是"数据本身"。很多 API 也能用浏览器地址栏访问,但看到的是乱糟糟的一串 JSON,因为浏览器不会帮你排版。

三、REST 基础:四个最常用的方法

REST(Representational State Transfer)是目前最常见的 API 设计风格,它把数据看作"资源",用 HTTP 方法表达对这个资源的操作。最常见的四种:

方法 作用 类比
GET 读取资源 看菜单
POST 新建资源 下单
PUT 整体更新资源 改订单
DELETE 删除资源 退订

例如一个博客系统的接口:GET /articles 获取文章列表,POST /articles 发布新文章,PUT /articles/5 修改第 5 篇文章,DELETE /articles/5 删除第 5 篇。想系统学习接口设计规范,可看RESTful API 设计最佳实践

四、一次请求与一次响应长什么样

一次 API 调用由"请求 + 响应"两部分组成。请求通常包含四样东西:

  1. URL:请求发给谁,例如 https://api.example.com/articles/5
  2. 方法:要做什么操作(GET/POST/PUT/DELETE);
  3. 请求头(Headers):附加信息,如身份凭证、期望的返回格式;
  4. 请求体(Body):要提交的数据,POST 新建时通常带 JSON。

响应包含两部分:状态码 + 返回数据。返回数据最常见的是 JSON 格式,例如天气接口可能返回:

{
  "city": "上海",
  "temperature": 31,
  "condition": "多云",
  "updated_at": "2026-08-12T12:00:00+08:00"
}

程序拿到这段 JSON 后逐字段解析、展示,这就是一次完整的 API 交互。后端接口怎么一步步写出来,可以参考Node.js 写一个 API 示例

想亲手试一次,最简单的办法是打开终端用 curl 命令:curl 'https://api.example.com/weather?city=shanghai',回车后终端会直接打印出返回的 JSON。不习惯命令行的话,用 Postman 之类的图形化工具发送请求更方便,适合边看边调,用法可参考Postman 接口测试

五、HTTP 状态码入门:一眼看懂成功还是失败

状态码是三位数字,用来告诉调用方这次请求的结果。记住三个区间就够用:

区间 含义 常见例子
2xx 成功 200 成功、201 已创建
3xx 重定向 301 永久跳转、304 未修改
4xx 客户端出错 400 请求格式错误、401 未登录、403 无权限、404 找不到
5xx 服务端出错 500 服务器内部错误、503 服务不可用

日常排查 API 问题时,先看状态码能省一半力气:4xx 说明多半是你这边的问题,检查参数和凭证;5xx 说明是对方服务器的问题,等一会儿再重试。遇到报错怎么一步步排查,可看API 错误处理指南

六、常见问题(FAQ)

Q1:API 一定要用 JSON 吗? 不一定。JSON 只是最常见的格式,还有 XML、文本等,但 JSON 因为易读、跨语言友好,是当前事实标准。

Q2:调用 API 需要付费吗? 看情况。很多服务提供免费额度,超出后按调用次数或流量计费,例如天气、翻译、地图类接口都有免费层。接入前一定要读文档里的价格页。

Q3:我没法访问某个 API,怎么办? 先确认是否有限流或鉴权要求(很多 API 需要 API Key),再确认域名是否可达,最后看报错是 4xx 还是 5xx。

Q4:REST 是唯一的 API 风格吗? 不是。还有 GraphQL、gRPC、WebSocket 等。REST 因为简单通用,最适合新手入门,其它风格可以之后再看REST 与 GraphQL 对比

七、小结

一句话记住:API 是两个程序之间约定好的对话窗口,网页给人看、API 给程序用,REST 用四种方法表达增删改查,状态码帮你快速判断成败。 想了解更多接口对接的实操,可以收藏后端对接分类