HTTP / 2 (HTTP / 2.0)
HTTP / 2 (원래 HTTP / 2.0으로 명명 된 )는 HTTP의 다음 세대 프로토콜로 원래 Google에서 개발 한 초기 실험용 "SPDY 프로토콜"에서 파생
HTTP / 2의 특징은 아래와 같다.
- 대기시간을 줄여 웹 브라우저의 페이지로드 속도를 향상
• HTTP 헤더의 데이터 압축
말그래도 헤더를 압축하여 양을 줄이고, 반복되는 헤더부분을 과감히 제거함
• 서버 푸시
클라이언트에서 요청한 첫 요청에 대해 서버 쪽에서 이후 필요한 리소스를 알고있다면 추가로 다 보내주는 것.
• Multiplexing
기존 HTTP 1.1에서는 request 하나당 한 개의 response를 받을 수 있었다.
이는 페이지를 로드하는데 필요한 리소스(파일)가 많을 수록 계속해서 request를 보내야 한다는 것.
(TCP 커넥션 1 : 리소스 1)
그러나 HTTP / 2에서는 request 하나에 대해 서버에서 필요한 리소스를 한 꺼번에 처리할 수 있게 해준다.
(TCP 커넥션 1 : 클라이언트 페이지 1)
• 요청 우선순위
request에 우선순위를 포함시켜 보냄으로써 필요한 요청에 대해서 우선 처리하도록 함
• HTTP 1.X에서 head-of-line blocking 문제 수정
대기시간 줄이는 일이 사실상 head-of-line blocking 문제 수정과 같은 의미라고 보인다.
※ Head-Of-Line blocking
- HTTP 1.1과 호환성 유지
- 데스크탑 웹, 모바일 웹 등 다양한 플랫폼에서 공통된 사용을 지원
암호화 부분에서도 추가적인 내용이 있다고 하지만 나중에 정리하는 걸로.
참조
- https://en.wikipedia.org/wiki/HTTP/2#cite_ref-78
- https://radware.com/newsevents/pressreleases/radware-alteon-provides-fastest-website-acceleration/
- https://blog.radware.com/applicationdelivery/applicationaccelerationoptimization/2015/07/what-to-know-about-http2/
- http://americanopeople.tistory.com/115
- http://nuli.navercorp.com/sharing/blog/post/1132452
끝