HTTP PUT的替代实体

我正在开发一个REST-ful webservice,并且对HTTP PUT方法有一个疑问。

我希望允许用户使用应用程序/表单数据请求主体提交内容。 但是,默认响应将在application / xml中。

这可以接受吗?

翻转


内容类型仅在单个请求的范围内很重要。 他们所做的只是描述正在发送的内容的格式。

您的网络服务应提供客户请求所能接受的响应。 客户端请求应包含描述可接受内容类型的Accept头。 如果您的服务无法在此标题中提供任何内容类型,则返回406 Not Acceptable

在你的情况,如果您的客户端GET请求包括application/xml在接受头则是罚款与响应application/xml的任何,无论PUT所请求的资源所做的请求。

编辑:

406 Not Acceptable的状态码定义包含以下内容的注释:

注意:根据请求中发送的Accept头,HTTP / 1.1服务器可以返回不可接受的响应。 在某些情况下,这甚至可能比发送406响应更可取。 鼓励用户代理检查传入响应的标题以确定它是否可接受。

所以你可以随时返回application/xml


RESTful服务应该为动作使用正确的HTTP方法(GET,HEAD,PUT,DELETE或POST),确保URI中包含任何作用域信息,并确保HTTP消息信封不包含其他信封,即SOAP。

Roy Fieldings 2000博士 论文:建筑风格和基于网络的软件架构设计构成了REST的基础。

链接地址: http://www.djcxy.com/p/12357.html

上一篇: Alternative bodies for HTTP PUT

下一篇: Is an entity body allowed for an HTTP DELETE request?