IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

什么是REST?

外刊IT评论 2011-06-02 13:13:38 累计浏览 3,344 次
本机暂存

让我来给你们做一个非常简单的,适用的解释。

  • REST 是一套用来创建Web Service的方法。
  • REST式的Web Service的主旨是让事情尽量的简单化。
  • REST式的Web Service使用HTTP里的方法:GET, POST, DELETE, PUT。你不需要使用URL或请求的内容来指定这个方法。
  • REST式的Web Service使用URL来指明你将要操作什么对象。
  • REST式的Web Service使用HTTP状态码作为返回值。
  • REST式的Web Service调用产生的HTTP请求内容只是用于服务数据――不是用来指明调用方法,目标对象或返回值的。


使用REST方法来开发Web Service的关键点是利用HTTP协议的简单性,而不是去扩展这个协议。你的Web Service调用最终应该是非常的简单而且非常的易于理解。

下面是一个调用REST式的Web Service的例子。用的是一个Javascript函数,它从Web Service里取回一个任务对象。

function sendGetTaskRequest(packet, template, task, handler) {

// 这一行创建一个Web请求

requestGetTask = new XMLHttpRequest();

// 这一行指明请求的HTTP方法和URL。

// 注意这个URL是一个简单的对象的路径。

requestGetTask.open(“GET”, baseUrl + “/v1/packets/” + packet +

“/templates/” + template + “/tasks/” + task);

// 这一行调用一个方法来处理响应的数据

requestGetTask.onreadystatechange = handler;

// 这一行用来发送请求

requestGetTask.send();

}

为了获取一个任务,你只要对这个任务的URL发送一个GET请求。为了添加一个任务,你只需要向这个任务的URL发送一个POST请求。REST使Web Service用起来非常的简单。

如果你想找一本真正有用的用来学习REST的书,我推荐Leonard Richardson 和 Sam Ruby 合著的《RESTful Web Services(中文版)》

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,446)
  2. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  3. libcurl的使用总结(二) (累计阅读 15,083)
  4. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,301)
  5. 好的API设计 (累计阅读 12,395)
  6. HTTP协议Keep-Alive模式详解 (累计阅读 12,104)
  7. 你必须了解的Session的本质 (累计阅读 11,441)
  8. curl 命令使用cookie (累计阅读 10,015)
  9. Hello! 404 (累计阅读 9,384)
  10. 解决 nginx 反向代理网页首尾出现神秘字符的问题 (累计阅读 9,096)