PUT参数如何传递到页面?

25

我无法找到关于这个问题的精确答案:

PUT方法发送的参数是通过URL还是HTTP头传递的?

我认为应该是通过HTTP头传递,但是当我使用PUT方法提交表单时,它会将参数附加在URL中!

2个回答

30

PUT方法中发送的参数是在URL还是HTTP头部传递的?

不是通过HTTP头部传递。它与POST相同 - 要么是URL或请求正文(body)。唯一的区别是所使用的HTTP动词,以及随之而来的语义(更新服务器上的资源)。


2
我不知道POST可以通过URL发送数据!它不只是在HTTP请求正文中吗?这意味着PUT可以像http://www.example.com?param=value一样发送数据 或者 放入请求正文中? - DKF
3
两者都可以是 URL 和正文。但我建议避免使用 URL,只使用正文即可。 - Darin Dimitrov
好的,非常感谢!这意味着在我的情况下,是服务器在我点击提交按钮后自动将参数放入URL中? - DKF
2
什么提交按钮?你是在说一个带有<form>标签的HTML网页吗?大多数浏览器只支持GET和POST动词,不支持PUT。如果你想要在网页上使用PUT动词,你将需要使用AJAX。而且不,不是服务器在请求中添加任何内容,是客户端。在HTML <form>的情况下,这在HTML规范中有描述。如果你使用method="GET",那么浏览器将把所有在表单内的输入字段值添加到查询字符串中。如果你使用POST,它会添加到请求体中。 - Darin Dimitrov
是的,我使用 <form> 来进行测试。 谢谢你的建议! - DKF

4

您的问题似乎涉及HTML表单。在这种情况下,答案是:它们不支持PUT(浏览器仍然发送POST请求)。

如果不是关于HTML表单的问题:那么就看您自己了。例如,在XmlHttpRequest中,您可以同时使用两者。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接