The RFC状态:



但是,我一直无法确定符合该MUST的单个服务器。

我看到,鉴于存在各种代理,动态应用程序等,使用现代Web服务器很难满足该要求。

  • 从历史上讲,为什么这个要求有意义?
  • 是否有任何行为依赖于该行为,或者曾经发生过?用例是什么?
  • 是否有任何Web服务器“适本地”实现了http的这一方面?据我所知,IIS(至少在使用ASP.NET时)以及某些“RESTful” API在给出伪造方法时都返回404而不是405。

  • 此外,为什么服务器为BOGUS之类的方法返回405,而这些方法显然不是由服务器实现的,即使在提供文档,未代理或调用某些代码(cgi/etc)的情况下,服务器也应返回501?

    是否应该将HTTP的这些部分视为“调查”的,看是否有很少的服务器符合规范?

    实际上,对于大多数框架而言,正确地返回“允许”并不难。我所知道的所有框架都要求指定将要调用特定 Controller 的方法(通常默认为GET),并且代码可以轻松地向框架注册扩展方法以使其返回。

    到目前为止,证据似乎指向:a)没有人阅读规范,没有人知道此要求; b)没有人在乎此功能。

    最佳答案

    尝试直接回答问题:

  • 需求还是还是很有意义的,尤其是-正如Meryn's comment对HATEOAS API所说的。
  • a server is "An application program that accepts connections in order to service requests by sending back responses"以来,很容易说是-网络上有很多依赖它的应用程序。 ;)一个这样的用例是用405POST /resource/1/响应Allow: GET, HEAD, PUT, DELETE,以指示资源不是"factory resource"
  • 由于资源上允许的方法可能因应用程序逻辑而异,因此我们也应考虑应用程序服务器-正如您在问题中指出的那样。在这种情况下,是-例如django returns a proper Allow header with 405 responses
  • 10-05 20:52
    查看更多