We already have TLS1.3 with 0-RTT now and if we can use TFO when doing DoH queries, the difference of latency between DoH and traditional UDP will be further reduced. However the standard library of golang doesn't have TFO support by now, while lots of other implements using syscall or setsockopt have been talked by peoples(https://github.com/golang/go/issues/4842). So is there any plan to do our step towards TFO?
Go doesn't support 0-RTT, and this is still being discussed due to security issues.
TFO isn't supported by Go either, and also reduces privacy. If the router strips it, it's useless. If it doesn't, and your public IP address changes (for example if you connect to a VPN), TFO can be used to track all your IP addresses.
Along with reliability issues, TFO, if implemented, will be disabled by default. This is still blocked by Go not supporting it for now.
The best way to reduce latency with traditional UDP is to use traditional UDP :)
FWIW, you can easily enable TFO in go by setting the appropriate setsockopt using the new net.ListenConfig.
PR welcome :)
Most helpful comment
FWIW, you can easily enable TFO in go by setting the appropriate
setsockoptusing the newnet.ListenConfig.