[Basic] HTTP 버전별 특징
정리
HTTP 1.0
- 단기 커넥션(Short-lived connections)
- Request를 날릴 때마다 Connection을 새로 생성
- 데이터 전송
- 플레인텍스트
- Data를 압축해서 전달이 가능하도록 하여 전달하는 Data 양이 감소
HTTP 1.1
- 지속 커넥션(Persistent connection)
- 커넥션 재사용 가능
- HTTP 파이프라이닝(Pipelining)
- Request를 미리 여러개 서버에 날릴 수도 있게 되었다
- 한 Reuqest 당, 한 개의 리소스를 받아옴
- 헤더 압축으로 인한 성능 향상
- 단점(Head Of Line Blocking)
- 요청한 Request에 문제가 있어서, 응답이 늦어지면 2번째, 3번째에 요청한 Request의 응답도 같이 늦어짐
HTTP 2.0
- Multiplexing
- 프레임 단위로 나눠서 전송,관리 가능하게 됨. * 다수의 요청과 응답이 가능한 구조
- 데이터 전송
- ServerPush 사용
- 브라우저에서 필요한 리소스들을 서버가 알아서 찾아다가 내려주는걸 의미한다
- 필요한 경우
- 캐싱되지 않은 리소스를 받아올 때
- 페이지에서 필요한 리소스가 페이지를 내려주는 서버에 있을 때
참고