2025/03/30 3

[러닝 HTTP/2] 5. HTTP/2 프로토콜

스티븐 루딘, 하비에르 가르사 님의 "러닝 HTTP/2" 책을 정리한 글입니다. 1. HTTP/2의 계층프레이밍 계층HTTP 프로토콜을 효율적으로 주고받기 위한 기능을 수행특징설명바이너리 프로토콜 사용HTTP/2는 텍스트 기반이 아닌 바이너리 프로토콜을 사용하여 효율적 전송헤더 압축반복적인 헤더 데이터를 압축하여 네트워크 효율성을 높임암호화데이터를 암호화하여 보안성을 강화 (기본적으로 HTTPS 사용)다중화하나의 연결을 통해 여러 요청과 응답을 동시에 처리하여 성능 향상 데이터 계층HTTP1.1 과의 호환성 유지실제 데이터 전송 2. 연결h2에서 모든 프레임과 스트림은 하나의 연결을 통해 전송됨 매커니즘 클라이언트가 연결을 시작새 연결 열기 or HTTP/1.1에서 Upgrader: h2cHTTP1.1에..

Network 2025.03.30

[러닝 HTTP/2] 4. HTTP/2로의 전환

스티븐 루딘, 하비에르 가르사 님의 "러닝 HTTP/2" 책을 정리한 글입니다. HTTP/2로의 전환을 위해 고려해야 할 항목들1. 브라우저 지원대부분의 브라우저가 지원지원하지 않는 브라우저에서는 프로토콜 협상 절차가 무시되어 h1으로 되돌아와 인프라에 접속할 것 2. TLS로의 전환 대부분의 브라우저가 TLS로만 h2에 접속 가능함TLS 버전은 적어도 1.2 이상이여야 함 (RFC 7540의 9.2절 참고) 고려사항항목설명웹 서버 파악하기웹 서버의 인증서를 확보하고, 보안 설정을 점검함.인증서 확보CSR(인증서 서명 요청)을 생성하고, 도메인 소유권을 검증한 후, 인증기관에서 인증서를 구매함.개인키 보호하기개인키 저장 위치를 결정하고, 접근 권한을 제한하여 보호함.서버 부하 대비하기TLS 핸드셰이크를 ..

Network 2025.03.30

[러닝 HTTP/2] 3. 웹을 파헤치는 이유와 방법

스티븐 루딘, 하비에르 가르사 님의 "러닝 HTTP/2" 책을 정리한 글입니다.1. 오늘날의 성능 문제페이지 내 수 백개의 개체, 수천 개의 도메인, 변동이 심한 네트워크, 광범위한 디바이스 기능이 존재하는 환경일관되고 빠른 웹 경험을 만들어 내는것은 쉬운 일이 아님사용자와의 상호작용을 원활하게 하기 위해 웹 페이지 렌더링 단계마다 내재된 문제를 이해하는것이 필요함 웹 페이지의 요청 과정브라우저에서 링크를 클릭해서 웹 페이지가 표시될 때까지 일어나는 일을 이해하는 것이 중요브라우저는 웹 페이지에 필요한 모든 정보를 반복적으로 요청하는 방식으로 일함 fetching단계설명1️⃣ Fetch Queue 추가가져올 URL을 fetch queue에 push2️⃣ DNS 조회호스트 이름(IP 주소) 조회3️⃣ TC..

Network 2025.03.30