인터넷이 발달함에 따라, HTTP라는 단어는 개발자가 아닌 사람들에게도 익숙한 단어가 되었다. 어떤 이들은 웹 사이트의 주소를 이야기할 때, 종종 http:(에이치티티피땡땡)라고 시작하곤 한다. 그 만큼 http는 웹의 발전과 그 맥락을 함께 했다. 웹의 환경이 변화함에 따라서 새로운 프로토콜이 필요하게 되었다. HTTP는 1.1 버전이 개정된 이후 20년 만에 개정되어 버전2가 릴리즈되었다.
<러닝 HTTP/2>는 다음과 같은 순서로 HTTP/2를 설명하고 있다.
HTTP의 역사에 대해서 간략하게 훑어본 다음, 웹 성능 최적화를 위해서 우리들이 무엇을 해왔는지 돌이켜본다. 그 과정에서 패턴화 된 기법들에 대해서 알아본다. 물론, 안티 패턴에 대해서도 알아본다. 그리고 이런 것들을 개선하기 위해서 2.0에서는 어떤 기능들이 추가되었는지 안내해준다. 어떻게 h2의 동작 원리에 대해서 알아본 다음, 구조를 알려준다. 어떻게 h2를 구현하는지 간단하게 설명한 뒤, 브라우저에서 디버깅할 수 있는 방법까지 알려준다. 이 모든 것이 200p도 되지 않은 적은 분량으로 맛볼 수 있다. 물론 이 과정에는 실습도 함께 할 수 있다.
역시 이 책의 가장 큰 장점은 분량이다. 두꺼운 책은 호흡이 길어서 읽는 행위 자체가 하나의 스트레스 혹은 부담으로 작용한다. 얇은 책은 그 만큼 심리적으로 부담이 적어서 쉽게 읽을 수 있다. 물론 그 깊이는 다소 얕을 수 있다. 하지만 이 책은 <Learning~> 시리즈다. 가벼운 마음으로 한 번 훑어 본 뒤에 다시 실습을 따라서 해보자. h2의 겉을 핥기에는 부족함이 없다.
개발자인 나에게 HTTP는 언제가 한 번은 넘어야 할 산이다. HTTP/2도 마찬가지였다. 너무 나도 당연하게 사용하고 있지만, 정작 기본적인 동작 원리를 이해하기 위한 노력을 기울여 본적이 없다. 가볍지만 핵심만 쏙쏙 뽑인 <러닝HTTP/2>라는 장비를 가지고 HTTP/2라는 산 하나를 올라보았다. 나름 뿌듯하다. 이 기세를 몰아서, <HTTP 완벽 가이드>를 들고 HTTP 라는 산도 다시 한 번 올라볼까 한다.