HTTP学习手记(一)

1.GET

GET方法是最常见的方法,用于获取服务器上的资源。浏览器输入网址,请求服务器资源。
GET是幂等方法。

幂等:在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“setTrue()”函数就是一个幂等函数,无论多次执行,其结果都是一样的.更复杂的操作幂等保证是利用唯一交易号(流水号)实现

2.POST

POST方法是浏览器向服务器提交数据。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。

有了上边两个方法,客户端(浏览器)与服务端(服务器)就可以进行基本的交互了。当然,仅仅有这两个方法是无法满足网页开发的要求的

3.HEAD

HEAD方法与GET基本一样,但是请求到的HTTP响应无响应体(响应正文)。HEAD请求资源的头部信息, 并且这些头部与GET 方法请求时返回的一致。 该请求方法的一个使用场景是在下载一个大文件前先获取其大小再决定是否要下载, 以此可以节约带宽资源。

4.PUT

PUT方法用请求有效载荷 替换 目标资源的所有当前表示。

上面这句话每个词都认识,但是连在一起就懵了。我估计上面就机翻,其实PUT就是替换

5.DELETE

这个就很易懂,删除。当然这个不是命令服务器删除,而是请求服务器删除。至于是否会删除,要由服务器决定。

6. PATCH

对资源进行部分修改。与PUT的区别在于,PUT对资源进行整体覆盖。

7.OPTIONS

获取目的资源所支持的通信选项。
客户端可以对特定的 URL 使用 OPTIONS 方法,也可以对整站(通过将 URL 设置为“*”)使用该方法。

8.CONNECT

CONNECT方法可以开启一个客户端与所请求资源之间的双向沟通的通道。它可以用来创建隧道(tunnel)。

9.TRACE

TRACE方法实现沿通向目标资源的路径的消息环回(loop-back)测试 ,提供了一种实用的 debug 机制。

RESTful风格

在 RESTful API 中,使用的主要是以下五种HTTP方法:

  • GET,表示读取服务器上的资源
  • POST,表示在服务器上创建资源
  • PUT,表示更新或者替换服务器上的资源
  • DELETE,表示删除服务器上的资源
  • PATCH,表示更新/修改资源的一部分

参考资料

  1. https://tools.ietf.org/html/rfc7231#section-4.2.2
  2. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/TRACE
  3. http://www.ruanyifeng.com/blog/2011/09/restful.html
  4. https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
0%