Learning HTTP2(9)
-
CHAPTER5 - HTTP/2 프로토콜-4
5.7 전송 절차 이제 HTTP/2 요청과 응답을 파헤쳐보자. 다시 한번 말하지만, 여기에서는 보기 쉽도록 평문으로 표기하지만 실제로 h2는 압축된 바이너리 형태로 전송된다. 5.7.1 간단한 GETGET은 GTTP에서 가장 많이 사용되는 요청이다. GET은 단순히 이름이 의미하는 대로 동작한다. 즉, GET은 서버에서 자원을 가져오는 일을 한다. 예를 들어, [예제 5-1]의 akamai.com으로 보내는 GET요청을 보자(쉬운 이해를 위해 불필요한 줄은 생략함).예제 5-1 HTTP/2 GET 요청 :authority: www.akamai.com:method: GET:path: /:scheme: httpsaccept: text/html,application/xhtml+xml,...accept-lang..
2019.03.06 -
CHAPTER5 - HTTP/2 프로토콜-3
5.5. 서버 푸시특정 개체의 성능을 개선하는 가장 좋은 방법은 그 개체가 요청되기 전에 브라우저의 캐시에 미리 가져다 두는 것이다. 이것은 바로 HTTP/2의 서버 푸시 기능의 목표다. 서버는 가까운 미래에 특정 개체가 필요하리라는 것을 알 수 있기 때문에 푸시를 통해 클라이언트에 그 개체를 미리 전송할 수 있다. 서버가 임의로 클라이언트에 개체를 전송하도록 허용하면, 성능과 보안을 포함한 여러 면에서 문제가 발생할 수 있으므로 이것은 단순히 푸시를 하는 것에 관한 문제가 아니라, 어떻게 푸시를 잘 할 것인가에 관한 문제다. 5.5.1 개체 푸시하기서버는 개체를 푸시(RFC에는 '응답을 푸시한다'고 표현되어 있다)하기로 결정하면 PUSH_PROMISE 프레임을 구성한다. 이 프레임에는 다음과 같은 여러..
2019.03.05 -
CHAPTER5 - HTTP/2 프로토콜-2
5.4 스트림HTTP/2 규격에서는 스트림을 'HTTP/2 연결이 이루어진 클라이언트와 서버 사이에서 독립적이고 양방향으로 교환되는 일련의 프레임 모음'으로 정의하고 있다. 스트림은 하나의 연결 위에서 개별 HTTP 요청/응답의 쌍을 구성하는 일련의 프레임 모음으로 생각할 수 있다. 클라이언트는 요청을 할 때 새 스트림을 개시한다. 그러면 서버는 동일한 스트림 위에서 응답한다.이는 h1의 요청/응답 흐름과 비슷하지만, 중요한 차이점으로 h2에서는 프레이밍 덕분에 다수의 요청과 응답이 서로를 차단하지 않고 뒤섞여 배치될 수 있다. 스트림 식별자(프레임 헤더의 6~9번째 바이트)는 프레임이 어떤 스트림에 속해 이:ㅆ는지를 나타낸다.클라이언트는 서버와 h2 연걸을 수립한 후, HEASERD 프레임을 전송해 새..
2019.03.04 -
CHAPTER5 - HTTP/2 프로토콜-1
이번 장에서는 전송되는 프레임 수준까지 내려가, HTTP/2가 저수준에서 동작하는 방식을 설명한다. 이를 통해 HTTP/2 프로토콜이 제공하는 많은 장점을 이해할 수 있을 것이다. 이번 장을 다 읽고 나면, 독자들 스스로 h2 환경을 조율하고 디버깅하면서 프로토콜을 활용할 수 있을 만큼 충분한 정보를 얻게 될 것이다. HTTP/2 프로토콜을 구현하려는 목적이라면, RFC 7540이 훌륭한 출발점이다. 5.1 HTTP/2의 계층HTTP/2는 일반ㅇ적으로 두 계층으로 나눌 수 있다. 하나는 h2 다중화 기능의 핵심인 프레이밍 계층이고 다른 하나는 전통적인 HTTP 및 관련 데이터 부분을 포함하는 데이터 계층 또는 http 계층이다. 이 두 계층을 따로 구분하여 완전히 별개인 것으로 생각하기 쉽다. 규격을 잘..
2019.02.28 -
CHAPTER4 - HTTP/2로의 전환
조금 불친절하게 말하자면, HTTP/2를 지원하기 위해 해야 할 모든 일은 h2로 통신하는 웹 서버로 업그레이드하거나 실제 웹사이트를 대신해 h2로 통신할 콘텐츠 전송 네트워크를 사용하는 것이다. 비록 사실일지라도, 이것은 설명하기 어려운 많은 미묘한 부분을 대충 덮어 버리는 것이며, 예상치 못한 큰 대가를 치르거나 성능이 최적 상태에 못 미칠 수 있다. 다음은 웹사이트를 HTTP/2로 전환하기 전에 고려해야 할 몇 가지 항목들이다.브라우저의 h2 지원TLS(HTTPS)로의 전환웹사이트의 h2 최적화(h1용 설정 제거)웹사이트의 서드파티 개체기존 클라이언트를 위한 지원 유지이번 장에서는 이 주제들에 대해 알아야 할 것들을 설명한다. 4.1 브라우저 지원이 책의 집필 시점을 기준으로, 약 80%의 웹 브라..
2019.02.26 -
CHAPTER3 - 웹을 파헤치는 이유와 방법 -2
3.2 웹 성능 기법2000년대 초, 야후에서 일하던 스티브 사우더스와 그의 팀은 클라이언트 웹 브라우저에 웹 페이지를 더 빠르게 불러오는 기법을 제시하고 그 효과를 측정했다. 그는 이 연구를 바탕으로 "웹 사이트 최적화 기법"(ITC, 2008)과 그 속편인 "초고속 웹사이트 구축"(위키북스, 2010)이라는 2권의 독창적인 책을 썼으며, 이 두 책은 웹 성능 기술 발전의 초석을 마련했다.그 이후, 더 많은 연구를 통해 전환율, 사용자 참여율, 브랜드 인지도 측면에서 성능이 웹사이트 소유자의 수익에 직접적인 영향을 미친다는 사실이 확인되었다. 2010년, 구글은 검색 엔진에서 URL 순위를 산출하는 주요 파라미터로 성능을 추가했다. 대부분 사업에서 웹사이트를 보유하는 것이 계속 더 중요해지면서, 웹사이..
2019.02.26