HTTP/2.0 의 한계와 Varnish 의 입장 (Poul-Henning Kamp)
Source
Evernote/Technical News/Why HTTP2.0 does not seem interesting — Varnish version trunk documentation.md
Summary
Varnish 의 창립자 Poul-Henning Kamp(PHK) 는 2012 년 IETF 에 보낸 서한을 통해 당시 제안된 HTTP/2.0 초안들에 대해 회의적인 입장을 표명했다. 그는 기존 제안들이 과거의 문제를 해결하는 데 집중할 뿐, 향후 20 년을 견딜 수 있는 프로토콜이 아니며, HTTP/1.1 의 근본적인 구조적 결함 (특히 Cookie 의 비효율성과 보안 문제) 을 해결하지 못한다고 비판했다. 또한 새로운 복잡성만 추가하는 ‘가산적 (additive)’ 접근 방식은 IPv6 의 낮은 채택률처럼 HTTP/2.0 도 실패할 것이라고 경고하며, 진정한 차세대 프로토콜은 세션/식별 기능을 올바르게 구현하고 불필요한 복잡성을 제거해야 한다고 주장한다.
Key Points
- Varnish 는 기존 솔루션보다 우월한 성능을 낼 수 있을 때만 프로토콜을 채택하는 정책을 따르며, 당시 HTTP/2.0 초안은 이를 충족하지 못해 초기 구현을 유보했다.
- 당시 HTTP/2.0 제안들은 ‘터널 비전’에 갇혀 과거의 문제만 해결하려 했으며, HTTP/1.1 을 실질적으로 대체할 만한 혁신성이 부족했다.
- HTTP/1.1 의 가장 큰 결함은 세션/엔드포인트 식별 기능의 부재로 인한 Cookie 의 남용이며, 이는 대역폭 낭비와 보안 취약점, 캐싱 장애를 유발한다.
- 진정한 HTTP/2.0 은 Cookie 개념을 폐지하고 효율적인 세션/식별 시설을 제공하여 개발자의 실수나 광고주의 무분별한 사용에도 자동으로 규정 준수 (Compliance) 가 가능해야 한다.
- 기존 제안들은 HTTP/1.1 의 복잡한 레이어를 제거하지 않고 새로운 복잡성만 추가하는 ‘HTTP/1.2’ 수준에 불과하며, 이는 사용자 채택을 저해할 것이다.
- HTTP 라우터 (로드 밸런서) 는 DoS 공격 및 트래픽 급증 시 가장 높은 트래픽 밀도를 처리하는 핵심 지점이므로, 프로토콜 설계 시 이 관점에서의 효율성도 고려되어야 한다.