代码之家  ›  专栏  ›  技术社区  ›  mjs

*.local服务URL是RESTful吗?

  •  1
  • mjs  · 技术社区  · 14 年前

    http://api.local/orders/333 ,其中 api.local 不会解析为每个人的主机,甚至可能不会解析为同一个主机(如果已解析)(例如,您可以指出 api.本地 在开发环境中的一台主机上,在实时环境中的另一台主机上。)

    1. 严格来说,URL的主机名是 api.本地 127.0.0.1 )安静?
    2. 有什么好的选择吗(哪个更好: http://flickr/ http://flickr.local/ http://flickr.api ?)
    4 回复  |  直到 14 年前
        1
  •  0
  •   Jörg W Mittag    14 年前

    URL不是RESTful。应用程序是RESTful(或者不是),但是url不是。事实上,在RESTful应用程序中,url是完全不相关的,因此您担心url是否是RESTful的事实表明您的应用程序不是。但这与网址无关。

        2
  •  0
  •   Dean Harding    14 年前

    URL代表“ “资源定位器”,而不是“资源定位器” 通用 资源定位器”。URL中并没有暗示它应该是“全球”或“普遍”可访问的。因此,我认为*.local对本地测试没有问题(对于我来说,拥有一个可以从 在任何地方 ).

        3
  •  0
  •   Brian R. Bondy    14 年前

    api.local 服务器包含或不包含他要访问的资源。

    如果您的REST服务器想要拥有一个通用的可访问资源,那么您应该以resource not found作为响应,除非它请求正确的URL。

    也就是说,有许多不同的url引用同一个资源并不是最好的设计。所以使用 但最好是在 api.本地 api 参考不同的资源。

        4
  •  0
  •   Darrel Miller    14 年前

    “只有一个URL应该返回一个资源”背后的一个主要实际问题是对缓存的影响。 如果同一个资源有两个url,那么最终在缓存中会有两个副本。如果对其中一个执行PUT,那么缓存应该使这两个都失效,但它不知道这两个副本之间的关系。

    http://TMServer/Suppliers

    如果我的一个客户要尝试与另一家公司共享一个URL,那么该URL需要扩展到如下内容:, http://TMServer.company.com/Suppliers . 这就成为了一个普遍唯一的URI。

    通过使用DNS别名,我可以很容易地使用我的.hosts文件重定向TMServer指向的测试位置,并且通过在DNS服务器中添加条目,我可以向网络上的所有用户广播服务的可用性。