我正在阅读 HTTP - The Definitive Guide 这本书,从中我得到了 URL 的一般格式:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
<params>
部分说,
The path component for HTTP URLs can be broken into path segments. Each segment can have its own params. For example:
http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true
在我看来,路径参数也可以用来查询查询字符串等资源,但为什么很少见?
而我是一名 Rails 开发人员,我还没有看到它在 Rails 中的用法或规范。 Rails 不支持吗?
最佳答案
你问了几个问题
为什么我们看不到;params=value
?
因为使用?=&
的查询参数得到了广泛的支持,如PHP
、.net
、ruby
等。具有方便的功能,例如 $_GET[]
。
虽然由 ;
或 ,
分隔的参数没有这些方便的辅助函数。您确实会在 Rest
api 中遇到它们,它们在 htaccess
或 Controller 中用于获取相关参数。
Ruby 是否支持用 ;
分隔的参数?
获取当前 url 后,您可以通过简单的正则表达式调用获取所有参数。这也是它们在 htaccess
文件中使用的原因,因为它们很容易被正则表达式(这是一个词吗?)。
两种参数传递结构都是有效的并且可以使用,一个比另一个更常用的唯一明确原因是因为不同语言的偏好和支持。
关于ruby-on-rails - 为什么参数比 HTTP URL 中的查询字符串更不常用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32880335/