HTTP-proxyverzoeken: absolute URL's versus de Host-header
Houd het absolute verzoekdoel en het Host-veld consistent wanneer je een HTTP/1.1-verzoek via een expliciete proxy doet.
Welke host bedoelt dit HTTP/1.1-proxyverzoek?
GET http://first.example/path HTTP/1.1
Host: second.example
Het bericht is inconsistent. Bij een verzoek in absolute vorm dat naar een proxy wordt gestuurd, eist RFC 9112 dat de doorgestuurde Host-waarde uit het verzoekdoel komt. Host: first.example doorsturen is het verwachte gedrag.
Houd bij een test op een ontwikkelsite de hostnaam van de resource consistent in de URL en in de HTTP-authority. Lever de gewenste naam-naar-adres-toewijzing op de hop die verantwoordelijk is voor de resolutie. Een tegenstrijdige Host-overschrijving is geen overdraagbare instructie voor backendselectie.
HTTPS verschilt. Nadat een gewone CONNECT-tunnel is geopend, vinden TLS en de interne HTTP-uitwisseling daarbinnen plaats. Een proxy die niet onderschept kan dat versleutelde Host-veld meestal niet herschrijven. De CONNECT-bestemming, de TLS-naam en de certificaatidentiteit blijven aparte rollen.
Het verwijderen van Via, Referer of Cache-Control verzoent de twee authority's niet. Noteer de verzoekvorm en het punt waar je de header hebt waargenomen voordat je een proxy-herschrijving diagnosticeert.