mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-14 23:41:20 +01:00
Implement the scheme-based uri normalization as described in rfc3986 6.3.2. Its purpose is to remove the port of an uri if the default one is used according to the uri scheme : 80/http and 443/https. All other ports are not touched. This method uses an htx message as an input. It requires that the target URI is in absolute-form with a http/https scheme. This represents most of h2 requests except CONNECT. On the contrary, most of h1 requests won't be elligible as origin-form is the standard case. The normalization is first applied on the target URL of the start line. Then, it is conducted on every Host headers present, assuming that they are equivalent to the target URL. This change will be notably useful to not confuse users who are accustomed to use the host for routing without specifying default ports. This problem was recently encountered with Firefox which specify the 443 default port for http2 websocket Extended CONNECT.