URL结构:小写VS大写

Cod*_*ver 22 url lowercase uppercase

当我浏览一些网站时,只是触发我的想法,他们在网址中有大写和小写的组合 http://www.domain.com/Home/Article

现在据我所知,我们应该始终在url中使用小写,但不知道技术原因.我想向您学习专家,以清除这个概念为什么在url中使用小写.大写网址的优点和缺点是什么?

Joh*_*rak 37

域部分不区分大小写.GoOgLe.CoM作品.您可以根据需要添加大写字母,但通常没有理由这样做,并且如下面的评论中所述,可能会损害您的SEO排名.

路径部分是区分大小写,具体取决于服务器环境和服务器.通常,Windows机器不区分大小写,而Linux机器区分大小写.这意味着您应该坚持使用小写,否则您可能会引入一个真正难以捕获的错误(在开发服务器上无关紧要的情况).

查询字符串部分可以按原样用于服务器.您可以随意使用混合大小写,或丢弃大小写(toLowerCase(...)).这也意味着使用base64编码的密钥起作用.但是,您不能指望用户正确键入.

散列部分(称为"片段标识符")仅对客户端代码可用,而不对服务器可用.Javascript可以根据需要区分这些案例,浏览器也是如此.url#a将滚动到具有ID的元素a,但url#A不会.

  • 从搜索引擎优化的角度来看,你应该使用全部小写,谷歌将看到www.domain.com/Home/Article和www.domain.com/home/article作为两个不同的页面,这将稀释他们的搜索排名. (7认同)
  • “路径部分区分大小写或不区分大小写。”-始终区分大小写。不管哪个服务器软件,“ / Home”和“ / home”都是不同的URL。 (2认同)

Dir*_*ble 12

我将不得不在这方面不同意所有已有的智慧,所以我可能会被投票,但是:

如果您将所有混合大小写的网址重定向到正确的网址,它可以解决所有提到的问题.因此,这一论点似乎来自传统和偏好.URL的要点是具有用户友好的页面表示形式,如果您的网址对大写字母更友好,为什么不使用它呢?相比:

moviesforyoutowatch.com/batman-vii-the-dark-knight-whatevers MoviesForYouToWatch.com/Batman-VII-The-Dark-Knight-Whatevers

我发现混合案例版本更适合此目的.如果技术原因无法通过小写比较和重定向解决,请分享.

  • 混合案例的问题是社交媒体.如果你关心Facebook喜欢的话.Facebook共享网址区分大小写.如果由于某种原因,某人以小写形式分享了您的网址,那就是不同的网址.这就是为什么安全的方法是坚持所有小写而不是混合的情况.此外,用户不会查看URL.用户只需点击链接. (4认同)
  • 如果出于某种原因,有人以大写形式分享了您的网址,则这是一个不同的网址。这就是为什么安全的方法是坚持所有大写而不是混合大小写。 (2认同)
  • 如果由于某种原因,有人在 KEBABCASE 中分享了您的网址,那就是不同的网址。这就是为什么安全的方法是坚持所有 KEBABCASE 而不是混合大小写 (2认同)

a g*_*sky 5

我知道你问技术原因,但从UX的角度来看也值得考虑.

假设您有一个带大写字符的URL,并且为了论证,这已经在打印媒体上分发.当用户将该URL输入他们的浏览器时,他们很可能被迫匹配该情况(或者如果您的Web服务器区分大小写,则被强制匹配指定的情况)最终您正在给他们更多的工作要做,因为他们必须考虑案例.毕竟,他们不知道您的服务器是否区分大小写,并且他们过去可能经历过区分大小写的Web服务器的404.

如果您的服务器区分大小写并且您使用的是大小写混合的URL,那么您可以为用户提供更多错误输入URL的范围.此外,假设您有URL www.example.com/Contact.很容易混淆大写和小写"c"(特别是如果它是手写复制的话),如果用户忽略了这个并且使用了错误的情况,他们可能永远无法访问你的内容.

考虑到这一切,请考虑www.example.com/News/Articles/FreeIceCreamForAll.在键盘上并不太难但在移动设备上考虑这一点,输入会非常繁琐.

如果用户想要从地址栏中记下URL,则反之亦然.他们可能觉得他们需要匹配案例,最终给他们更多的工作要做,并增加错误的可能性.

总结; 保持网址小写.