如果我需要在HTTP PUT请求中发送表单数据,它是否有效?
如果你能指出一个规范,那就太棒了。
[更新]
我已经完成了HTTP 1.1规范。但我没有发现PUT请求是否可以有Form数据。
我正在使用Java来创建和访问RESTful webservices。 POST支持application / x-www-form-urlencoded作为Content-Type。
根据规范,我了解POST用于创建新资源(由请求URI标识的资源的子资源),PUT用于创建或更新资源。
但我怀疑PUT方法是否也可以包含表格数据?我试图根据规格找出它是否合适。我在HTTP 1.1规范中找不到任何相关内容。
谢谢, 保罗
答案 0 :(得分:6)
是的,您可以使用带有PUT的application / x-www-form-urlencoded。 HTTP规范不限制哪些方法可以与哪种媒体类型一起使用。
目前正在进行的Httpbis规范对PUT http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-14#page-18
的讨论进行了大量扩展答案 1 :(得分:3)
由于PUT method用于在所提供的URI下存储随附的entity,而Content-Type header field是entity header field,因此使用内容是合法的PUT请求中的-Type 标头字段。
现在剩下的问题是接收服务器是否可以正确处理此类请求和 Content-Type 信息。在最坏的情况下,它无法处理 Content-Type 标头字段并返回501响应:
实体的收件人不得忽略任何内容 - * (例如 Content-Range )标头,它不理解或实现 并且在这种情况下必须返回501(未实现)响应。
答案 2 :(得分:1)
这是来自wc3的HTTP规范
http://www.w3.org/Protocols/rfc2616/rfc2616.html
此外,以下是Content-Type
的页面http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
和PUT
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6
如果您希望获得有关HTTP PUT的特定语言,请使用详细信息更新您的问题