메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

러닝 HTTP/2

핵심만 쏙쏙, HTTP/2 적용 실무 가이드

한빛미디어

번역서

판매중

  • 저자 : 스티븐 루딘 , 하비에르 가르사
  • 번역 : 강재준
  • 출간 : 2018-01-22
  • 페이지 : 172 쪽
  • ISBN : 9791162240434
  • 물류코드 :10043
  • 초급 초중급 중급 중고급 고급
4.5점 (13명)
좋아요 : 62

빠르고 간단하게 HTTP/2를 적용하는 방법! 

 

1999년 HTTP/1.1이 승인된 이후 웹은 급격히 발전하여 복잡한 페이지를 속도 저하 없이 잘 처리하는 새로운 프로토콜이 필요하게 되었다. 그래서 등장한 HTTP/2는 20여 년 만의 메이저 개정 버전으로, 웹 콘텐츠를 불러올 때의 체감 성능이 대폭 개선되었다.

이 책은 웹사이트를 구축하거나 운영하는 사람뿐만 아니라 HTTP/2를 구현하거나 HTTP/2의 동작 방식을 이해하고 싶은 사람을 대상으로 한다. HTTP/2의 이점, 활용 방법 등 HTTP/2에서 달라진 점을 설명한다. 페이스북, 트위터, 구글, 위키백과 등 HTTP/2를 사용하는 사이트가 늘고 있다. 아직 HTTP/2로의 전환을 망설이는 이에게 이 책을 권한다.

 

기다리고 기다리던 HTTP 개정, 이것이 바로 HTTP/2다! 

HTTP가 등장한 지 20년이 넘었다. 초고속 인터넷이 보급되고 UX가 화려해진 덕에 웹 페이지 용량과 요청 수가 크게 증가하였다. 또한 RESTful 방식의 대중화로 HTTP는 클라이언트-서버 사이는 물론 서버끼리의 통신에도 가장 흔히 쓰이는 프로토콜로 성장하였다. 달라진 인터넷 환경을 고려하여 HTTP 기술을 발전시키려는 노력이 계속 되었다. 2012년 구글에서 발전형 네트워크 프로토콜인 SPDY를 발표했고, 이를 참고해 드디어 2015년 HTTP/2가 공개되었다.

 

실제 웹사이트를 예제로 성능 개선 방법을 살펴보자! 

이 책에서는 예제로 페이스북과 야후의 웹 성능을 테스트해보며 단순히 ‘성능 문제가 해결되었다, 개선되었다’고 설명하는 것에서 더 나아가 어떤 경우에 성능이 개선되고 어떤 경우에 성능이 개선되지 않는지를 설명한다. 이미 우리 가까이에서 웹 성능 향상에 기여하고 있는 HTTP/2를 만나보자.

 

 

주요 내용

  • HTTP 발전 과정과 HTTP/2의 이점
  • HTTP/2로 전환하기 전 고려해야 할 항목
  • 웹 성능 향상을 위한 모범 사례 및 안티패턴
  • 브라우저, 서버, 프락시, 콘텐츠 전송 네트워크에 대한 HTTP/2의 지원
  • HTTP/2 vs HTTP/1.1 성능 비교
  • 지연 시간, 패킷 손실, TTFB 등에 대한 HTTP/2의 영향
  • 다양한 웹 브라우저 개발자 도구로 디버깅하는 방법
  • QUIC, TLS 1.3 등 HTTP/2 이후를 대비하며 살펴볼 기술

 

대상 독자

  • HTTP/2 입문자
  • HTTP/2를 이용한 서비스를 개발하는 개발자
  • HTTP/2를 체계적으로 배우고 싶은 전문가
스티븐 루딘 저자

스티븐 루딘

아카마이(Akamai) 웹 성능 부문 수석 아키텍트다. 미래 웹 기술에 주력하는 연구/개발 그룹인 파운드리 팀을 이끌고 있다. 또한, 루비콘 랩스뿐만 아니라 ISRG(Internet Security Research Group) 이사로 활동하고 있다.

샌디에이고 소재 캘리포니아 대학교에서 컴퓨터 음악 학위를 받았으며, 그곳에서 실험 음악을 작곡하는 C 프로그램을 만들었다. 상거래와 소통을 위해 웹을 더 빠르고 안전하게 만드는 데 창의력, 기술력, 관리 역량을 쏟고 있다.

하비에르 가르사 저자

하비에르 가르사

무언가를 분해하여, 동작 원리를 이해하고 개선을 위해 가장 실현가능한 방법을 찾는 것을 좋아하는 다국어에 능통한 기술 전도사다. 9세에 BASIC 기반의 컴퓨터 게임을 분석한 이래로, 지난 25년 동안 스페인, 독일, 미국에서 컴퓨터 분야에 종사하고 있다. 2004년부터 아카마이에서 근무하며 인터넷에서 가장 큰 웹사이트를 더 빠르고 안전하게 하는 데 일조했다.

