在HTTP中,PUT被定义为idempotent的方法,POST则不是,这是一个很重要的区别。服务器
上面的话就是说,若是一个方法重复执行屡次,产生的效果是同样的,那就是idempotent的ide
好比说put屡次结果是同样的没有产生别的反作用就用put.若是屡次请求产生的结果不同就用POSTui
也许你会以为这个两个方法的差异没什么大不了的,用错了也不会有什么问题,可是你的服务一放到internet上,若是不听从HTTP协议的规范,就可能给本身带来麻烦。好比,没准Google Crawler也会访问你的服务,若是让一个不是indempotent的服务能够用indempotent的方法访问,那么你服务器的状态可能就会被Crawler修改,这是不该该发生的。.net
参考原文:http://blog.csdn.net/yangruibao/article/details/7898788blog