类似 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
1
eason1874 2021-03-26 23:30:56 +08:00 1
负责路由功能的网址内容,要么都是 path,要么都是 query,一半 path 一半 query 很奇怪,处理起来也麻烦。
我喜欢用 path 定位内容,因为还有很多地方要用 query,比如 utm_ 统计系列。如果用 query 负责路由,那转发到后端的路由 key 还要专门从 query 里提取,如果需要 301 还要重写包装 query,太麻烦。用 path 就没有这些问题。 几百长度的 path 不至于有性能问题,有没有影响主要取决于你配置了多少匹配规则吧 |
2
eason1874 2021-03-26 23:34:22 +08:00
像 stackoverflow 这种 path 后面的文章名,主要考量应该是 URL 可读性,方便人类解读和搜索引擎解读,只定位资源的话有问题 ID 已经够用了
|
3
Tianao 2021-03-27 01:19:23 +08:00 via iPhone
CDN / 负载均衡 / 缓存等对他们的处理可能不一样(当然这都可以调)。
|
4
also24 2021-03-27 01:28:33 +08:00
有一个相关联的词叫做『伪静态』 ,当年可是必备功能。
(注:狭义上的伪静态,后缀一般是 .html 等,此处不纠结) 当年搜索引擎比较傻(也可以说聪明过头),大概率无视 query 参数,或者权重偏低,站长们为了有更好的收录效果,就要花心思配置好伪静态的规则。 |