강재준 역자

강재준

SK텔레콤에서 10년 이상 네트워크 시스템과 IT 인프라를 구축, 관리, 운영하는 업무를 담당하고 있다. 2G/3G/LTE 통신 인프라 및 다양한 연동 시스템을 운영해왔으며, 가상화 기반의 LTE 코어 시스템(NFV) 구축에 참여하여 국내 최초로 상용화했다.

현재는 VMware, 오픈스택 등 다양한 상용 및 오픈소스 솔루션을 기반으로 T아이디, T map 등 SK텔레콤 주요 서비스의 인프라를 구축 및 운영하고 있으며, 데이터센터 인프라 관리 및 자동화에 관심을 두고 계속 추진하고 있다.

『VMware vSphere 6 서버 가상화 구축과 운용』(에이콘출판사, 2015), 『오픈스택 인 액션』( 한빛미디어, 2016), 『코드로 인프라 관리하기』(한빛미디어, 2017)를 번역했다.

 

 

CHAPTER 1 HTTP의 진화

__1.1 HTTP/0.9와 1.0 

__1.2 HTTP/1.1 

__1.3 HTTP/1.1 이후 

__1.4 SPDY 

__1.5 HTTP/2 

 

CHAPTER 2 HTTP/2 맛보기

__2.1 서버 구동하기 

__2.2 인증서 발급받기 

__2.3 첫 번째 HTTP/2 서버 구동하기 

__2.4 브라우저 선택하기 

 

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

__3.1 오늘날의 성능 문제 

__3.2 웹 성능 기법 

__3.3 요약 

 

CHAPTER 4 HTTP/2로의 전환

__4.1 브라우저 지원 

__4.2 TLS로의 전환 

__4.3 HTTP/1.1 최적화 제거하기 

__4.4 서드파티 

__4.5 기존 클라이언트의 지원 

__4.6 요약 

 

CHAPTER 5 HTTP/2 프로토콜

__5.1 HTTP/2의 계층 

__5.2 연결 

__5.3 프레임 

__5.4 스트림 

__5.5 서버 푸시 

__5.6 헤더 압축(HPACK) 

__5.7 전송 절차 

__5.8 요약 

 

CHAPTER 6 HTTP/2 성능

__6.1 클라이언트 구현 

__6.2 지연 시간 

__6.3 패킷 손실 

__6.4 서버 푸시 

__6.5 TTFB 

__6.6 서드파티 

__6.7 HTTP/2 안티패턴 

__6.8 실세계의 성능 

__6.9 요약 

 

CHAPTER 7 HTTP/2 구현

__7.1 데스크톱 웹 브라우저 

__7.2 모바일 브라우저 

__7.3 모바일 앱 지원 

__7.4 서버, 프락시, 캐시 

__7.5 콘텐츠 전송 네트워크 

__7.6 요약 

 

CHAPTER 8 HTTP/2 디버깅하기

__8.1 웹 브라우저 개발자 도구 

__8.2 웹페이지테스트 

__8.3 OpenSSL 

__8.4 nghttp2 

__8.5 curl 

__8.6 h2i 

__8.7 와이어샤크 

__8.8 요약 

 

CHAPTER 9 다음은 무엇인가

__9.1 TCP인가, UDP인가

__9.2 QUIC 

__9.3 TLS 1.3 

__9.4 HTTP/3

__9.5 요약 

 

APPENDIX A HTTP/2 프레임

APPENDIX B 도구 참조 

인터넷이 발달함에 따라, 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 라는 산도 다시 한 번 올라볼까 한다. 

이 책은 총 171 페이지 분량으로 새끼손가락 두께보다 얇은 두께의 책이다. 주로 http 1.1와 2.0을 비교하면서 특징과 성능차이에 대한 내용을 다룬다. 실제로 책의 절반은 다 http 2.0의 성능에 관한 내용인 것 같다.

클라이언트 개발자와 서버 개발자 그리고 서버 운영자 등 웹 관련 업무를 하는 모든 개발자에게 유익한 내용의 책인 것 같다. 

특히 클라이언트 개발자에게 제일 유익해보인다. 책이 거의 성능에 관한 내용이며 http 2.0 환경에서 웹 성능을 높이기 위한 클라이언트 개발 방법이 설명되기 때문이다.

서론에는 웹의 시작부터 http 버전이 0.9, 1.0, 1.1 그리고 현재 2.0으로 오기까지의 변천사를 설명하며, 웹의 기본적인 요청-응답 동작 방식을 설명한다. 

그리고 http 1.1과 http 2.0의 두드러지는 차이점, 1.1에서 2.0으로 전환하는 방법, 장점, 단점, 성능차이 등을 비교하며 설명한다. 

중반부터는 실제로 http 2.0 성능분석과 디버깅에 대해 설명한다. 따라해 볼 수 있는건 따라해봐도 부담되지 않는다.

