TCP Fast Open
これについては昔既にかなり詳しく書いた。見直したら結構詳しくてびっくりしたので、もうこっちに書くことあまり無かった。
TCP Fast Open – Webを速くするためにGoogleがやっていること Make the Web Faster 4 –
3 Way HandShake は TCP の接続確立時に必要になり、1.5 往復分の RTT がかかる。
ここをなんとかするための常套手段は、一度繋いだ接続を切らずに再利用することだったが、それは繋ぐ時の一番最初の部分の最適化にはならない。
Fast Open はこの最初の部分も最適化したいという欲求からなる。
しかし、 TFO Cookie がない、初めて接続するホストの最初の接続ではこれができない。
という意味では、 TFO Cookie を得るための preconnect という手段もあるのかもしれない。
TCP はカーネルスタックなので、カーネルのバージョンが古いと使えないが、これはちょっとづつ増えていくだろう。
対応してない場合はフォールバックできる、がフォールバック時に送り直すヘッダの部分がどのくらい無駄になるのかは気になっている。
素直に preconnect と、 HTTP2 による接続保持の方が良いのかもしれない。
link
see also
- TLS