将表单 POST 与查询字符串组合是否有效?

2023-12-21

例如,我知道在大多数 MVC 框架中,查询字符串参数和表单参数都可供处理代码使用,并且通常合并为一组参数(通常 POST 优先)。但是,根据 HTTP 规范,这样做是否有效?假设您要发布到:

http://1.2.3.4/MyApplication/Books?bookCode=1234

...并提交一些更新,例如更改图书代码为 1234 的图书名称,您会希望处理代码同时采用bookCode考虑查询字符串参数,以及带有更新的书籍信息的 POSTed 表单参数。这是有效的吗?这是个好主意吗?


根据 HTTP 规范它有效吗?

Yes http://www.w3.org/Protocols/rfc2616/rfc2616.html.

这是一般情况这些规范中定义的 URL 语法 http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2

http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

http_URL 的形式没有额外的限制。特别是,http方法 http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9(即 POST、GET、PUT、HEAD...)的使用不会对 http URL 格式添加任何限制。

使用 GET 方法时:服务器可以认为请求正文为空。

使用 POST 方法时:服务器必须处理请求正文。

这是不是一个好主意 ?

这取决于你需要做什么。我建议你这个link http://www.w3.org/2001/tag/doc/whenToUseGet.html解释 GET 和 POST 背后的想法。

我认为在某些情况下,总是有一些参数(例如用户语言)会很方便query网址的一部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将表单 POST 与查询字符串组合是否有效? 的相关文章

随机推荐