关于javascript:HTTP PUT的目的是什么?

What's the purpose of HTTP PUT?

本问题已经有最佳答案,请猛点这里访问。

为什么我们在AJAX中使用方法'PUT'以及它最常用的地方?

例:

1
2
3
4
5
6
7
$.ajax({
    url: 'script.php',
    type: 'PUT',
    success: function(response) {
        //...
    }
});

为什么作者不是简单地使用GET / POST?


对于RESTful API,POST具有特定含义(创建资源),而PUT具有不同的(更新现有资源):

  • GET检索列表或项目
  • PUT替换集合或项目
  • POST在集合中创建一个新项
  • DELETE删除集合或项目

但是,如果确实存在"script.php",那么在创建API时,开发它的人并不是很彻底。"script.php"根本就不是RESTful ...通常,适当的RESTful API的URL结构看起来像 像这样:

  • http://example.com/questions将是一个集合(GET列表,PUT替换所有项目,POST创建新项目,DELETE删除所有项目)
  • http://example.com/questions/123将是一个项目(要检索的GET,要替换的PUT,通常未使用的POST,删除该项目的DELETE)