두께가 얇다고 해서 아주 간단하거나 쉽게 읽히는 내용은 아니다. HOL blocking, HTTP 프레임, 안티패턴, 샤딩, 와이어샤크, 인라이닝 등... 전문 용어들이 많이 나온다. 한 장을 읽어도 많은 이해가 필요하다. 

그렇기 때문에 웹 개발자라면 정말 꼭! 읽어야 될 책이라고 생각한다. :)

이 책은 초심자 입장에서는 내용 하나하나 다 이해하기는 어려웠지만, 읽기에는 편한 책이라고 생각합니다.

 

 편하게 느낀 부분은 책 중간중간에 네트워크 요청, 응답에 대한 메시지부터 책에서 설명, 참조하기에 부족한 것들은 링크를 첨부해 이를 통해 내용을 이해하는데 도움을 주었습니다.

 

 처음에는 초기 http부터 http/2까지에 대해서, 그리고 http/2가 어떤 이유로 탄생하게 되었는지 설명이 되어있습니다. 

 

 이후부터는 읽을수록 http/2에 대한 소개나 내용 설명보다도 사용자에게 더 빠른 웹페이지 로딩을 제공하는 방법에 초점을 맞춘 모습입니다. 계속해서 http의 각 버전에 대해 비교하고, 상황마다 각 버전이 어떻게 동작하는지 보여주니 어떤 상황에 있을 때 http/2를 쓰는게 나은지를 이해할 수 있게 해줍니다.

 

 또한 후반부에는 각 브라우저마다 어떻게 디버깅할 수 있는지 알려주어 실제 쓸 수 있는 내용을 알려주었습니다. 

 

 부록으로 첨부되어 있는 부분은 프레임 하나하나 더 자세하게 분석하고 싶은 분들에게 도움이 될 것 같습니다.

 

 이 책은 참 실용적인 책입니다. 항상 개발자에게는 더 빠른 웹페이지 로딩은 어떤 웹개발을 하든 고민하게 되는 부분일텐데, 이에 대해 도움을 주니, 곁에 두고 필요할 때 참고하기에 좋을 것 같습니다.

인터넷 초기때 시작해서 꽤 오랜시간동안 바뀌지 않은 프로토콜인 HTTP/1.1이 HTTP/2로 바뀌었는데, 기존의 문제점이나 성능저하를 해결하기 위해 패러다임이 바뀌었습니다. 

컴퓨터 전공자라면 기본적으로 알고있는 네트워크 및 통신에 대한 이론지식을 업데이트하고, 새로 공부하기 위함이라면 잘 정리되고 번역된 이 책을 읽기를 추천드립니다.

RFC-7540은 논문 형식에, 잘 안 읽히더군요. 책의 도입부에는 서버에서 HTTP/2를 적용하는 방법에 대해 서술되어있어 실용적인 것 같습니다.

학부와 석사과정을 컴퓨터 관련 전공으로 마쳤고, 지금은 컴퓨터관련 전공의 박사과정에 재학중이다. 계속해서 학계에 있어온 터라 웹 개발을 전문적으로 하지는 않았지만, 웹서버 기반으로 동적으로 동작하는 연구목적 또는 취미로 간단한 웹사이트들을 만든 경험이 있다. 특히 Flask 프레임워크에 제일 친숙하고, 최근에는 ReactJS를 이용하여 간단한 사진 브라우징 웹서비스를 만들어봤다.
 
웹개발에 관심이 있는 사람이라면 HTTP가 무엇인지는 누구나 알고있다. 하지만 HTTP/1.1과 HTTP/2에 대해서는? 막연하게 HTTP/2가 HTTP/1.1을 개선하기 위해 나온 것이며, 속도가 더 빠르거 보안이 좋다 정도로만 알고 있었지, 정확하게 HTTP/2가 무엇인지는 모르고 있었다. 최근에 HTTPS로 웹서비스를 제공하면서 조금 관심이 가긴 했었는데, 그래도 HTTPS와 HTTP/2가 정확히 어떻게 다른지도 몰랐다. HTTPS를 적용하였으니 이제 내 웹서비스는 HTTP/2를 지원하는 것인가 라고 생각했을 정도다. 
 
최근 한빛미디어에서 O'RELLY의 Learning HTTP/2 라는 책을 번역/출간했다는 소식을 듣고, 나중에 시간날 때 사보려고 온라인서점 장바구니에 넣어뒀는데, 운좋게 한빛미디어의 나는리뷰어다 이벤트를 통해 <Learning HTTP/2>를 지원받았다. 나는 150 페이지 분량의 이 책을 통해 HTTP/2가 무엇인지, 어떻게 동작하는지, 그리고 내가 궁금했던 HTTPS와 HTTP/2는 어떻게 다른 것인지 명쾌하게 이해할 수 있었다.
 
  1. HTTP 발전 과정과 HTTP/2의 이점
  2. HTTP/2로 전환하기 전 고려해야 할 항목
  3. 웹 성능 향상을 위한 모범 사례 및 안티패턴
  4. 브라우저, 서버, 프락시, 콘텐츠 전송 네트워크에 대한 HTTP/2의 지원
  5. HTTP/2 vs HTTP/1.1 성능 비교
  6. 지연 시간, 패킷 손실, TTFB 등에 대한 HTTP/2의 영향
  7. 다양한 웹 브라우저 개발자 도구로 디버깅하는 방법
  8. QUIC, TLS 1.3 등 HTTP/2 이후를 대비하며 살펴볼 기술
 
