Real World HTTP ミニ版を読んでいてSPDY, HTTP/2, HTTP/3におけるHTTPヘッダ圧縮について触れられていた。 このエントリではそこを深掘りし、SPDYのDeflateに始まるHTTPのヘッダ圧縮がどのようにHTTP/3のQPACKにつながっているかを書く。(これで正しいのか誰か教えてほしい SPDY時代: Deflate SPDYのDeflateは部分文字列一致で圧縮した後にハフマン符号化によって圧縮する。 部分文字列一致による圧縮であるため、一部でも文字列が合致した組があると圧縮されるということから、リクエストを1バイトずつ内容を変えて送信し、フレームの長さを見ることで内容を推測するようなCRIME攻撃に弱かったため、圧縮機能は非推奨となった(という認識だけど正しい? HTTP/2時代: HPACK HPACKはヘッダ名もしくはヘッダの値に対する完全一致で