通过路由传参 example.com/path/abc 和 kv 传参 example.com/path?key=abc 有什么实质的区别吗?

2021-03-26 23:11:49 +08:00
 lisisi

类似 stackoverflow 这样的网站,喜欢把文章标题直接放在 path 路由里面。如果换成 kv 传参,除了 url 看上去有区别,有什么实际的区别吗?比如,服务端匹配很长的 path 会有性能问题吗?用 kv 传参,可以把 path 精简。

stackoverflow.com/questions/485/maintain-an-open-connection-for-each-client-does-this-scale

对比

stackoverflow.com/questions/485?subject=maintain-an-open-connection-for-each-client-does-this-scale
1000 次点击
所在节点    问与答
4 条回复
eason1874
2021-03-26 23:30:56 +08:00
负责路由功能的网址内容,要么都是 path,要么都是 query,一半 path 一半 query 很奇怪,处理起来也麻烦。

我喜欢用 path 定位内容,因为还有很多地方要用 query,比如 utm_ 统计系列。如果用 query 负责路由,那转发到后端的路由 key 还要专门从 query 里提取,如果需要 301 还要重写包装 query,太麻烦。用 path 就没有这些问题。

几百长度的 path 不至于有性能问题,有没有影响主要取决于你配置了多少匹配规则吧
eason1874
2021-03-26 23:34:22 +08:00
像 stackoverflow 这种 path 后面的文章名,主要考量应该是 URL 可读性,方便人类解读和搜索引擎解读,只定位资源的话有问题 ID 已经够用了
Tianao
2021-03-27 01:19:23 +08:00
CDN / 负载均衡 / 缓存等对他们的处理可能不一样(当然这都可以调)。
also24
2021-03-27 01:28:33 +08:00
有一个相关联的词叫做『伪静态』 ,当年可是必备功能。
(注:狭义上的伪静态,后缀一般是 .html 等,此处不纠结)


当年搜索引擎比较傻(也可以说聪明过头),大概率无视 query 参数,或者权重偏低,站长们为了有更好的收录效果,就要花心思配置好伪静态的规则。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/765567

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX