Web服务和HTTP协议:404

时间:2014-05-22 00:35:22

标签: web-services http rest tomcat http-status-code-404

我正在实现一些基于REST的Web服务 - 到目前为止它运行得非常好。我一直在遵循Vinay Sahni(http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api)的建议。

我意识到使用“404”来指示何时找不到服务中的实体的潜在问题。这是基于劫持HTTP协议的404错误响应的想法 - 因为它已经存在并可用。

如果Web服务出现问题 - 即。 Tomcat重新部署失败...调用Web服务将导致404,无论实体是否实际存在,或者URL实际上不可用。

出于这个原因,使用404是不理想的?我觉得那里有人遇到了同样的潜在问题。

1 个答案:

答案 0 :(得分:0)

如果找不到请求的实体,则应使用404 Not Found。期。如果您的服务器部署失败,客户端应该收到5xx错误,而不是4xx错误。

您不应该围绕基础设施缺点设计应用程序。如果你需要规避这些缺点,你应该以与你的应用程序分离的方式来做,比如中间件,代理等。