首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP健康检查-得到或头和200或204的反应?

HTTP健康检查-得到或头和200或204的反应?
EN

Stack Overflow用户
提问于 2020-12-11 21:55:10
回答 2查看 2.3K关注 0票数 1

我想知道这是否有一个通用的约定:当对任何给定的应用程序实现HTTP健康检查时,如果您对任何响应体不感兴趣,而只对状态代码感兴趣,那么默认/预期端点会是什么样的呢?

  • 使用HEAD请求-并返回200或204状态代码(哪一个?)
  • 使用带有204的GET
  • 还有别的吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-28 08:39:29

据我的经验,人们大多使用GET和200。健康检查不会回应太多的内容,所以没有使用头部请求。但是,大多数情况下,有一个专门的健康检查URL。

今天的云系统经常使用Kubernetes或OpenShift。它们似乎使用了GET请求。我想他们可能想要一个200的ish响应代码,所以200-299

health.html

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

另一个示例,Drupal将HTTP响应代码定义为200

url

在甲骨文的基础设施即服务文档中,您可以在GETHEAD请求之间进行选择,但默认情况是HEAD

https://docs.oracle.com/en-us/iaas/api/#/en/healthchecks/20180501/HttpMonitor/

票数 1
EN

Stack Overflow用户

发布于 2020-12-22 23:14:44

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

应该提供与GET相同的响应,但没有响应主体,因此您首先应该知道/定义GET响应根据头(和状态代码)发出的内容,然后,如果需要,还可以在同一个端点上支持HEAD,返回相同的状态,在本例中是204。

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65259144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档