当前位置:  开发笔记 > 前端 > 正文

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

如何解决《何时使用查询参数与矩阵参数?》经验,为你挑选了1个好方法。

查询参数: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> 小智..:

Matrix参数和查询参数之间的差异远不止于常规.

主要区别是:

带有查询参数的网址不会被中介/代理缓存(目前)

矩阵参数可以出现在路径的任何位置

计算相对uri是不同的

查询参数通常被滥用来添加新动词而不是在资源上使用现有方法

矩阵参数不是资源,它们是帮助引用难以在层次结构内表示的信息空间中的资源的方面

我已经在查询与矩阵参数中更详细地编写了更多参考文献


这个答案是3/5错了.相对URI的差异以及在路径中间嵌入参数的能力都是正确的.所有其他点都是错误的,因为矩阵参数一旦变得更受欢迎就会有完全相同的问题,因此它们在这方面与查询参数没有什么不同.
"具有查询参数的网址将不会被中介/代理缓存其响应".这不是纯粹的特定于实现的事情吗?我没有在HTTP标准中看到任何要求此行为的内容......
@Gill查询参数在定义可选条件时很有用矩阵参数是路径变量的补充信息.请参阅此URL查询:http:// localhost/services/api/movies?limit = 10&actor = true&name = true matrix:http:// localhost/services/api/movies/actor; name?limit = 10使用时更有意义作为查询的矩阵.此URL证明了bdargan的第5点.
@Gili他从未说过这种行为是由HTTP强制规定的.从他的文章:"中介(代理)不会在网址中缓存任何带有查询参数的网址.这是因为在网络的早期,他们不信任动态生成的网页中的缓存控制信息." 规范和现实世界的做法有时(或在大多数情况下)不同.
推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有