我知道在大多数MVC框架中,例如,查询字符串参数和表单参数都可用于处理代码,并且通常合并为一组参数(通常优先使用POST)。但是,根据HTTP规范进行是否有效?假设你要发帖到:
http://1.2.3.4/MyApplication/Books?bookCode=1234
...并提交一些更新,例如更改为图书名称为1234的图书名称,您希望处理代码同时考虑bookCode
查询字符串参数和POSTed表单具有更新的书籍信息的参数。这是有效的,这是一个好主意吗?
答案 0 :(得分:18)
根据HTTP规范有效吗?
以下是一般syntax of URL as defined in those specs
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
http_URL的形式没有其他限制。特别是,使用的http method(即POST,GET,PUT,HEAD,...)不会对http URL格式添加任何限制。
使用GET方法时:服务器可以认为请求正文是空的。
使用POST方法时:服务器必须处理请求正文。
这是个好主意吗?
这取决于你需要做什么。我建议你link解释GET和POST背后的想法。
我可以认为在某些情况下总是有一些参数可以很方便,比如网址的查询部分中的用户语言。
答案 1 :(得分:1)
我知道在大多数MVC框架中,例如,查询字符串参数和表单参数都将可用于处理代码,并且通常合并为一组参数(通常优先使用POST)。 / em>
任何有能力的框架都应该支持这一点。
这是否有效
是。 HTTP中的POST方法不对所使用的URI施加任何限制。
这是一个好主意吗?
显然不是,如果你要使用的框架仍然是线索挑战。否则,这取决于你想要完成什么。主要用例(将数据子集重定向到新的POST目标)已经irretrievably bollixed by browser implementations(所有这些都机械地跟随Mosaic / Netscape的主导),因此这里的考虑主要是理论上的。