2012-04-10 124 views
1

如果一个网站有在路径的资源:HTTP资源的父路径应该总是有资源吗?

/things/27 

有没有任何公布的标准表明路径:

/things 

应该也正因此,有一个资源?我已经与一位同事讨论了这个问题,并且来自Unix背景(并且记住了基于文件结构的HTTP服务器的旧错误),我倾向于回答是,隐含父资源并且父目录不应该't 404.

但是,我的同事相信,除非在网站某处有'/事物'的特定链接,否则就不需要这条路上的资源。

这个问题在RFC2616或其他HTTP标准文件中讨论过吗?有关于该主题的其他相关文件?

回答

1

如果您正在考虑在您的应用程序中实施超媒体,以便在给定位置为客户端提供一组可能的操作(与其他适当资源的URI进行链接),那么/things URI是发送GET这些链接。

以下是对/things资源的GET示例结果。这种方法的优点是,客户端可以被编码为在Links中查找Rel值,而不必“知道”如何构建URI。即使客户端确实需要构建到URI,它仍然可以在搜索链接href中用于搜索项目(如{searchTerm})的编码以替换为适当的值。

"Things": [ 
     { 
     "Description": "Resource level properties that make sense to put here", 
     "Count": 33, 
     "Links": [ 
      { 
       "Rel": "self", 
       "Method": "GET", 
       "Href": "http://yourDomain/things", 
       "Title": "Things resource" 
      } 
     ] 
     } 
    ], 
    "Navigation": [ 
     { 
     "Links": [ 
      { 
       "Rel": "GetItem", 
       "Method": "GET", 
       "Href": "http://yourDomain/things/{id}", 
       "Title": "Get a single item" 
      }, 
      { 
       "Rel": "Search", 
       "Method": "GET", 
       "Href": "http://yourDomain/things/?searchTerm={searchTerm}&itemsPerCall={itemsPerCall}", 
       "Title": "Search items per term" 
      } 
     ] 
     } 
    ]