러닝 HTTP/2 - 핵심만 쏙쏙, HTTP/2 적용 실무 가이드
스티븐 루딘.하비에르 가르사 지음, 강재준 옮김 / 한빛미디어 / 2018년 1월
평점 :
장바구니담기


 한빛미디어의 나의 리뷰어다 1월 이벤트에 선정되어 책을 제공받고 리뷰를 작성한다. 

우선 필자는 소규모의 웹서버를 작성해본 경험이 있으며 이를 위한 가장 필수적인 네트워크와 웹 지식을 알고 있다고 생각한다. 기존의 HTTP1.0 또는 HTTP1.1(이하 h1)에서 웹서버의 속도를 향상시키려고 해본 경험이 없는 상태에서 이 책을 읽게 되었다. 

책 리뷰
이 책의 주제는 더 빠르고 안전한 웹 서버를 만들기 위한 노력으로 탄생한 http/2(이하 h2)에 대해 설명하고 안내하는 것이라는 것이다. h2가 만들어지게 된 역사적 과정과 함께 그 장점을 간단하게 소개하며 시작한다. 바로 이론적인 설명을 하기보다 h2를 간편하게 사용하도록 만들어진 도구 nghttp2를 통해서 직접 참여를 할 수 있도록 한 점이 인상 깊었다.

책의 부제인 "http/2 적용 실무 가이드"를 보고 유추할 수 있듯이 현업에서 누구보다 h2에 가까이에 있는 지은이의 경험과 깊은 이해를 바탕으로 한 논리적인 설명을 느낄 수 있다. 장황하게 설명하는 것이 아닌 핵심을 요약하여 쓰여있는 것도 이러한 상황이기 때문에 가능한 것이 아닌가 하는 생각이 들 정도로 요약이 잘 되어있다고 느꼈다. 또한 직접 공개된 프로그램을 통해 한 스텝 한 스텝 이미지를 첨부함으로써 이해의 공백을 줄이려고 한 점을 보면서 독자에게 다가가기 위한 노력을 많이 했다고 느꼈다. h2가 처음인 사람들에게는 좋은 이정표가 될 수 있는 책이 되지 않을까 생각한다.

단, 이 책의 저자도 언급하고 있듯이 종합 안내서는 아니다. 핵심적인 사항에 대한 설명과 이해를 도우며 추가적인 내용에 대해 알고 싶은 독자에게 도움이 되는 다양한 책과 링크를 첨부하고 있다. 필자는 그동안 막연하게 보고 있던 수풀을 한번 파헤친 느낌을 느꼈지만, 지식의 양과 질에 따라서는 내용이 부족하다고 느낄 수 있지 않을까 생각한다.

책 구성
간단하게 이 책에서 언급하는 내용을 설명해보겠다.

1장과 2장에서는 책의 주제, 웹의 역사적 과정, nghttp2 소개 및 실습 등을 설명을 한다.

3장에서는 성능에 영향을 주는 사항들을 요약한다. 90년대에 결정된 프로토콜 h1 스펙에서의 구조적 문제점과 이를 극복하기 위한 사용자 측면에서의 노력의 산물인 각종 패턴들을 설명하며, 새로운 프로토콜인 h2를 적용했을 시 성능 저하를 일으키는 패턴과 조언 등을 비교 설명한다.

4장에서는 h2로의 전환시에 고려해야 할 사항들을 요약한다. 현실적인 사항(브라우저 지원율 등)을 바탕으로 한 고려 사항들이 바탕으로 독자 개개인의 신중하고 실험적인 h2 도입에 대한 고민을 돕는다. 

5장에서는 h2의 구조적인 스펙을 요약한다. 이미지와 시각화를 통해서 이해를 도우며 실제 프로토콜의 요청과 응답 패킷을 예시로 보여주고 nghttp를 통하여 전송 절차를 하나하나 추적하는 과정을 수록함으로써 이를 따라 직접 수행하도록 한다. 

6장에서는 h2에 대한 성능 통계를 제공한다. 어떤 상황에서 h2가 빠르고 느린지, 어떤 이유에서 이러한 결과가 나오는지에 대해 설명한다. 통신과정을 시각화하고 렌더링 타임라인 비교를 통해서 직관적으로 차이를 느낄 수 있도록 하였다.

7장에서는 h2를 지원하고 있는 다양한 도구에 대한 설명과 지원 현황을 설명한다.

8장에서는 h2의 디버깅과 관련된 도구에 대한 설명과 사용 과정을 캡처와 실제 코드와 함께 설명한다. 크롬, 파이어폭스, ios, 안드로이드의 개발자 도구의 기능들과 보안을 위한 도구, 데이터 전송 도구, 부하 테스트 도구, 패킷 분석 도구에 대해 언급한다.

9장에서는 http 의 미래에 대한 필자의 생각과 웹의 발전을 위해 움직이고 있는 단체, 프로토콜, 프로그램 설명과 함께 현재 토론의 대상이 되고 있는 논쟁의 주제를 언급하며 책을 마친다.

부록으로는 http2 계층에 대한 빠른 참조 설명서와 함께, 참조된 도구들의 홈페이지, 단어에 대한 인덱스가 있다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo