draft-ietf-httpbis-alias-proxy-status-03.txt | draft-ietf-httpbis-alias-proxy-status-latest.txt | |||
---|---|---|---|---|
HTTP Working Group T. Pauly | HTTP Working Group T. Pauly | |||
Internet-Draft Apple, Inc. | Internet-Draft Apple, Inc. | |||
Intended status: Standards Track May 10, 2023 | Intended status: Standards Track May 26, 2023 | |||
Expires: November 11, 2023 | Expires: November 27, 2023 | |||
HTTP Proxy-Status Parameter for Next-Hop Aliases | HTTP Proxy-Status Parameter for Next-Hop Aliases | |||
draft-ietf-httpbis-alias-proxy-status-03 | draft-ietf-httpbis-alias-proxy-status-latest | |||
Abstract | Abstract | |||
This document defines an HTTP Proxy-Status Parameter that contains a | This document defines the "next-hop-aliases" HTTP Proxy-Status | |||
list of aliases and canonical names received over DNS when | Parameter. This parameter carries the list of aliases and canonical | |||
establishing a connection to the next hop. | names a proxy received during DNS resolution as part establishing a | |||
connection to the next hop. | ||||
About This Document | About This Document | |||
This note is to be removed before publishing as an RFC. | This note is to be removed before publishing as an RFC. | |||
Status information for this document may be found at | Status information for this document may be found at | |||
<https://datatracker.ietf.org/doc/draft-ietf-httpbis-alias-proxy- | <https://datatracker.ietf.org/doc/draft-ietf-httpbis-alias-proxy- | |||
status/>. | status/>. | |||
Discussion of this document takes place on the HTTP Working Group | Discussion of this document takes place on the HTTP Working Group | |||
skipping to change at page 1, line 48 ¶ | skipping to change at page 2, line 4 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on November 27, 2023. | ||||
This Internet-Draft will expire on November 11, 2023. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 3, line 24 ¶ | skipping to change at page 3, line 27 ¶ | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2. next-hop-aliases Parameter | 2. next-hop-aliases Parameter | |||
The "next-hop-aliases" parameter's value is a String | The "next-hop-aliases" parameter's value is a String | |||
[STRUCTURED-FIELDS] that contains one or more DNS names in a comma- | [STRUCTURED-FIELDS] that contains one or more DNS names in a comma- | |||
separated list. The items in the list include all alias names an | separated list. The items in the list include all alias names and | |||
canonical names received in CNAME records [DNS] during the course of | canonical names received in CNAME records [DNS] during the course of | |||
resolving the next hop's hostname using DNS, not including the | resolving the next hop's hostname using DNS, not including the | |||
original requested hostname itself. The names SHOULD appear in the | original requested hostname itself. The names SHOULD appear in the | |||
order in which they were received in DNS. If there are multiple | order in which they were received in DNS. If there are multiple | |||
CNAME records in the chain, the first name in the "next-hop-aliases" | CNAME records in the chain, the first name in the "next-hop-aliases" | |||
list would be the value in the CNAME record for the original | list would be the value in the CNAME record for the original | |||
hostname, and the final name in the "next-hop-aliases" list would be | hostname, and the final name in the "next-hop-aliases" list would be | |||
the name that ultimately resolved to one or more addresses. | the name that ultimately resolved to one or more addresses. | |||
The list of DNS names in "next-hop-aliases" uses a comma (",") as a | The list of DNS names in "next-hop-aliases" uses a comma (",") as a | |||
skipping to change at page 4, line 25 ¶ | skipping to change at page 4, line 25 ¶ | |||
use the connection established through the proxy, but need to | use the connection established through the proxy, but need to | |||
gracefully handle situations in which this parameter is not present. | gracefully handle situations in which this parameter is not present. | |||
The proxy MAY send the empty string ("") as the value of "next-hop- | The proxy MAY send the empty string ("") as the value of "next-hop- | |||
aliases" to indicate that no CNAME records were encountered when | aliases" to indicate that no CNAME records were encountered when | |||
resolving the next hop's name. | resolving the next hop's name. | |||
2.1. Encoding special characters | 2.1. Encoding special characters | |||
DNS names commonly just contain alphanumeric characters and hyphens | DNS names commonly just contain alphanumeric characters and hyphens | |||
("-"), although they are allowed to contain any character [RFC1035], | ("-"), although they are allowed to contain any character ([RFC1035], | |||
Section 3.1, including a comma. To prevent commas or other special | Section 3.1), including a comma. To prevent commas or other special | |||
characters in names leading to incorrect parsing, any characters that | characters in names leading to incorrect parsing, any characters that | |||
appear in names in this list that do not belong to the set of URI | appear in names in this list that do not belong to the set of URI | |||
Unreserved Characters [RFC3986], Section 2.3 MUST be percent-encoded | Unreserved Characters ([RFC3986], Section 2.3) MUST be percent- | |||
as defined in [RFC3986], Section 2.1. | encoded as defined in [RFC3986], Section 2.1. | |||
For example, consider the DNS name "name,with,commas.example.com". | For example, consider the DNS name "name,with,commas.example.com". | |||
This name would be encoded within a "next-hop-aliases" parameter as | This name would be encoded within a "next-hop-aliases" parameter as | |||
follows: | follows: | |||
Proxy-Status: proxy.example.net; next-hop=2001:db8::1; | Proxy-Status: proxy.example.net; next-hop=2001:db8::1; | |||
next-hop-aliases="name%2Cwith%2Ccommas.example.com,service1.example-cdn.com" | next-hop-aliases="name%2Cwith%2Ccommas.example.com,service1.example-cdn.com" | |||
It is also possible for a DNS name to include a period character | It is also possible for a DNS name to include a period character | |||
(".") within a label, instead of as a label separator. In this case, | (".") within a label, instead of as a label separator. In this case, | |||
End of changes. 7 change blocks. | ||||
13 lines changed or deleted | 13 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |