连字符、下划线或驼峰命名法作为 URI 中的单词分隔符?

2024-01-10

我正在为 Intranet 应用程序设计一个基于 HTTP 的 API。我意识到这在宏伟的计划中只是一个很小的问题,但是:我应该使用连字符、下划线或驼峰命名法来分隔 URI 中的单词吗?


以下是我的初步想法:

骆驼香烟盒

  • 如果服务器不区分大小写,可能会出现问题
  • 似乎在查询字符串键中有相当广泛的用途(http://api.example.com?**searchQuery**=...),但不在其他 URI 部分

Hyphen

  • 比其他选择更美观
  • 似乎广泛用于 URI 的路径部分
  • 从未在野外见过带连字符的查询字符串键
  • possibly对 SEO 更好(这可能是一个神话)

下划线

  • 编程语言可能更容易处理
  • 一些流行的 API(Facebook、Netflix、StackExchange 等)在 URI 的所有部分中都使用下划线。

我倾向于一切都使用下划线。大多数大公司都在使用它们的事实令人信服(参见https://stackoverflow.com/a/608458/360570 https://stackoverflow.com/a/608458/360570).


您应该在可爬网 Web 应用程序 URL 中使用连字符。为什么?因为连字符分隔单词(以便搜索引擎可以索引各个单词),并且连字符不是单词字符 http://msdn.microsoft.com/en-us/library/20bw873z.aspx#WordCharacter。下划线是一个单词字符,这意味着它应该被视为单词的一部分。

在 Chrome 中双击:camelCase
在 Chrome 中双击:under_score
在 Chrome 中双击:连字符

看看 Chrome(我听说 Google 也开发了一款搜索引擎)如何只认为其中一个是两个单词?

camelCase and underscore also require the user to use the shift key, whereas hyphenated does not.

因此,如果您应该在可爬行的 Web 应用程序中使用连字符,为什么还要在 Intranet 应用程序中做一些不同的事情呢?少了一件要记住的事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

连字符、下划线或驼峰命名法作为 URI 中的单词分隔符? 的相关文章

随机推荐