0%

GET、POST、PUT、DELETE的区别

欢迎指正。

今天看到GET/POST/PUT,就想了解下这些的区别。HTTP方法有这几种:GET,POST,PUT和DELETE。

HTTP方法

GET

获取信息。GET请求必须是安全且幂等的,这意味着无论使用相同参数重复多少次,结果都是一样的。对于网上说的,GET请求有长度限制,其实,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。对GET的URL长度限制的是浏览器,这里的限制是URL,而不是参数的限制。

POST

请求URL中的资源对提供的实体执行某些操作。POST通常用于创建或者更新实体。POST把提交的数据则放置在是HTTP包的包体中。

PUT

将实体存储在URL中。PUT更新现有的实体,或者新增指定的资源(如果id不存在,新增一个含id资源)。PUT请求是幂等的。幂等性是PUT期望与POST请求之间的主要区别。

DELETE

请求移除资源; 但是,资源不必立即删除。它可能是一个异步或长时间运行的请求。

GET和POST

post和get的安全性在传输的层面上区别不大,但是采用url提交数据的get方式容易被人肉眼看到,或者出现在历史纪录里,还是可能被肉眼看到,都是一些本地的问题。

HTTP status codes

查看spring官网,可以看到这些状态码。

  • 1XX:informational
  • 2XX:success:成功信息
  • 3XX:redirection:重定向问题
  • 4XX:client error:客户端问题
  • 5XX:server error:服务端问题

Reference

客官,赏一杯coffee嘛~~~~