根据HTTP/1.1规范:
该
POST方法用来请求原始服务器接受被附在请求由标识的资源的新下属实体Request-URI的Request-Line
换句话说,POST用于创建.
该
PUT方法请求将所包含的实体存储在提供的实体下Request-URI.如果Request-URI引用已经存在的资源,则封闭的实体应该被视为驻留在源服务器上的实体的修改版本.如果Request-URI未指向现有资源,并且该URI能够被请求用户代理定义为新资源,则源服务器可以使用该URI创建资源.
也就是说,PUT用于创建或更新.
那么,应该使用哪一个来创建资源?或者需要支持两者?
我正在通过Zend_Rest_Route使用Zend Framework构建RESTful api.对于文件上传,我应该使用PUT还是POST来处理这个过程?我试图尽可能地与REST动词的定义保持一致.请参考:PUT或POST:故事的REST
我理解这一点的方式是,当且仅当我更新指定资源的完整内容时,我才应该使用PUT.我必须知道PUT的确切URL.另一方面,如果我使用某种服务器端算法向服务器发送命令以创建指定资源的下级,我应该使用POST.
我们假设这是一个用于图像上传的REST API.这是否意味着我应该使用POST,如果服务器要操纵图像文件(即创建缩略图,调整大小等); 如果我只是将图像原始文件保存到服务器,请使用PUT?
如果我使用PUT来处理文件上传,那么流程应该如下:
我对这些东西很陌生; 所以希望我在这里有意义......
如果您知道"最佳"方式,请随时发表评论.