위와 같이, 이 책은 기존의 HTTP/1.1는 무엇이며, 문제가 무엇인지, 이를 개선하기 위해 어떻게 HTTP가 발전되어 HTTP/2까지 이르렀는지 아주 명쾌하게 설명되어있다. 뿐만아니라 상세 내부 동작 원리에 대해 적절한 예제와 함께 알기쉽게 설명하고 있다 (간간히 나도 생소한 내용이 나오긴했는데, 전체적으로 HTTP/2의 개념을 이해하는데는 크게 지장이 없었다).
 
사실 나처럼 연구 목적이나 취미 목적의 간단한 웹서비스를 만드는 사람은 HTTP/2를 당장 도입하지 않아도 크게 지장이 없다. 하지만 일정 규모 이상의 서비스를 개발할 때는 HTTP/2에 대한 이해와 구현이 필수다. 이미 대부분의 알려진 브라우저, 웹서버들은 HTTP/2를 지원하고 있으니, 구현하는데 큰 어려움이 들지 않을 것 같다. 이 책에서는 HTTP/2 구현이 신경써야 할 점들에 대해서도 자세히 설명하고 있기 때문에 크게 도움이 될 것 같다.
 
나는 이 책을 읽고 나서야 정확히 이해했다. HTTPS는 HTTP/2구현의 필요조건일 뿐이라는 것을. HTTPS만 적용한다고해서 자동으로 HTTP/2가 적용되는 것은 아니었다. 특히 최근에 HTTPS를 도입한 내 웹서비스는 Flask 웹프레임워크 기반으로 만들면서, 따로 Apache나 Nginx를 연동하지 않았던터라 HTTP/2를 지원하지 않았다. 이 책을 보고나니 Apache와 연동해서 HTTP/2로 동작하는 모습을 보고어서 추가적인 작업을 하려고 계획중이다. <Learning HTTP/2>에서는 HTTP/2 디버깅도 방법에 대해서도 설명하고 있어서 따라하기 좋다. (간단한 웹사이트라 HTTP/2를 지원한다고해서 큰 속도향상이 있을 것 같지는 않지만...)
 
웹개발 입문자라면(Header, TCP등에 대한 지식이 없다면) 인사이트의 O'RELLY 번역책인 HTTP 완벽가이드(http://www.insightbook.co.kr/book/programming-insight/http-the-definitive-guide)를 먼저 읽고, 이 책을 읽기를 추천한다. 그런 기본 지식이 없으면 이 책을 전혀 이해할 수 없다 (나도 이 책의 몇몇 부분에서는 전문적 지식이 부족하여 이해하지 못하고 그냥 넘긴 부분이 몇몇있다). 하지만 HTTP에 대한 기본적인 이해가 있고, 웹개발에 관심이 있는 사람이라면 바로 이 책을 봐도 좋을 것 같다. HTTP에 대한 깊은 이해의 지름길이자 바른길, <러닝 HTTP/2>를 강력 추천한다 (심지어 가격도 싸다. 약 15,000원!).
 
이 책을 읽으면서, HTTP/2에 대한 관심이 더 커서 여기저기 자료들을 찾아보던 중, HTTP/2에 대해 잘 설명하고 있는 자료들을 찾아 아래에 정리하였다. 아래 자료들을 보고 <러닝 HTTP/2>를 읽는다면 훨씬 이해하기가 쉬울 것이다.
 
블로그 포스트
 
2014년 10월 17일, 한국 웹 20주년 컨퍼런스, "더 빠른 웹을 위해: HTTP/2" 발표자료, 발표자: 네이버랩스 이응준
 
기술문서

 

 

러닝 HTTP/2 - 저는 HTTP 를 잘 모르는데요?
 
- 서평 시작
옮긴이의 말 중 "입문자에게는 기초적인 프로토콜 동작 방식 뿐만 아니라 앞으로의 학습방향에 대한 좋은 가이드" 이라는 점에 주안점을 두고 읽었다.
책의 대상 독자에 써놓은 것 처럼 나 또한 웹사이트의 생애 주기를 아주 미세하나마 책임지고 있는 사람임에도 불구 하고 HTTP 및 HTTP/2 프로토콜에 대한 이해가 전무 했다.
 
- 1장 HTTP의 진화
HTTP 의 역사를 간략히 소개 한다.
 
