小弟实习生一枚,想问一下put,get请求方法的具体区别
最近实习做到公司的一个项目,突然对 http 的get put方法百思不得其解,希望大家能帮我解答一下
再网上搜索看到下面一段感觉说得挺详细,但还是有一些不明白的地方,希望大家给我指点一下
上面的话就是说,如果一个方法重复执行多次,产生的效果是一样的,那就是idempotent的。
举一个简单的例子,加入由一个博客系统提供一个Web API,模式是这样http://superblogging/blogs/post/{blog-name},很简单,将{blog-name}替换为我们的blog名字,往这个URI发送一个HTTP PUT或者POST请求,HTTP的body部分就是博文,这是一个很简单的REST API例子。我们应该用PUT方法还是POST方法?取决于这个REST服务的行为是否是idempotent的,假如我们发送两个http://superblogging/blogs/post/Sample请求,服务器端是什么样的行为?如果产生了两个博客帖子,那就说明这个服务不是idempotent的,因为多次使用产生了副作用了嘛;如果后一个请求把第一个请求覆盖掉了,那这个服务就是idempotent的。前一种情况,应该使用POST方法,后一种情况,应该使用PUT方法。
这里说put多次提交返回的资源结果是一样的。
这里说的返回资源是指后台处理过的资源吗?
在我的理解中,客户端发送请求之后,怎么处理,返回什么信息不是服务器端的代码访问数据库,根据不同情况返回不同信息么?
再说返回的信息一样不一样,http协议是怎么判断的?百思不得其解,谢谢大家了
本人小白,如果哪里说的不准确勿喷。