HTTP/1.1
HTTP/1.1은 기본적으로 연결(Connection) 하나당 요청과 응답을 처리하기 떄문에
동시전송 문제와 다수 리소스 처리하기에 속도와 성능 이슈가 발생한다.
HTTP/2
HTTP/1.1에 대한 속도와 성능 이슈를 해결하고자 나온 것이 HTTP/2이다.
HTTP/2는 HTTP 표준을 대체하는 것이 아니라 확장한 것으로 HTTP/2 특징은 다음과 같다.
특징 | 내용 |
Multiplexed Streams | * 커넥션 하나로 여러 메시지를 동시에 주고받을 수 있음. * 네트워크 리소스를 보다 효율적으로 사용하여 지연 시간을 줄일 수 있음. |
Stream Prioritization | * 요청 리소스간 의존 관계를 설정할 수 있음. |
ServerPush | * 클라이언트 요청없이도 클라이언트로 Push할 수 있음. |
Header Compression | * Header 정보를 HPACK 압축방식 이용하여 압축전송 가능. * Header 필드 압축을 통해 프로토콜 오버헤드 최소화. |
HTTP/2의 성능 향상 중 핵심
HTTP/2에 성능 향상 중 핵심은 새 바이너리 프레이밍 계층으로, 이 계층 HTTP 메시지가 캡슐화되어 클라이언트와 서버 사이에 전송되는 방식을 규정한다.
기존 줄바꿈으로 구분되는 일반 텍스트 HTTP/1.x 프로토콜과 달리, 모든 HTTP/2통신은 더 작은 메시지와 프레임으로 분할되며, 각각은 바이너리 혁식으로 인코딩된다.
HTTP/2의 Stream, Message, Frame
Stream과 Message, Frame에 대한 용어 설명은 다음과 같다.
용어 | 내용 |
Stream | * Connection 내에서 양방향 통신을 하고, 하나 이상의 메시지를 전달할 수 있음. |
Message | * 요청 또는 응답 메시지에 매핑되는 프레임의 전체 시퀀스를 의미한다. |
Frame | * HTTP/2에서 통신 최소 단위를 말하며, 최소 단위에는 하나의 프레임 헤더가 포함된다. * 프레임 헤더는 최소한으로 프레임이 속하는 스트림을 식별할 수 있다. |
정리하여 설명하면 다음과 같다.
- HTTP/2는 HTTP 프로토콜 통신을 바이너리 인코딩된 프레임의 교환을 세분화한다.
- 프레임은 특정 스트림에 속하는 메시지에 매핑한다.
- 모든 프레임은 단일 TCP 연결 내에서 다중화한다.
'기타 > HTTP & 인증체계' 카테고리의 다른 글
[HTTP] HTTP란 무엇인가? HTTP 알아보기2 - URI & URL (0) | 2021.01.12 |
---|---|
[HTTP] HTTP란 무엇인가? HTTP 알아보기 1 (0) | 2021.01.12 |
[인증체계] OAuth 2.0 정리 with OAuth (2) | 2020.10.12 |