何时使用查询参数与矩阵参数?

Posted

技术标签:

【中文标题】何时使用查询参数与矩阵参数?【英文标题】:When to use query parameters versus matrix parameters? 【发布时间】:2010-09-28 22:55:11 【问题描述】:

查询参数http://example.com/apples?order=random&color=blue

矩阵参数http://example.com/apples;order=random;color=blue

    什么时候应该使用查询参数而不是矩阵参数? 为什么可以在 URL 中间使用矩阵参数,而不能在查询参数中使用?例如:http://example.com/apples;order=random;color=blue/2006/archive 如果矩阵参数是查询参数的超集,为什么不一直使用它们?

您可以在此处阅读有关矩阵参数的更多信息:http://www.w3.org/DesignIssues/MatrixURIs.html

【问题讨论】:

【参考方案1】:

矩阵参数和查询参数之间的区别不仅仅是约定。

主要区别在于:

带有查询参数的网址不会被中介/代理缓存其响应(目前) 矩阵参数可能出现在路径中的任何位置 计算相对 uri 不同 查询参数通常被滥用来添加新动词,而不是在资源上使用现有方法 矩阵参数不是资源,它们是有助于引用信息空间中难以在层次结构中表示的资源的方面

我已经把它写得更详细,并在 Query vs. Matrix Parameters

【讨论】:

“带有查询参数的 URL 不会被中介/代理缓存其响应”。这不是纯粹的实现特定的事情吗?我在 HTTP 标准中没有看到任何需要这种行为的东西...... 总结:如果你说的是真的,为什么不将所有查询参数迁移到矩阵参数? @Gili 他从未说过这种行为是 HTTP 强制要求的。来自他的文章:“中介(代理)不会在 url 中缓存任何带有查询参数的 url。这是因为在 Web 的早期,他们不信任来自动态生成的页面的 Cache 控制信息。”规格和实际实践有时(或在大多数情况下)不同。 这个答案错了​​ 3/5。相对 URI 的区别和在路径中间嵌入参数的能力是正确的。所有其他点都是错误的,因为矩阵参数一旦变得更流行就会出现完全相同的问题,因此在这方面它们与查询参数没有什么不同。 @Gill 查询参数在定义可选标准时很有用,矩阵参数是路径变量的补充信息。请参阅此 URL 查询:localhost/services/api/… 矩阵:localhost/services/api/movies/actor;name?limit=10 当用作矩阵而不是查询时更有意义。此 URL 证明了 bdargan 的第 5 点。

以上是关于何时使用查询参数与矩阵参数?的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV单应性矩阵发现参数估算方法详解

Tensorflow用于处理checkpoint中参数名称与矩阵数值的工具类

Tensorflow用于处理checkpoint中参数名称与矩阵数值的工具类

单应矩阵是啥?怎么用呀

1. 编写一个M函数,用于计算两个矩阵的积(两个矩阵作为输入参数,不能使用矩阵乘运算符)。

我应该如何以及何时将倾斜指针与 cuda API 一起使用?