- 2장 HTTP/2 맛보기
웹서버를 설치하고 인증서를 발급받아 HTTP/2로 구동 되는 웹서버를 띄웠다. 
생각보다 간단해서 놀랐다.
 
- 3장 웹을 파헤치는 이유와 방법
웹페이지요청의 구조와 성능에 관해서 이야기 한다.
HTTP 에서 성능향상을 위해 개발한 방법이 HTTP/2 에서는 더이상 적용되지 않는 부분이 흥미로웠다.
 
- 4장 HTTP/2 로의 전환
실질적으로 HTTP 에서 HTTP/2 로 전환 하는 방법을 알려 준다.
다만 내가 현실적으로 근 몇년 이내에 사용할 일이 있을까...
 
- 5장 HTTP/2 프로토콜
실제로 HTTP/2가 동작하는 방식을 설명 한다.
책의 내용중 가장 읽기 어려운 부분이었다.
HTTP 와의 비교하여 설명 하는 부분이 인상적이다.
                                                                                                               
- 6장 HTTP/2 성능
"무엇이든 최대한 활요하기 위해서는 성능 테스트와 모니터링이 필수 이며 HTTP/2도 예외는 아니다." 라는 구절이 인상적이다.
실제로 HTTP/2 로 전환할 때의 성능테스트를 위한 지침과 안티패턴을 소개 한다.
 
- 7장 HTTP/2 구현
 
- 8장 HTTP/2 디버깅하기
chrome 에서 net-internals 와 개발자도구를 사용 하여 모니터링 하고 디버깅 하는 방법 및 예시를 보여 준다.
예제로 알려준 사이드 외에 daum 을 접속해 봤는데 daumcdn 에서 HTTP/2를 이용 하고 있었다.
이것은 이미 활용되고 있는 기술이구나 라는걸 확인 했다.
 
- 9장 다음은 무엇인가
HTTP/2 이후를 생각할 수 있는가?
 
책의 목적에 저자가 써놓은 것 처럼 이 얇은 책에서 HTTP/2 의 모든것을 알려주는 종합서는 아니다.
하지만 얇기에 이런 딱딱한 이야기를 어쨋든 끝까지 읽을 수 있었던것 같다.
 
책에서 읽은 내용이 금방 나의 실무에 적용되거나 하진 않겠지만
앞으로 많이 사용하게될 기술이나 표준에 대한 공부를 해두는 것은 분명히 의미가 있다고 생각 한다.

 

러닝 HTTP:2.jpg

한빛미디어의 나의 리뷰어다 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 계층에 대한 빠른 참조 설명서와 함께, 참조된 도구들의 홈페이지, 단어에 대한 인덱스가 있다.

 

비교적 이해하기 쉽고 잘 풀어쓴 느낌입니다. 보통 IT 번역서들 많이 보다 보면, 일본인들이 쉽게 쓰는 것을 참 잘 한다고 개인적으로 느껴왔는데요. 이 책의 저자는 일본인은 아니지만 그런 느낌을 받았고요. 게다가 프로토콜을 다루는 책이라 딱딱할 줄 알았는데 그렇지도 않았어요. 그렇지만 아무리 잘 풀어썼다고 하더라도 HTTP의 차기 버전에 대한 내용을 다루고 있는 만큼 최소한의 HTTP, TCP/IP, 웹서버, 프론트엔드 지식은 필요할 것 같군요.

 

내용 전체가 h2(HTTP/2)에 대한 것은 아니에요. 맨 먼저 HTTP 프로토콜이 역사적 흐름을 짚습니다. 그리고 구버전이 오늘날 어떤 한계를 갖는지 설명합니다. 가령 한 페이지 내에 개체 수가 많아지고, 파일마다 용량이 커진 커졌으며, 브라우저의 렌더링 속도가 느려진 오늘날의 웹 환경에서 과거의 HTTP가 얼마나 구닥다리 프로토콜인지 설명하지요. 그 과정에서 몰랐던 HTTP 1.1에 대한 내용도 배울 수 있었어요. 따라서 구버전의 HTTP 지식이 깊지 않다고 하더라도 최소한의 지식만으로도 HTTP 1.1과 h2를 다 같이 이해하는데 문제가 없을 것 같고요. 과거보다 h2가 무엇이 개선되었는지 명확히 이해할 수 있도록 잘 구성되어 있습니다. 무엇보다 실제로 웹서버를 깔고 h2 프로토콜을 손쉬운 방법으로 적용할 수 있는 내용까지 담고 있고요. 브라우에서 디버깅하는 과정까지 쉽게 쓰여 있어서 프론트엔드 개발자들에게도 큰 도움이 될 것 같아요.

 

