diff --git a/CHANGELOG.md b/CHANGELOG.md index 96a01635d5..c85977b6f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,9 @@ release. ([#413](https://github.com/open-telemetry/semantic-conventions/pull/413)) - Clarify HTTP server definitions and `server.address|port` notes. ([#423](https://github.com/open-telemetry/semantic-conventions/pull/423)) +- Change the precedence between `:authority` and `Host` headers when populating + `server.address` and `server.port` attributes. + ([#455](https://github.com/open-telemetry/semantic-conventions/pull/455)) ## v1.22.0 (2023-10-12) diff --git a/docs/http/http-spans.md b/docs/http/http-spans.md index d14ea4496a..f11fae9ee9 100644 --- a/docs/http/http-spans.md +++ b/docs/http/http-spans.md @@ -312,8 +312,8 @@ In the context of HTTP server, `server.address` and `server.port` attributes cap HTTP server instrumentations SHOULD do the best effort when populating `server.address` and `server.port` attributes and SHOULD determine them by using the first of the following that applies: * The original host which may be passed by the reverse proxy in the [`Forwarded#host`][Forwarded], [`X-Forwarded-Host`][X-Forwarded-Host], or a similar header. -* The [`Host`][Host header] header. * The [`:authority`][HTTP/2 authority] pseudo-header in case of HTTP/2 or HTTP/3 +* The [`Host`][Host header] header. > **Note**: The `Host` and `:authority` headers contain host and port number of the server. The same applies to the `host` identifier of `Forwarded` header or the `X-Forwarded-Host` header. Instrumentations SHOULD populate both `server.address` and `server.port` attributes by parsing the value of corresponding header.