이전

리뷰 (4)

한줄평
평점 분포
  • 리뷰 총점10 75%
  • 리뷰 총점8 25%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 8.0
  • 40대 10.0
  • 50대 0.0

포토/동영상 (2)

리뷰 총점 종이책
[서평] HTTP/2의 깊은 이해를 위한 필독서 [Learning HTTP/2]
"[서평] HTTP/2의 깊은 이해를 위한 필독서 [Learning HTTP/2]" 내용보기
학부와 석사과정을 컴퓨터 관련 전공으로 마쳤고, 지금은 컴퓨터관련 전공의 박사과정에 재학중이다. 계속해서 학계에 있어온 터라 웹 개발을 전문적으로 하지는 않았지만, 웹서버 기반으로 동적으로 동작하는 연구목적 또는 취미로 간단한 웹사이트들을 만든 경험이 있다. 특히 Flask 프레임워크에 제일 친숙하고, 최근에는 ReactJS를 이용하여 간단한 사진 브라우징 웹서비스를 만들어
"[서평] HTTP/2의 깊은 이해를 위한 필독서 [Learning 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에 대한 깊은 이해의 지름길이자 바른길, <Learning HTTP/2>를 강력 추천한다 (심지어 가격도 싸다. 약 15,000원!).

이 책을 읽으면서, HTTP/2에 대한 관심이 더 커서 여기저기 자료들을 찾아보던 중, HTTP/2에 대해 잘 설명하고 있는 자료들을 찾아 아래에 정리하였다. 아래 자료들을 보고 <Learning HTTP/2>를 읽는다면 훨씬 이해하기가 쉬울 것이다.

블로그 포스트

2014년 10월 17일, 한국 웹 20주년 컨퍼런스, "더 빠른 웹을 위해: HTTP/2" 발표자료, 발표자: 네이버랩스 이응준

기술문서




p*******r 2018.02.20. 신고 공감 2 댓글 0
리뷰 총점 종이책
복잡한 페이지를 속도 저하 없이 더 잘 처리하는 프로토콜 HTTP/2
"복잡한 페이지를 속도 저하 없이 더 잘 처리하는 프로토콜 HTTP/2" 내용보기
비교적 이해하기 쉽고 잘 풀어쓴 느낌입니다. 보통 IT 번역서들 많이 보다 보면, 일본인들이 쉽게 쓰는 것을 참 잘 한다고 개인적으로 느껴왔는데요. 이 책의 저자는 일본인은 아니지만 그런 느낌을 받았고요. 게다가 프로토콜을 다루는 책이라 딱딱할 줄 알았는데 그렇지도 않았어요. 그렇지만 아무리 잘 풀어썼다고 하더라도 HTTP의 차기 버전에 대한 내용을 다루고 있는 만큼 최소한의
"복잡한 페이지를 속도 저하 없이 더 잘 처리하는 프로토콜 HTTP/2" 내용보기

비교적 이해하기 쉽고 잘 풀어쓴 느낌입니다. 보통 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를 다루는 책은 왜 이 책이 처음인지 좀 의아하기도 하네요.

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



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

n*******g 2018.02.10. 신고 공감 0 댓글 0