1

让我们假设一个有评论的博客,并且用户查看了一篇有很多评论的博客文章。博客文章的一个不错的 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

4

2 回答 2

1

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

选项 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

于 2012-08-13T01:38:03.517 回答
0

如果评论页面是一个资源,即可以独立寻址的东西,显然它打算在这里,那么第一个 URL 就可以了。不过,我会将其设为“http://www.example.com/blog/174/how_to_slug_urls/commentpages/4”。注意's'。如“http://stackoverflow.com/questions/11927056”。

并且博客文章的评论显然从属于博客文章本身,因此与您的上一个示例相反,层次结构保留在该 url 中。

于 2012-08-13T01:24:07.770 回答