6

你怎么看.. 干净的 URL 是后端还是前端的“纪律”

4

6 回答 6

6

如果我们从最终用户体验中谈论 url 是“干净的”,那么我将打破常规并说 url 通常不直观,它们永远不会,它们旨在是机器可读的。

url 的格式没有标准,因此当从一个站点导航到另一个站点时,人类永远不会记得如何仅通过记住 url 及其“友好语法”来访问资源。我们可以争论是否使用“?” 和 '&' 或 '/' 表示如何通过 url 识别资源;一种方法比另一种更好吗?没关系。在一天结束时,机器会解析它并发回结果。

我们应该停止自欺欺人,认为人们实际上是在输入这些东西,并意识到 uri 是针对机器的,而不是针对人的。

我还没有使用/记住超出地址的http://domain.com/部分的前几个字符的 uri,而且我已经使用网络很长时间了。这就是书签的用途。网站上的任何地方都没有说“在我们的 url 中更改此部分以查看'其他'资源”,因为 url 通常是无证和不透明的。

是的,让您的 uri 的 SEO 友好(即使它们会定期更改)但忘记整个“人类/清洁”资源标识符的事情,这是一个神秘的白日梦。

我同意 Vlion 的观点,即 url 应该提供一种独特的机制来为资源添加书签并返回它(与这些可恶的 web 2.0 ajax/silverlight/flash 创作中的一些不同),但书签永远不会让人类理解和理解。似乎有相当多的注意力和精力花在构思人类可以记住和输入的 url 策略上,这是浪费精力。让我们继续解决实际问题。

对不起,咆哮,但是在某些圈子里有很多与 url 相关的 web 2.0 废话,这完全是浪费时间。

于 2008-10-15T00:48:38.493 回答
5

答案是两者。

例如:

https://stackoverflow.com/questions/ 203278 /are-clean-urls-a-backend-or-a-frontend-thing

上面的数字是一个数据库id,一个后端的东西。砍掉漂亮的部分,它会进入同一页面。因此,“are-clean-urls-a-backend-or-a-frontend-thing”是前端事物的一部分。

于 2008-10-15T00:55:31.037 回答
5

现在 Firefox 的Awesome bar和 Google Chrome 的Omnibox地址栏可用于搜索浏览历史记录,这使得用户可以更轻松地搜索他们的历史记录以查找以前访问过的网站,因此拥有干净的 url 可以帮助用户更轻松地在他们的历史记录中找到网站.

确保页面有适当的标题很重要(因为两个浏览器都会搜索标题和 url),但是通过确保 url 中也有相关的关键字,当在地址栏中输入这些关键字时,url 将是更有可能在建议中显示得更高,因为关键字将在 url 和标题中匹配两次。

此外,一旦用户输入了网站的名称,他们将看到来自该网站的示例 url,然后他们可以将其用作缩小搜索范围的模板。因此,在 url 中为网站的不同部分或操作使用动词和名词将有助于用户将搜索范围缩小到他们感兴趣的网站部分,例如 stackoverflow 的/questions//tag/部分,或者docs.google.com/doc 末尾的“/doc”可用于查看Google docs* 上的文档页面。

由于 Firefox 和 Chrome 都会搜索输入到地址栏中的每个空格分隔的单词,因此可以认为搜索 url 不是完全人类可读的,而是允许用户实际阅读他们感兴趣的关键字从网址中,“噪音”的数量应保持在最低限度。


* 格式为 http://docs.google.com/Doc?id=gibberish

于 2008-10-15T23:54:39.350 回答
2

我的观点很简单:

  • 我用浏览器访问的每个地方(有各种边缘情况例外)都应该是可收藏的,前进/后退应该是可用的,并且不会破坏任何数据输入。
于 2008-10-15T00:36:26.817 回答
1

后端肯定。您的服务器必须负责路由到 URL 请求的资源。

于 2008-10-15T00:04:09.080 回答
0

我认为使用友好 URL 的主要原因是:

  • 易于链接/共享
  • 介绍
  • 搜索引擎优化

所以我认为这纯粹是客户端的乐趣。虽然它们在服务器上也很好,但它们并不是关键任务。

于 2008-10-15T00:07:34.597 回答