http - 在 'slug-url' 中传递附加参数的正确方法是什么

标签 http web-applications

让我们假设一个有评论的博客,并且用户查看了一篇有很多评论的博文。博客文章的一个不错的 URL 可能如下所示:

http://www.example.com/blog/174/how_to_slug_urls

174 是博客文章的数据库 ID。由于一页上显示的评论太多,评论会被拆分成几页。

是否有一些通用的方法来传递评论页面参数?我是将它附加在 slug 之前,还是在 slug 之后,按 POST 发送,还是有其他一些完整的方式?

我能想到的例子:

http://www.example.com/blog/174/how_to_slug_urls/commentpage/4
http://www.example.com/blog/174/how_to_slug_urls?commentpage=4
http://www.example.com/blog/174/how_to_slug_urls#commentpage=4   // maybe parsing with JS?
http://www.example.com/blog/commentpage/4/174/how_to_slug_urls

编辑: 附加问题:如何处理未连接到当前数据的参数?例如refreshIntervall=30s

最佳答案

在我看来,在这种情况下有两种可行的选择。

选项 1:仅使用查询字符串。(即 http://www.example.com/blog/article/174/how_to_slug_urls?commentpage=4)

请注意,我添加了 article/。这不是必需的,但我觉得以更易读的方式呈现 URI。

当您觉得评论是同一资源(博客文章)的一部分但需要单独的 URI 仅用于分页时,我建议使用查询字符串。

选项 2:使用完全不同的 URI。(即 http://www.example.com/blog/comments/174/how_to_slug_urls?page=4)

请注意,我仍然使用查询字符串来区分页面。

视觉上不同的 URI 清楚地表明评论是一个单独的资源。这可能不是您对评论的看法,但这是我对它们的看法。

比较:

http://www.example.com/blog/article/174/how_to_slug_urls?commentpage=4

http://www.example.com/blog/comments/174/how_to_slug_urls?page=4

处理其他参数:只需使用查询字符串。

我们似乎痴迷于不在我们的 URI 中使用 ?。有人会说他们不漂亮;我会反驳说外表并不是一切。如果你真的想避免它,下面的 URI 是 . . .可以接受,我猜:

http://www.example.com/blog/article/174/how_to_slug_urls/4

http://www.example.com/blog/comments/174/how_to_slug_urls/4

关于http - 在 'slug-url' 中传递附加参数的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927056/

相关文章:

注入(inject) URL 的 Javascript

带有 JSON 数据的 Javascript HTTP POST

templates - 用于网络应用的 HTML5/CSS3 模板

perl - 如何在重负载下对 IO 绑定(bind)的 Perl Web 应用程序进行基准测试和分析?

eclipse - 不能从 Tomcat 上的 eclipse 运行任何项目

http - Bearer (JWT) 身份验证方案的身份验证信息 header

http - 通过 http 获取目录列表

javascript - 使用 JSON 作为数据库的最佳方式?

javascript - 如何将我所有的 live() 函数替换为 on() 函数

http - 发送请求时如何使用uTLS连接?