HTTP : 웹상에서 클라이언트와 서버 간 통신을 위한 프로토콜
HTTP 1.1
- 방식 : 한 개의 요청과 응답마다 TCP 커넥션을 생성하여 사용 , 일반 텍스트 형식
- 문제점 : 오버헤드 발생
- 해결1 : 지속 커넥션 적용(지정한 타임아웃만큼 커넥션을 종료하지 않는 방식으로 해결)
- 해결2 : 파이프라이닝 지원하여 요청의 응답 지연을 감소 (요청1, 응답1 기다리는게 아니라! 필요한 모든 자원에 대한 요청을 순차적으로 서버로 전송 > 모든 요청에 대한 응답을 한 번에 기다림)
- 그럼에도 문제점 : Head-of-Line Blocking(HOL Blocking) : 파이프 라인 전송 시, 요청의 순서를 일괄적으로 처리하기에, 첫 번째 요청이 오래걸리면, 나머지는 다 대기함.
- 그럼에도 문제점 : 요청마다 동일한 헤더를 반복하여 전송
HTTP 2.0
> 방식 : 메시지를 프레임 단위로 분할, 바이너리 형태로 만들어서 전송 > 파싱 및 전송 속도 향상
> 장점 : 멀티플렉싱 지원(하나의 커넥션을 사용하여 요청과 응답을 병렬로 처리할 수 있음) 클라이언트가 서버로 여러 요청을 동시에 보내도 각 요청이 독립적으로 처리됨 > HOL Blocking 문제 해결
> HPACK 헤더 압축방식을 통해 헤더를 효율적으로 사용, 대역폭 사용을 최적화
'cs(with 매일메일)' 카테고리의 다른 글
| [251118화] 캐시 스탬피드 현상에 대하여 설명해주세요 (0) | 2025.11.18 |
|---|---|
| [251117월] 관계형 데이터베이스와 비 관계형 데이터베이스의 차이점은 무엇인가요 (0) | 2025.11.17 |
| [251112수] 스케일 아웃과 스케일 업의 차이점을 설명해주세요 (0) | 2025.11.12 |
| [251111화] ACID에 대해서 설명해주세요 (0) | 2025.11.11 |
| [251110월] REST란 무엇인가요? (0) | 2025.11.10 |