RESTfulWeb服务中GET、POST和PUT的区别是什么

RESTfulWeb服务中GET、POST和PUT的区别是什么,rest,web-services,Rest,Web Services,一位面试官问我,我的回答是这样的 GET请求可以缓存 获取请求保留在浏览器历史记录中 GET请求可以添加书签 处理敏感数据时,绝不应使用GET请求 GET请求有长度限制 GET请求仅用于请求数据,不用于修改 POST请求从不缓存 POST请求不会保留在浏览器历史记录中 无法将POST请求添加书签 POST请求对数据长度没有限制 POST和PUT的区别在于PUT请求是幂等的。也就是说,多次调用同一PUT请求将始终产生相同的结果。相反,反复调用POST请求会产生多次创建同一资源的副作用 但最后一次他

一位面试官问我,我的回答是这样的

GET请求可以缓存 获取请求保留在浏览器历史记录中 GET请求可以添加书签 处理敏感数据时,绝不应使用GET请求 GET请求有长度限制 GET请求仅用于请求数据,不用于修改

POST请求从不缓存 POST请求不会保留在浏览器历史记录中 无法将POST请求添加书签 POST请求对数据长度没有限制

POST和PUT的区别在于PUT请求是幂等的。也就是说,多次调用同一PUT请求将始终产生相同的结果。相反,反复调用POST请求会产生多次创建同一资源的副作用

但最后一次他没有接受我的回答。并且说我不接受HTTP方法。他需要这个方法的restful方法定义

那么我的问题是,从HTTP方法到Rest方法,它会有什么不同呢?

就HTTP而言

1Get方法用于使用api请求数据

2Post方法用于将数据发送到api和

3Put方法用于编辑数据

您可以说,通过使用put方法,我们可以用请求负载替换目标资源的所有当前表示

但最后一次他没有接受我的回答。并且说我不接受HTTP方法。他需要这个方法的restful方法定义

你的面试官可能在寻找与以下类似的东西:

GET用于获取项目或集合

POST用于在集合中创建新项

PUT用于更新项目

对我来说,这听起来好像你的面试官并不真正理解其余部分。不幸的是,当你想赢得这份工作时,与面试官不同的理解问题并不是一个有用的地方

从HTTP方法到Rest方法有什么不同

如果我们要非常小心和精确,我们会说REST没有方法。休息是一种建筑风格;HTTP是使用这种风格设计的应用程序协议

REST表示将有自包含的请求消息,并且所有资源都将统一理解这些接口的语义


HTTP说方法令牌是请求语义的主要来源,并定义了GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS和TRACE的语义。它还定义了一个过程,通过该过程可以引入新的方法标记ex:PATCH。

-3但仍然会混淆