잠깐 다른 얘기를 하면, IPv4의 주소가 고갈되니 IPv6를 준비해야 된다는 얘기를 저는 20년부터 들었습니다. 물론 오늘날 IPv6는 표준화된 프로토콜이 되었죠. 그런데 실상은 어떤가요? 지금도 가정이나 회사나 삶의 현실에서 IPv6를 쓰는 것을 거의 찾아보기 힘들어요. 하드웨어에서 구현되는 프로토콜이라 그런 것인지, NAT이 있어서 그런 것인지 왜 IPv6가 광범위하게 쓰이지 않는지 전문가가 아니라서 잘 모르겠어요. 하지만 h2는 기존의 웹서버에서 정말 손쉽게 전환이 가능한 것 같아요. h2 프로토콜이 2015년에 나왔는데, 나오자마자 거의 모든 브라우저와 웹서버가 지원하는 것을 보면 얼마나 손쉽게 적용 가능한지 알 수 있겠죠? 지원하는 웹서버나 브라우저를 책에서 안내하고 있습니다.

 

IPv4가 IPv6로 전환 되는데 너무 오랜 시간이 걸리는 것처럼, h2 역시 먼 미래의 이야기라고 착각했는데요. 그게 아니더군요. 이미 저는 웹서핑을 하면서 h2를 사용하고 있었어요. 책에서 소개한 디버깅 도구를 켜놓고 페이스북에 접속했더니 h2 프로토콜로 통신하는 것을 눈으로 확인해볼 수 있었어요. 이미 구글, 페이스북 등 많은 사이트가 h2를 적용한 상태였습니다. 대형 웹사이트를 구축할 때, 단순히 프론트엔드 기술의 발전만으로 대형 사이트를 무리 없이 구축한 게 아니라는 것을 알 수 있었어요. h2 프로토콜로 인한 변화는 이미 몇년번부터 시작된 것 같았습니다. 그런데 국내 서적 중 h2를 다루는 책은 왜 이 책이 처음인지 좀 의아하기도 하네요.

 

이 책은 HTTP2의 프로토콜, 성능, 구현에 대해 설명한 책입니다.

물론 이 책 한권을 본다고 HTTP2에 대해 완벽하게 마스터 할 수 있는 책은 아닙니다.

분량관계상 (160페이지 남짓) 모든 용어와 개념에 대해 상세하게 설명하고 있진 않습니다.

어느정도 기본적인 네트워크 개념과 HTTP 1.1 에 대해 알고 있다는 전제하에 설명이 이루어집니다.

 

즉, 웹 개발에 막 입문한 사람에게는 꽤 어렵게 느껴질 수 있습니다. 

 

HTTP2 를 바로 들어가진 않고 HTTP 의 역사를 가볍게 다루면서 시작합니다.

HTTP1.1 과 SPDY 등을 소개하기도 하죠. 요즘 많은 웹사이트들으 HTTP2 를 지원하지만

아직 국내 사이트중 일부는 HTTP1.1 에 머물러 있어 양쪽을 모두 아는 것이 중요합니다.(주로 정부 사이트)

 

HTTP1.1 과 HTTP2 의 차이점, 특히 성능 부분을 설명합니다

요즘 웹개발 시 매우 중요한 웹 성능과 관련해서 안티패턴을 소개하는 부분은 웹 개발자에게 매우 유용한 부분입니다.

 

프로토콜과 성능, 구현 부분에서는 조금 어려워질 수 있지만, 프론트엔드 개발자가 시니어급으로 발전 하려면 반드시 

알아야 하는 영역이기에 잘 읽고 이해하는 좋습니다.

 

마지막으로 디버깅과 관련된 도구들을 소개해 줍니다.

사실 웹 최적화와 관련된 정답은 없습니다. 책에서도 같은 말을 합니다.

웹 최적화는 해당 프로젝트에 따라 모두 다릅니다. 

디버깅 도구로 테스트 해보고 분석해서 해당 상황에 가장 최적화된 방법을 찾습니다.

 

입문자가 읽기에 쉽지 않고, 상세하게 내용을 풀어쓰진 않았지만, 

이 책에 소개된 개념과 용어를 통해 HTTP2에 대해 깊이있는 학습을 시작 할 수 있는 시작점으로 좋은 책입니다.

HTTP 가 없는 웹을 생각할 수 있을까? 하지만 웹 어플리케이션을 개발하면서 HTTP 를 심각하게 고민하지는 않는다… 뭐랄까 그냥 당연히 있어야할 **공기** 같은 것이랄까?

 

그도 그럴것이 프로토콜 레벨의 구현은 이미 프레임워크나 라이브러리에서 다 해주고 있으니, 프로토콜 스펙 문서를 정독해가면서 개발하지는 않는다. 하지만 시간이 지나면서  HTTP 에 대해 제대로 몰라서 생기는 문제들이 생기고 자연스럽게 [HTTP 완벽 가이드] 요런 책도 읽어보게 된다. 


HTTP/2 에 대한 글이나 기사는 봤지만, 개인적인 관심사의 우선순위나 낮다보니 거의 아는게 없었는데, 이 책을 읽을 기회가 생겼다.

 

우선 이책을 장점은 

