HTTP/2

Single Ko·2023년 4월 22일
0

http

목록 보기
14/15

HTTP/2 ??

성능 제한을 해결하고 데이터가 인터넷을 통해 전송되는 방식을 최적화하기 위해 원래 HTTP/1.1에 대한 개선 사항으로 도입되었습니다.

  1. 바이너리 프로토콜: 텍스트 기반 프로토콜인 HTTP/1.1과 달리 HTTP/2는 데이터 전송에 바이너리 형식을 사용합니다. 이렇게 하면 메시지 구문 분석 및 해석의 복잡성이 줄어들기 때문에 더 효율적이고 오류 발생 가능성이 줄어듭니다.

  2. 멀티플렉싱: HTTP/2를 사용하면 단일 TCP 연결을 통해 여러 요청과 응답을 동시에 보낼 수 있습니다. 이렇게 하면 클라이언트와 서버 간에 다중 연결이 필요하지 않으므로 대기 시간이 크게 줄어들고 사용 가능한 네트워크 리소스를 더 잘 활용할 수 있습니다.

  3. 헤더 압축: HTTP/2는 클라이언트와 서버 간에 전송해야 하는 데이터의 양을 줄이는 HPACK 압축 알고리즘을 사용하여 헤더 데이터를 압축합니다. 이렇게 하면 대기 시간과 대역폭 사용량을 모두 줄일 수 있습니다.

  4. 서버 푸시: HTTP/2를 사용하면 클라이언트가 요청하기 전에 서버가 리소스(CSS, JavaScript, 이미지)를 클라이언트의 캐시에 사전에 푸시할 수 있습니다. 이렇게 하면 필요한 모든 리소스를 가져오는 데 필요한 왕복 횟수를 줄여 페이지 로드 시간을 개선할 수 있습니다.

  5. 스트림 우선 순위 지정: HTTP/2를 사용하면 클라이언트가 여러 요청에 우선 순위를 할당하여 서버에서 우선 순위가 더 높은 리소스를 더 빨리 제공할 수 있습니다. 이를 통해 웹 페이지 로딩을 최적화하고 중요한 자원이 먼저 전달되도록 할 수 있습니다.

  6. 흐름 제어: HTTP/2는 클라이언트와 서버 모두에 대한 흐름 제어 메커니즘을 제공하여 연결을 통해 전송되는 데이터의 양을 관리할 수 있도록 합니다. 이것은 발신자가 너무 많은 데이터로 수신자를 압도하는 것을 방지하여 안정적이고 효율적인 데이터 전송을 유지합니다.

  7. 향상된 보안: HTTP/2 자체는 암호화 사용을 의무화하지 않지만 대부분의 최신 웹 브라우저는 TLS(Transport Layer Security)를 통한 HTTP/2만 지원합니다. 즉, 대부분의 HTTP/2 연결이 기본적으로 암호화되어 더 안전한 브라우징 경험을 제공합니다.

profile
공부 정리 블로그

0개의 댓글