- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在关于人类可读 URL 的 now migrated question 中,我允许自己详细说明我的一个小爱好:
When I encounter URLs like
http://www.example.com/product/123/subpage/456.html
I always think that this is an attempt on creating meaningful hierarchical URLs which, however, is not entirely hierarchical. What I mean is, you should be able to slice off one level at a time. In the above, the URL has two violations on this principle:
/product/123
is one piece of information represented as two levels. It would be more correctly represented as/product:123
(or whatever delimiter you like)/subpage
is very likely not an entity in itself (i.e., you cannot go up one level from456.html
ashttp://www.example.com/product/123/subpage
is "nothing").Therefore, I find the following more correct:
http://www.example.com/product:123/456.html
Here, you can always navigate up one level at a time:
http://www.example.com/product:123/456.html
— The subpagehttp://www.example.com/product:123
— The product pagehttp://www.example.com/
— The rootFollowing the same philosophy, the following would make sense [and provide an additional link to the products listing]:
http://www.example.com/products/123/456.html
Where:
http://www.example.com/products/123/456.html
— The subpagehttp://www.example.com/products/123
— The product pagehttp://www.example.com/products
— The list of productshttp://www.example.com/
— The root
我采用这种方法的主要动机是,如果每个“路径元素”(由 /
分隔)都是独立的1,您将始终能够导航到“parent”,只需删除 URL 的最后一个元素。当我想转到父目录时,这就是我(有时)在我的文件资源管理器中所做的。按照相同的逻辑,用户(或搜索引擎/爬虫)可以做同样的事情。我认为非常聪明。
另一方面(这是问题的重要部分):虽然我永远无法阻止用户尝试访问他自己截断的 URL,我是不是错了断言(并尊重)搜索引擎可能会做同样的事情? 即,是否有理由期望没有搜索引擎(或实际上:谷歌)会尝试访问 http://www.example。 com/product/123/subpage
(上面第 2 点)? (还是我真的只考虑了人为因素?)
这不是关于个人偏好的问题。这是关于我对爬虫/索引器的期望以及在设计 URL 时我应该在多大程度上考虑非人类 URL 操作的技术问题。
此外,http://www.example.com/product/123/subpage/456.html
的结构“深度”为 4,其中 http://www。 example.com/products/123/456.html
只有 3。有传言说这个深度会影响搜索引擎排名。至少,有人告诉我。 (现在很明显,搜索引擎优化不是我最了解的。)这(还是?)是真的吗:层级深度(目录数量)会影响搜索排名吗?
那么,我的“直觉”在技术上是否合理,还是我应该把时间花在其他事情上?
示例:(几乎)正确地做事
Good ol' SO 几乎是正确的。恰当的例子:配置文件,例如 http://stackoverflow.com/users/52162
:
http://stackoverflow.com/users/52162
— 单一配置文件http://stackoverflow.com/users
— 用户列表http://stackoverflow.com/
— 根目录但是,配置文件的 canonical URL 实际上是 http://stackoverflow.com/users/52162/jensgram
这似乎是多余的(在两个层次结构级别上表示相同的端点)。备选方案:http://stackoverflow.com/users/52162-jensgram
(或任何其他一贯使用的分隔符)。
1) 包含不依赖于“更深”元素的完整信息。
最佳答案
“http://www.example.com/product:123/456.html”这种分层 url 与“http://www.example.com/product/123/subpage”一样无用,因为当用户看到您的网址时,他们不关心您数据库中的标识符,他们想要有意义的路径。这就是 StackOverflow 将问题标题放入 url 的原因:“http://stackoverflow.com/questions/4017365/human-readable-urls-preferably-hierarchical-too”。
Google 建议不要替换像“http://www.example.com/?product=123&page=456”这样的常用查询,因为当每个站点都开发自己的方案时,抓取工具不知道每个部分的含义,重要与否。 Google 发明了复杂的机制来查找重要的参数并忽略不重要的参数,这意味着您将获得更多页面到索引中并且重复的页面会更少。但是,当 Web 开发人员发明自己的方案时,这些算法往往会失败。
如果您同时关心用户和爬虫,您应该改用这样的网址:
此外,搜索引擎对 url 中包含关键字的页面给予更高的评级。
关于url - 人类可读的 URL : preferably hierarchical too?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4017365/
假设我拥有域 mydomain.com,并且我在服务器上有一个 Web 应用程序,网址为 http://99.99.99.99:1234/MyApplication/startpage.somethi
我正在尝试通过以下方式更新已解析的 URL: u, _ := url.Parse(s) if u.Scheme == "" { u.Scheme = "https" } if u.Path =
如何将 www.somesite.com/api(.*) 映射到 www.somesite.com/$1:9000? (我需要将/api 映射到运行 @ 端口 9000 的 Play 框架应用程序)
我有一个资源结构,如航类 > 座位 > 预订,所以预订属于某个航类的某个座位: http://example.com/jdf_3prGPS4/1/jMBDy46PbNc
我想知道以下网址是否有效。 路径中的点,在主机之后: http://www.example.com/v.b.w..com 主机中的点,作为子域的一部分: http://v.b.w..co.manufa
我有两个域 - crmpicco.co.uk 和 ayrshireminis.com - 如果我浏览到: www.crmpicco.co.uk/mini/new我希望能够重定向到 www.ayrshi
我正在尝试使用 URL 重写和应用程序请求路由来重写到外部 URL。我设置了以下规则: 在规则中,“patternToMatch”是我试
我已经安装了带有 SharePoint 和 Url Rewrite 模块的 IIS 7.0。 是以下句子还是我配置错误才能看到这个结果? Url Redirect 可以将 url 重定向到任何内部(在
我想知道,为了获得良好的 SEO,您必须在 URL 中使用自然语言。您知道字符中单词或短语的最大大小吗?例如: www.me.com/this-is-a-really-long-url.htm 我问这
有人知道在 SEO 友好 URL 中使用逗号有什么问题吗?我正在使用一些在其 SEO 友好 URL 中使用大量逗号的软件;但我 100% 肯定我见过一些程序/平台无法正确识别 URL 并在第一个逗号后
我有一个网站,我正在为所有链接使用干净的 URL。我想知道对于简短的基本 URL 与较长的描述性 URL 有何看法。 例如,如果我的网站是关于 Georgia Bulldog 足球新闻的,那么哪个网站
我正在编写一个类似于 tinyurl 的 URL 缩短器,我想知道如何跟踪已经使用我的服务缩短的 URL?例如,tinyurl 为相同的长 URL 生成相同的小 URL,而不管是谁创建的。如
我是 magento 的新手。我正在开发一个模块。为此,我有一些要显示链接的 css 和 js 文件。我目前有类似 的链接 getSkinUrl('module_tryouts/css/jquery.
我想基于 HTTP_URL 重写 URL 以重定向到不同的端口,同时保留其余的 URL 和查询字符串(如果指定)。例如, http://host/john/page.aspx 应该重定向到 http:
我遇到了以下问题: 我的 Grails (2.2.0) 应用程序具有以下 URL 映射: "/api/clientQuote/$labcode/$cliCode/$quoCode"(controlle
我有一个很长的 URL,它不适合 URL 字段。它一直在修剪。该怎么办?有没有办法增加 SharePoint 2010 中的 URL 字段字符限制? 或者解决方法来容纳长 URL。例如,以下 URL
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
我们从客户以前的开发人员那里继承了相当多的 Google Apps 脚本项目。 Apps 脚本通过嵌入式小部件部署在 Google 网站 (sites.google.com) 的各个页面上。每当我们需
我正在编写一些文档,但遇到了一些词汇问题: http://www.example.com/en/public/img/logo.gif 被称为“绝对”网址,对吗? ../../public/img/l
我们从客户以前的开发人员那里继承了相当多的 Google Apps 脚本项目。 Apps 脚本通过嵌入式小部件部署在 Google 网站 (sites.google.com) 的各个页面上。每当我们需
我是一名优秀的程序员,十分优秀!