url在web-site的url-config中的可选尾部斜杠

时间:2013-08-05 21:22:43

标签: web-services http rest url web

如果我定义了像"^optional/slash/?&"这样的网址 - 那么它所绑定的网页都可以通过两个网址版本使用 - 使用斜杠和不使用 - 这样做会违反任何约定或标准吗?

3 个答案:

答案 0 :(得分:4)

重定向不是更合适吗?

如果我没记错的话,跟踪斜杠应该与 list 其他资源的资源一起使用。就像列出文件的目录,文章列表或类别查询一样(例如http://www.example.com/category/cakes/)。如果没有尾部斜杠,则URI应指向单个资源。像文件,文章或带参数的复杂查询(例如http://www.example.com/search?ingredients=strawberry&taste=good

只需使用 HTTP代码302 FOUND 将拼写错误重定向到正确的URI。

编辑:感谢AndreD指出, HTTP代码301永久移动更适合永久别名拼写错误。获取301代码后,搜索引擎和其他客户端应停止查询拼写错误的网址Google recommends using it for changing the URL of a page in their index

答案 1 :(得分:3)

根据RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
第6.2.4节。基于协议的规范化 -
“减少假阴性发生率的大量努力是    通常对网络蜘蛛来说具有成本效益。因此,他们甚至实施    URI比较中更积极的技术。例如,如果他们    观察一个诸如
的URI       http://example.com/data
   重定向到仅在尾部斜杠中不同的URI       http://example.com/data/
   他们可能会认为这两者在未来是等价的。这个    当等价明确时,这种技术才适用    由访问资源的结果和    他们的方案的解引用算法的常见约定(在此    例如,HTTP源服务器使用重定向来避免问题    相对参考)。“

我对这个陈述的解释是,使两个URI在功能上等效(例如通过.htaccess语句,重定向或类似)并不违反任何标准约定。根据RFC,网络蜘蛛准备在它们指向同一资源时对它们进行功能等效。

答案 2 :(得分:1)

不,您没有违反任何标准,您可以在网站的URL中使用此可选的尾部斜杠 但是你需要保持安全,因为服务器处理问题有不同的方式:

  • 有时候,搜索引擎优化并不重要:许多网络服务器只会使用301状态代码重定向到默认版本;
  • 某些网络服务器可能会返回404页面,用于非尾随斜杠地址=浪费链接汁液和工作;
  • 某些网络服务器可能会返回302重定向到正确的版本=浪费的链接汁和努力;
  • 某些网络服务器可能会为版本=浪费的链接汁和工作以及潜在的重复内容问题返回200响应。