【问题标题】:RESTful way to return server hostname and port返回服务器主机名和端口的 RESTful 方式
【发布时间】:2015-07-20 19:47:18
【问题描述】:

想象一下,我有一个部署在多个主机上的 RESTful 服务,并且不一定使用相同的端口号。在单独的主机上有一个负载均衡器/代理/网关。我希望将主机名和 IP 地址作为 http 响应的一部分返回,以获取有关已处理我的请求的实际物理服务器(不是负载均衡器)的诊断信息。返回此类信息的最 RESTful 方式是什么?是否有任何特殊的 http 标头应该用于此目的,或者最好将此数据作为响应正文中诊断信息部分的一部分返回(例如 json)?

【问题讨论】:

    标签: rest http header server hostname


    【解决方案1】:

    听起来 HTTP 标头“位置”可能很有用:

    https://en.wikipedia.org/wiki/HTTP_location

    【讨论】:

    • 这篇文章说它应该只用于重定向,或者用于新创建的资源(通常不使用 GET http 动词执行)。这两个都不是我的情况,因为我想发送简单的 GET 请求。
    • 好的。听起来您需要的是自定义 HTTP 标头,而不是将服务器信息添加到发送给客户端的响应中。除非客户端下一个请求需要服务器信息?
    • 不,它不应该用于下一个请求。此信息的目的纯粹是诊断,因此它应该仅用于故障排除。我对添加自定义标头的担忧是它不适合基本的 REST 原则之一——统一接口。客户端将没有关于此标头语义的信息,因为它没有被广泛使用,而响应正文中的专用 json 部分可以通过 HATEOAS 很好地定义和自我描述。
    • 那么只记录请求怎么样?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多