为什么params不常用于HTTP URL中的查询字符串?

时间:2015-10-01 05:55:46

标签: ruby-on-rails http url

我正在阅读这本书,HTTP - The Definitive Guide,我从中获得了URL通用格式:

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

<params>部分说,

  

HTTP URL的路径组件可以分解为路径段。每个细分都可以拥有自己的参数。例如:

     

http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true

在我看来,路径参数也可用于查询资源,如查询字符串,但为什么它几乎看不到?

我是Rails开发人员,我还没有在Rails中看到它的用法或规范。 Rails不支持吗?

1 个答案:

答案 0 :(得分:0)

你问几个问题

为什么我们看不到;params=value
因为使用?=&的查询参数得到广泛支持,例如PHP.netruby等,并具有$_GET[]等便捷功能。

虽然由;,分隔的params没有这些方便的帮助函数。您确实在Rest api处遇到它们,在htaccess或控制器中使用它们来获取相关参数。

Ruby是否支持用;分隔的参数?

获得当前网址后,您可以通过简单的正则表达式调用获取所有参数。这也是htaccess文件中使用它们的原因,因为它们很容易被正则表达(这是一个单词?)。

两个参数传递结构都是有效的并且可以使用,唯一明确的原因是为什么一个比另一个更频繁使用是因为在不同语言中的偏好和支持。