ruby-on-rails - 为什么参数比 HTTP URL 中的查询字符串更不常用?

标签 ruby-on-rails http url

我正在阅读 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.netruby等。具有方便的功能,例如 $_GET[]

虽然由 ;, 分隔的参数没有这些方便的辅助函数。您确实会在 Rest api 中遇到它们,它们在 htaccess 或 Controller 中用于获取相关参数。

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

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


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

关于ruby-on-rails - 为什么参数比 HTTP URL 中的查询字符串更不常用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32880335/

相关文章:

mysql - 数据库实现以保存用户 Activity 信息

http - 是否可以在不使用 301 重定向的情况下告诉网络爬虫两个域指向同一个地方?

java - 如何从 jar : URL containing a "!" and a specific file in the jar? 中获取 jar URL

swift - EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) xcode 和 swift 中的 URL webview 错误

ruby-on-rails - rails : Only allow admin user to create new users in Rails with Devise (No external modules)

ruby-on-rails - Rails 4 使用多个 URL 参数测试嵌套资源

ruby-on-rails - 与 Ruby 中的 Time.now.advance() 相反

angular - 将 http 响应映射到 Angular 7 中的接口(interface)

http - 在 HTTP header 中表示真值和假值的标准格式是什么?

javascript - 手动创建 Liferay 登录 url