首先,澄清一些事情。 REST 是一种架构风格,是一组约束来指导您的结构设计决策。 REST 不与任何特定的底层协议耦合,因此它不依赖于 HTTP,尽管它很常见。
其次,请记住,REST 已成为一个流行词,指代几乎所有非 SOAP 的 HTTP API,并且大多数所谓的 REST API 根本不是 REST。其中大多数是简单的 RPC over HTTP。我建议您阅读this answer 以获得一些澄清。
现在,回答您的问题:
1) REST Web 服务中的 DO GET、PUT 和 POST 方法与
与他们使用简单网站的方式相同。
您的问题的问题是,这些方法如何工作的唯一确切定义是 RFC 定义的定义,一个简单的网站可能会以不同的方式实现它。例如,PUT 不允许用于部分更新,但许多网站和 HTTP API 都会这样做。
正如我上面所说,REST 是独立于协议的,但是尊重统一接口约束和应用通用性原则,你应该尽可能地坚持底层协议的标准语义,这意味着如果你使用HTTP 1.1,您应该坚持 RFC 7230 到 7235 中确定的行为。
2) REST Web 服务中的 GET 、 PUT 和 POST 方法允许我们
在客户端和网络之间发送/接收数据(例如:Twitter 中的推文)
服务。此消息是否在正文中发送(PUT 和 POST)和接收(GET)
XML/JSON/其他格式的 POST/PUT 方法或者是文件(在
具体格式)单独发送。
该格式是在客户端和服务器之间的先前合同中建立的(通常在文档中),并且在请求期间使用 Accept 和 Content-Type 标头进行处理。例如,如果客户端想要 JSON 响应,它会发送 Accept: application/json 标头。如果服务器无法使用 JSON 响应,它应该会以 406 Not Acceptable 失败。
请记住,在实际的 REST Web 服务中,您不会使用像 application/json 这样的通用媒体类型,因为除了如何解析内容之外,它完全没有说明内容。您应该为您的资源提供更具体的媒体类型,并将您的文档集中在这些上。例如,JSON 格式的用户资源可以具有自定义媒体类型,如 application/vnd.mycompany.user.v1+json。
3) 是否有任何浏览器工具可用于查看已发送和发送的内容?
在 REST Web 服务中接收
在谷歌浏览器中,您可以使用开发者工具,或者像this 或this 这样的客户端。你也可以使用像curl这样的命令行客户端。
另外,请记住,将通用 html+javascript 客户端放入真正的 REST API 以使其可通过浏览器导航应该很容易。以下是使用 HAL+JSON 和通用客户端的 REST API 示例。
https://api-sandbox.foxycart.com/hal-browser/browser.html#/