1. 200 페이지도 되지 않는 얇은 책이다. (참고로 앞서 언급한 [HTTP 완벽 가이드] 는 700 페이지가 넘는다.) 

2. HTTP2 의 새로운 기능만 단순히 설명하는 책이 아니다.

3. 관련 레퍼런스를 많이 소개해준다.

 

목차를 보면 알겠지만, 우선 HTTP 의 발전 과정을 간략히 정리해준다. 이어서 본격적으로 HTTP/2 에 대한 이야기에 앞서 HTTP/2가 나올 수 밖에 없었던 이유에 대해서 설명해 주는데, 개인적으로는 이 부분(3장)이 가장 마음에 들었다. 오래된 프로토콜의 문제점이 무엇이었는지, 그리고 그런 문제점들을 이겨내기위해 어떤 기법들이 사용되고 있었는지, 성능에 연관된 지표들은 어떤 것 들이 있는지 등. 막연하게 알고 있던 내용뿐만 아니라 처음 알게된 용어나 내용도 적지 않았다. 어찌보면 HTTP/2 의 새로운 기능보다 여기서 알게된 내용이 더 도움이 되는지도 모르겠다.

 

이후 HTTP/2 로의 전환에 앞서 고려해야할 사항들과, 지금까지 성능향상을 위해 사용한 방법들이 HTTP/2 에서는 오히려 마이너스 요인이 되는 기법들. 그리고 드디어 HTTP/2 프로토콜에 대해 자세히 알려준다. 모든 기술이 그렇듯이 덮어놓고 이게 가장 좋다고 말할 수 는 없다는 것이다. 물론 책에서도 말하고 있지만, 대부분의 경우에서 HTTP/2 가 더 나은 성능을 발휘하지만, 그 반대의 케이스도 있다는 것을 알고 있어야 한다는 것. 

 

마지막 장으로 HTTP/2 그 다음은 무엇일지 이야기한다. 짧은 내용이지만 내용이 흥미로웠다. OS 의 커널에 구현되었기에 변경하기 어려운 특징을 가진 TCP 와 UDP을 기반으로 TCP 스택을 사용자 공간(브라우저) 옮기므로써(TCP스택의 구현) 개발자가 네트워크 스택에 대한 제어권을 얻게 되어 더 빠른 개발과 배포를 할 수 있기에 TCP 에서 UDP로의 전환에 대해 언급한다. 그리고 구글이 개발한 QUIC(Quick UDP Internet Connection) 을 간단히 소개한다. 

 

얇은 책 두께에 비해 내용은 반대로 아주 알찬 책임이 틀림없다. 웹 관련 개발자라면 누구나 꼭 읽어볼 만한 책이라고 추천해주고 싶다.

 

 

25373610567_a2f090b83b_z.jpg

 

 

사실 HTTP라는 것은 구현체가 아닌 약속(Protocol)이기 때문에 그냥 보는 것으로는

지루할 밖에 없습니다. 하지만 웹을 개발하는 입장에서 절대 빼놓고 없죠. https 대한

관심이 사실 억지로라도(점유율이 가장 높은 브라우저인 크롬에서 http 페이지에 대해서 안전하지

않음 메세지를 띄워줍니다.) 가질 수밖에 없는 상황에서 한번 중요한 부분은 짚어보겠습니다.

 

Chap. 1 HTTP 진화

 

HTTP 자체의 역사입니다. HTTP/2 어떻게 생기게 되었는지 있습니다.

 

Chap. 2 HTTP/2 맛보기 

 

https 기본적으로 인증서를 거쳐서 통신을 하게 됩니다. 실제 서비스에서 사영하려는 인증서에

대한 사용법과 설명에 대해 간단히 알려줍니다.

 

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

 

장에서는 http에서의 이슈와 그를 https에서 어떻게 해결하려고 HTTP2 정의했는지에 대해

알려줍니다. 가장 신경이 쓰였던 것은 HTTP1.1에서는 이미지로 인한 connection 시간을 줄이기

위해 이미지 스프라이팅을 했었는데, Request 대한 병렬 처리가 가능해졌기 때문에

(현재 브라우저 단에서 받아들일 있는 최대 병렬처리 개수는 6) https에서 기능은

`안티패턴` 되었습니다!!! 뿐만 아니라 안티패턴이 추가적인 요소들이 있어서 https

사용하는 입장에서 확실히 알고넘어가야 겠더군요.

 

Chap. 4 HTTP/2로의 전환

 

http 넘어서 https 적용 , 알고가야 설정이나, 인증서에 대한 설명이 있습니다.

 

Chap. 5 HTTP/2 프로토콜

 

네트워크 레벨의 이야이가 나옵니다. Request, Response 헤더를 집중적으로 분석해주고,

http https일때의 차이를 설명해줍니다. 그리고 HTTP2 가장 메인 기능이라고 있는

