ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 러닝 HTTP/2
    후기/Book Review 2018. 2. 10. 01:56


      페이스북에서 한빛미디어의 는 리뷰어다 공지를 보고 읽을 만한 책이 있을까 해서 살펴보던 중 필요한 책이 있어서 신청하게 되었다. 작년에 HTTP 완벽 가이드를 보고 HTTP/2에 대한 내용이 궁금했었는데 마침 HTTP/2에 대한 최신 번역서가 나왔던 것이다. 회사에서도 얼마전에 HTTP2를 적용해서(내가 한건 아니지만) HTTP/1.1과 차이점, 새로 추가된 기능, 성능 등이 궁금했었다.


    전체 목차는 아래와 같다.

    1. HTTP의 진화

    2. HTTP/2 맛보기

    3. 웹을 파헤치는 이유와 방법

    4. HTTP/2로의 전환

    5. HTTP/2 프로토콜

    6. HTTP/2 성능

    7. HTTP/2 구현

    8. HTTP/2 디버깅하기

    9. 다음은 무엇인가

      HTTP는 웹의 아버지 팀버너스리경에 대한 이야기로부터 시작된다. 연구소에서 나온 결과물들을 관리하기 위해 도움을 주는 시스템을 고안한 것이 HTTP의 시작이라고 한다. HTTP/0.9는 GET메소드 1개에 텍스트만 주고 받을 수 있다고 한다. 지금은 HTTP통신을 이용해 쇼핑, 채팅, 스트리밍영상 시청 등 굉장히 많은 일들을 하고 있는데 과연 약 30년 전에는 이런 일이 일어나리라고 상상이나 했을까싶다.

      HTTP/1.1(이하 h1)이 나온 것이 1999년이고 HTTP/2(이하 h2)가 공식화 된 것이 2015년이니 거의 20년 가까이 정체된 기술을 사용하고 있었던 것이다(물론 그 사이에 SPDY가 있긴 했지만). 1999년과 비교하면 상황, 기능, 역할 등이 매우 많이 변했으니 새로운 기술이 필요했고 그것이 h2로 나온 것이다.

      그간 h1에서 성능 향상을 위해 많은 노력들이 있었다. 결합, 축소화, 샤딩, 쿠키 없는 도메인, 스프라이팅 등이 그것이다(본문 p.60). 성능을 위해 들였던 노력들이 h2에서는 상당부분 오히려 성능 저하를 일으킬 수도 있다. 따라서 h2를 도입하기 전에 꼼꼼한 테스트와 비교 분석이 필요할 것 같다.

      또 h2가 항상 모든 상황에서 빠른 것은 아니다. h2의 기능들은 다수의 작은 파일이 많은 상황에서 높은 효율을 보이도록 설계가 되었다. 아마 mobile first(혹은 mobile only)를 십분 반영한 것이 아닌가 생각도 든다.

      h2를 직접 실습하는 부분도 나온다. 크롬에서 chrome://net-internals/#http2를 이용한 h2통신 결과를 보는 것이 흥미로웠다. 깃헙 페이지가 h2를 지원하니 서버 푸시 등 해볼 수 있는 부분들은 직접 실습도 해보면 재미있을 것 같다.

      관심 있었던 책도 무료로 읽고, 오타도 몇개 찾아서 신고도 하고, 유익한 시간이었다. 점점 더 기술은 빠르게 발전하고 새로운 것들도 나오고 있다. HTTP3는 어떤 모습으로 나올지 기대된다.


    러닝 HTTP/2, 한빛미디어(스티븐 루딘, 하비에르 가르사)

    '후기 > Book Review' 카테고리의 다른 글

    토비의 스프링 3.1 Vol.1  (0) 2018.04.07
    자바 성능 튜닝 이야기  (0) 2018.03.06
    UML 실전에서는 이것만 쓴다  (0) 2018.01.27
    소프트웨어 악취를 제거하는 리팩토링  (0) 2017.12.23
    도메인 주도 설계 핵심  (0) 2017.11.30

    댓글

Designed by Tistory.