带 html 结尾通常是 2 个需求:
1 SEO 的伪静态需求。早期 web 页面通常都是一串几十位的参数结尾的 url,被视为不利于 seo。
而实际上长 url 对搜索引擎收录并没有太大影响,主要是
/1?a=aaa&b=bbb
/1.html?a=aaa&b=bbb
/1.html?b=bbb&a=aaa&ref=baidu.com
这 3 个 url 会被认为是 3 个不同页面。
另外 SEO 人员认为语义化的 url 有助于 seo 排名。所以国内 SEO 站经常出现,
/chanpin/jianjie.html
这种过度 seo 的 url
2 伪装后端 web 框架信息和开发语言信息,伪装成 html 静态页面,防止垃圾程序员写出的代码被注入、webshell 攻击。
而且这种程序很多都有生成 html 的方案,前端加个 squid,代理起来也更统一,更不容易出错,也对运维人员更友好。
所以看到比较有历史的论坛程序和 cms 程序都是 /forum-1.html 这种,主要也照顾用户的惯性感受。
而 rails 团队的激进更新风格,注入、webshell 漏洞基本不会发生,一旦发现都会很快被修复。用 restful 的 url 也根本不会有对 SEO 的不友好,所以一般看不到 rails 程序的 url 有 format。
如果想要生成 html 结尾的 url,看路由一章就行,可以生成这种风格的 url,程序也能正常解析。
https://ruby-china.github.io/rails-guides/routing.html
只不过并没有什么必要。
而用 rails 开发“产品”的程序员层次通常比较高,合作的奇葩 SEO 人员也较少,也很不容易被 SEO 忽悠,对审美通常也有要求。所以 rails 开发的程序.html 结尾的 url 并不常见。