首页 > 解决方案 > HTTP 健康检查 - GET 或 HEAD 以及 200 或 204 响应?

问题描述

我想知道是否有一个通用约定:在为任何给定应用程序实施 HTTP 健康检查时,您对任何响应正文不感兴趣,而只对状态代码感兴趣,默认/预期端点会是什么样子?

标签: httphttp-status-codeshealth-monitoringhealth-check

解决方案


使用带有 204 的 GET 可能还支持具有相同状态代码的 HEAD

HEAD应该给出与 GET 相同的响应,但没有响应正文,因此您应该首先了解/定义 GET 响应在标头(和状态代码)方面给出的内容,然后,如果您愿意,您还可以支持 HEAD相同的端点,返回相同的状态,在本例中为 204。

请注意,如果GET employee/34回答 404 也HEAD必须回答相同的代码。这意味着必须做与 for 相同的工作GET:检查员工是否存在,设置状态等,但不能写任何响应。Tomcat 自动支持这一点,因为它用于HEAD请求一个从不写入“真实”响应的响应对象,因此可以使用相同的代码处理GET

对于检查,人们也可以考虑TRACE,但它会产生一个响应主体/输出反映您发送给它的内容,这是不同的,我还没有看到在任何地方实现。

TRACE 允许客户端查看在请求链的另一端接收到的内容,并将该数据用于测试或诊断信息。


推荐阅读