`서버 푸시` 대한 설명이 나옵니다. 기존 폴링방식(Client -> Server)이었던 데이터 교환이

반대로 된다는 얘긴데 사실상 체계에서는 힘듭니다. 꼼수로 timeout이나 특정 함수,

iframe 같은 곳에서 서버에 사용자가 인지하지 못한 시간에 Request 해서 자동으로 Response

오는 듯한 효과를 수만 있었죠. 앞으로의 업데이트에서 부분이 어떻게 구체적으로 정의되는지

저는 가장 흥미롭게 보고있습니다.

 

Chap. 6 HTTP/2 성능

 

생각보다 깜짝 놀란 부분인데 https 대부분 브라우저에서 http 비해 전혀 느려지지 않더군요

(... 내가하는건...) http, https 모두 지원하는 상황에서의 최적화 또한 고려해 문제입니다.

앞서 말한 안티패턴과 서버 푸시에 대해 다시한 나오는데 이전보다는 구체적인 해결방법을 알려줍니다. 

 

Chap. 7 HTTP/2 구현

 

...HTTP2 직접 구현해주실 갓을 위한 내용이네요;;; 계속 나오지만 `RFC7540` 버전에 대한

얘기가 계속 나옵니다. 버전의 규약에 대해 깊이 공부해 필요가 있습니다.

 

Chap. 8 HTTP/2 디버깅하기, Chap. 9 다음은 무엇인가

...

 

 


 

 

기본적으로 https에서 강화된 보안때문에 속도가 상당히 느려지는 케이스가 있었는데,

이러한 경우들 모두 최적화에 대한 신경을 쓰지 않아 발생했던 이슈들이었다는 것을

책을 보며 깨달았습니다. 또한 HTTP1.1에서는 권장 사항으로 여겨지턴 패턴이 HTTP2에서는

안티패턴이 것들이 더러 있어 HTTP 메이저 버전 업데이트에 얼마나 많은 노력이 들어갔는지

(20 만의 업데이트...) 다시한 놀라울 따름이네요.

 

 

들어가며

HTTP/1.1은 성능 최적화와 모범 사례라는 흥미롭지만은 않은 복잡한 세계를 만들어냈다. 성능을 짜내려는 업계의 온갖 찬사를 받을 만했다. HTTP/2의 목표 중 하나는 이러한 많은(전부는 아닐지라도) 기법들을 더 이상 쓸모없게 만드는 것이다. 

p54, 웹을 파헤치는 방법 중에

아직 코딩할 여유가 없어 프로토콜과 성능, 디버깅 부분에 대한 내용을 다 읽지 못했지만, 다른 부분을 다 읽은 상태라 리뷰를 남긴다. 입문자에게는 HTTP/2 에 대한 개념을 알려주고, h2를 알거나 이전 h1에 능숙한 중고급자에게 여러 책이나 문서를 권해 다음 길을 안내해주는 책인 것 같다. 두께도 얼마 안되서 읽기 편했는데, 이 내용에 입문자가 아닌 수준의 독자까지 배려한 것에 감탄했다.

HTTP의 진화

HTTP 프로토콜 이전의 하이퍼텍스트 용어의 출현과 h0.9, h1.0 버전에 대한 설명, 굳은 바위처럼 되어버린 h1.1 표준을  해결하기 위해 HTTP 워킹 그룹(표준 규격을 담당하는 IETF 그룹)에서 h2 표준을 정한 이야기를 주로 다뤘다.

HTTP/2 맛보기

HTTPS로 웹 페이지를 관리 중인 분은 이미 아는 내용일 수도 있는데, 자체 서명을 해서 인증서를 받던가, certbot을 내려받아 nghttp2라는 웹서버로 Let's encrypt로 인증서를 발급받고 h2 서버를 직접 실행시켜봤다. 

웹을 파헤치는 이유와 방법

웹의 성능을 향상시키는 방법, 주로 프런트 엔드를 최적화할 팁을 많이 알려줬다.

HTTP/2로의 전환

앞 목차와 이어지는 내용이었다. 주로 최적화를 대응하면서 h1에 비해 차별되는 점을 설명한다.

다음은 무엇인가

TCP에서 벗어나 (좀 더 빠른) UDP로 가기 위한 문제를 얘기하며 다음 HTTP 프로토콜 버전에 대한 저자의 기대를 볼 수 있었다.

HTTP/2 프레임

아, 그리고 부록으로 h2 프레임에 대한 내용도 다루고 있는데, 나중에 디버깅으로 두고두고 볼만 한 것 같다.

 

20180210_012650.jpg

 

  페이스북에서 한빛미디어의 는 리뷰어다 공지를 보고 읽을 만한 책이 있을까 해서 살펴보던 중 필요한 책이 있어서 신청하게 되었다. 작년에 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, 한빛미디어(스티븐 루딘, 하비에르 가르사)

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
러닝 HTTP/2
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
러닝 HTTP/2
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
러닝 HTTP/2
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실