Add section describing potential conflicts with other demuxers
over on the HTTP WG mailing list, Colm MacCárthaigh points out:
One concern might be compatibility with other similar mechanisms. For example, there are protocols such as Netscaler Client IP:
https://www.citrix.com/blogs/2016/04/25/how-to-enable-client-ip-in-tcpip-option-of-netscaler/
or HAProxy's Proxy Protocol:
https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
Where proxies may insert their own pre-amble on the connection, to pass on something like an L4 X-Forwarded-For.
Sometimes the backends behind these proxies have to accept traffic directly too, and they fingerprint the first few bytes to determine whether it's a direct HTTP connection, or a proxied request. I haven't thought through it, but it might get a little complicated doing two levels of demuxing, and it might not even be possible in some cases.
The draft probably needs a section that says "do not mix with other demuxing protocols" or something.