책/HTTP2 In Action
-
[HTTP2 In Action] 5. 서버 푸시의 구현책/HTTP2 In Action 2025. 4. 8. 11:02
서버 푸시의 개념과 사용하는 이유 HTTP/2 서버 푸시를 사용하면 클라이언트가 요청하지 않은 추가 리소스를 서버가 클라이언트로 보낼 수 있다. 이런 서버 푸시를 사용하는 이유는 라운드 트립을 줄여서 렌더링을 시작할 수 있게 하기 위함이다. 라운트 트립(Round-trip)은 클라이언트와 서버간의 데이터 왕복 과정이다. 브라우저는 리소스를 받아야 렌더링을 시작한다. index.html 을 받아 파싱하여 만난 link 나 src 의 src 로 css 나 js 를 다시 서버에 요청을 하는데 index.html 을 전부 전송받고 나서야 이 둘을 요청하기 때문에 라운드 트립이 추가되는 것이다. HTTP/2 는 엄밀하게는 양방향 통신이 아니다. 서버 푸시는 브라우저의 요청에 대한 추가 응답을 주는 것으로 ..
-
[HTTP2 In Action] 4.2. HTTP/2 프로토콜 기초 - 프레임의 구조책/HTTP2 In Action 2025. 3. 31. 10:51
프레임 프레임은 HTTP/2 에서 다중화된 단일 연결의 스트림에서 전송되는 데이터 단위이다. 프레임은 고정 길이 헤더와 페이로드로 이루어져 있는데 헤더에는 프레임의 길이, 타입, 플래그, 리저브드 비트(현재는 사용되지 않음 반드시 0으로 해야함!! ),식별자로 이루어져 있다. Type 필드는 현재 14개가 정의되어 있다고 한다. DATA, HEADERS, PRIORITY, RST_STREAM, SETTINGS,PUSH_PROMISE, PING, GOAWAY, WINDOW_UPDATE,CONTINUATION, ALTSVC, ORIGIN, CACHE_DIGEST, (0xb) Length 필드는 프레임의 길이를 말한다. Stream Identifier 는 프레임을 식별하는 부호 없는 31비트 정수다. 31비..
-
[HTTP2 In Action] 4.1. HTTP/2 프로토콜 기초 - 왜 HTTP/1.2 가 아니고 HTTP/2 일까?책/HTTP2 In Action 2025. 3. 13. 11:02
드디어 드디어 HTTP/2 기초이다!! 먼저 왜 HTTP/1.2 가 아니라 HTTP/2 일까?이런 이유는 하위호환을 깨뜨리는 변화가 있었기 때문이다. 이 하위 호환을 깨뜨리는 변화는 다음과 같다. 텍스트 기반 통신이 아닌 바이너리 통신멀티플렉싱스트림 우선순위화헤더 압축서버 푸시 HTTP/1.0 웹 서버가 HTTP/1.1 웹 서버의 메세지를 이해하고 이후 버전이 추가한 기능을 무시할 수 있지만 HTTP/2 에서는 그렇지 않다. 하지만 그럼에도 같은 TCP 위에서 동작하니 HTTP/1.2 라고 해야하지 않느냐는 이야기가 있는데 그것은 나중에 나온다. 이제 이 변화들에 대해 살펴보자. 바이너리 통신 HTTP/2에서는 기존 청크 방식은 사용하지 않고 바이너리 프로토콜을 적용했다. 청크란?HTTP 응답 데이터를..
-
[HTTP2 In Action] 3. HTTP2로 업그레이드 여정책/HTTP2 In Action 2025. 3. 10. 08:43
그간 HTTP 1.1 의 한계와 우회적 성능 향상 방법을 정리했다. 오늘은 HTTP/1.1 에서 HTTP/2 로 업그레이드된 과정과 HTTP/2 기초에 대해 정리하려고 한다. SPDY 의 탄생 구글로부터 HTTP/2 의 전신이라고 할 수 있는 SPDY 가 개발되었다. 이 SPDY는 HTTPS 처럼 HTTP 를 감싸는 것과 비슷하게 개발되어, HTTP의 근본적인 용도를 변경하지 않고 개발되어 기존의 모든 네트워크, 라우터, 스위치 그 외의 인프라스트럭처는 어떤 변경을 하지 않고 적용할 수 있었다. 이 점이 이전에 HTTP/1.1 을 개선하기 위해 진행했던 프로젝트 HTTP-NG 가 실패한 것과 반대로 성공할 수 있던 이유가 되었다. SPDY 는 HTTP/1.1 의 근본적인 문제를 해결하기 보다 성능적 ..
-
[HTTP2 In Action] 2. HTTP1.1 의 근복적인 성능 이슈와 우회 방법책/HTTP2 In Action 2025. 3. 7. 11:02
인터넷이 발전함에 따하서 데이터를 주고받는 양이 증가하였다. 따라서 더 빠른 다운로드 속도에 대한 요구가 늘어나고 있다. 인터넷 가용성과 속도는 광대역과 광섬유망과 같은 기술로 인해 증가했고 증가하고 있지만 하지만 대기 시간은 기본적으로 광속에 의해 제한되어 있기에 우회적으로 해결하기 위한 다양한 시도가 있었다. 오늘은 HTTP 1.1 의 근본적인 한계에 대해 정리해보려고 한다. HTTP 1.1 의 한계HTTP 1.1 은 텍스트 기반 요청 응답 프로토콜이다. 여러 리소스를 요청하게 되면 HOL 블로킹이 발생한다. HOL 블로킹이란? Head-Of-Line 블로킹이라고 하고 HTTP 뿐만 아니라 다른 네트워크 프로토콜에도 흔하다고 한다. 향후 TCP HOL 블로킹 문제도 다룰 예정이다. 해당 그림에서..
-
[HTTP2 In Action] 1. http의 역사와 https책/HTTP2 In Action 2025. 2. 16. 23:31
해당 서적으로 스터디를 시작한지 2주가 되어간다.잊지 않기 위해 기록한다. 들어가기 전에!!리소스는 무엇인가?웹의 리소스는 인터넷상에서 고유하게 식별되고 액세스할 수 있는 모든 콘텐츠나 서비스를 의미한다.이 리소스에 고유하게 접근할 수 있는 식별자를 URI 라고 부르는데URN 과 URL 모두 URI 이다.요즘엔 URL 과 URI 를 혼용해서 쓰기도 한다.HTTP 는 무엇인가?HTTP 는 이름대로 하이퍼텍스트를 전송하기 위한 프로토콜이지만 다른 미디어들도 전송할 수 있다.따라서 사실상 HTTP 는 웹에서 데이터를 주고받기 위한 프로토콜이다.요청-응답 구조로 stateless 하다. HTTP 는 TCP/IP 가 제공하는 안정적인 네트워크 연결에 의존하는데 TCP/IP 는 OSI 모델의 여러 계층(둘 에서 세..