윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT/서버
HTTP/2

사용자 삽입 이미지


- 2015.02.17에 HTTP/2 프로토콜이 승인되었습니다. RFC 등록이 남아있긴 하지만 이건 시간문제일 뿐이구요.

- HTTP란 웹의 근간을 이루는 프로토콜의 이름입니다. 웹 주소(예를 들어 http://windy.luru.net) 첫머리에 나오는 http 가 바로 그겁니다.

- 이번 HTTP/2 프로토콜은 현재 사용하고 있는 HTT/1.1 의 뒤를 잇는 프로토콜입니다. 1999년 발표된 프로토콜로 오래되긴 했지만 큰 문제 없이 쓰다가, 어느 시점부터 성능에 대한 불만이 생기기 시작합니다. 특히 https 가 대중화 되면서 더욱 가중되었죠. 뭔가를 바꾸면 훨씬 빨라질 수 있는데 그걸 표준 규격 지키느라고 못바꾸니까요.

- 답답해하던 구글은 결국 SPDY라는 프로토콜을 제안합니다. SPDY는 몇차례의 개정을 거치다가 SPDY 4.0 즉 HTTP/2 로 결실을 보게된겁니다.

- HTTP/2 의 핵심은 '다중화'입니다. '요청-응답-요청-응답'의 순서를 반드시 지켜야 할 필요 없게 된거죠. 이렇게 되면 서버에서 'I/O다중화'를 적극적으로 사용해 괄목할만한 성능 향상을 이뤄낼 수 있게 됩니다. 성능 향상정도는 특히 https 에서 두드러집니다.

- 현재 Chrome 40과 Firefox 36에서 HTTP/2를 지원하고 있습니다. 곧 나올 Windows 10의 IE11과 IIS에서도 지원됩니다. 문제는 오픈소스 웹 서버들인데 Nginx, Apache, lighttpd 가 지원을 못합니다. 특히 가장 널리 사용되는 서버인 아파치가 아직 지원을 못하기 때문에 범용적으로 사용하질 못하고 있습니다. 물론 이런 브라우저들도 지원계획은 있는데 아직 구현하지 못한것일 뿐 지원은 당연한 사항입니다. 어서빨리 지원되었으면 좋겠네요.

----

2015.10.13 업데이트

Apache 2.4.17 부터 mod_http2 를 통해서 http2 지원하네요. libnghttp2  를 사용하기 때문에 같이 설치해줘야 합니다.