HTTP/2: 오래 기다려온 후속편
속도를 높일 준비가 되셨나요?
Microsoft는 HTTP(Hypertext Transfer Protocol) 개선을 위한 중요한 재작업을 진행하기 위해 1999년 이후 최초로 Internet Explorer 지원 기능을 내놓을 계획입니다. 다소 시간이 오래 걸렸지만 이제는 때가 되었습니다.
지난 몇 년 동안 웹 아키텍처를 간소화하기 위해 많은 노력을 기울여 왔지만 HTTP/2 정도의 규모를 자랑한 적은 한 번도 없었습니다. IETF HTTPbis 작업 그룹의 일환으로 새롭고 효율적이며 호환성 높은 표준을 개발하는 이 작업을 지원하기 위해 많은 노력을 기울여왔습니다. 두 번째로 발표되는 것이기 때문에 HTTP/2라고 하며 Windows 10 기술 프리뷰부터 새로운 Internet Explorer에 포함되어 이제 사용 가능합니다.
Microsoft Open Technologies HTTP/2 페이지를 확인하면 HTTPbis 작업 그룹과 관련하여 진행해 온 작업의 개요를 볼 수 있습니다.
HTTP/2가 구현된 Internet Explorer가 최고인 이유는 무엇인가요?
점점 더 실시간에 가까워지고 모바일이 중요해지고 있는 요즘에는 성능이 중요합니다. 점차적으로 조금씩 개선되는 작은 변화도 중요한 시대입니다. 예를 들어 Bing에서 실시한 한 조사에 따르면 사이트의 페이지 로드 시간이 10ms 증가할수록 매출이 매년 25만 달러씩 저하됩니다. 눈을 깜박이는 속도의 1/3에 해당하는 100ms가 증가하면 검색 결과 관련성을 개선하여 사용자 참여도를 향상시킨 3개월의 작업이 수포로 돌아가게 됩니다. 거래 웹 페이지 응답 속도가 100ms 늘어나게 되면 규모가 큰 온라인 소매업체의 경우 검색 포기로 인해 매출이 최대 1%나 떨어지는 것이 확인되었습니다. 즉, 이 작업 그룹이 하고 있는 노력은 실질적인 경제적 효과를 창출합니다.
과거 방식에 문제가 있었던 것입니까?
전반적으로 말해 현재 웹 페이지가 로드되는 방식은 800x600픽셀 디스플레이의 시대와 거의 같은 방식이었습니다. 분명 지금의 웹은 예전보다 속도가 빨라졌지만 훨씬 더 빠르고 훨씬 더 리소스에 효율적으로 만들 수 있습니다.
페이지 구축하는 데 필요한 브라우저와 서버 간의 개별 쿼리의 수도 지금이 훨씬 많아졌고, 각 개별 호출은 다음 호출을 보내기 전에 서버가 응답할 때까지 대기해야 합니다. 물론 더욱 독립적인 병렬 연결을 더 많이 열 수는 있지만 그래도 동시에 요청할 수 있는 항목의 수가 제한됩니다. 또한 병렬 연결 수는 응답 순서를 좌우하고 서버가 응답을 최적화하지 못하게 만듭니다.
그렇다면 HTTP/2는 어떻게 다른가요?
HTTP/2는 사용 가능한 모든 대역폭을 활용하여 웹 페이지 요소를 더욱 빠르고 효율적으로 제공합니다. 연결이 오래 유지되고 다중화(다수의 요청을 하나의 연결로 결합할 수 있는 프로토콜의 기능)가 가능해져 더 많은 웹 페이지 항목들을 더욱 빨리 가져올 수 있습니다. 서버 푸시 및 요청 의존성과 같은 실험적인 HTTP/2 기능은 앞으로 웹 기능을 더 향상시킬 수 있습니다.
개발자에게는 어떤 의미가 있을까요?
HTTP/2는 처음부터 이전 버전인 HTTP/1.1와도 호환되도록 설계되었습니다. 그렇기 때문에 HTTP 라이브러리 개발자들은 API를 변경할 필요가 없고 그 라이브러리를 사용하는 개발자들도 응용 프로그램 코드를 변경할 필요가 없습니다. 엄청난 이점이 아닐 수 없습니다. 개발자들은 전에 했던 작업을 최신 상태로 만들기 위해 몇 달 동안 작업할 필요 없이 바로 진행할 수 있습니다.
네트워크와 보안은 어떤가요?
빈번한 연결 수가 적어졌다는 사실은 HTTP/2가 네트워크에 전달하는 부담이 줄어들었다는 의미도 됩니다. 그리고 현재 웹의 규모를 고려하면 네트워크, 특히 모바일 네트워크의 효율성이 상당히 높아질 수 있습니다. HTTP/2의 효율적인 연결 모델을 고려할 때, 사이트에 TLS를 추가하는 성능 효과가 줄어들어 더 많은 관리자들이 사이트에 TLS를 추가할 기회가 생겨납니다.
언제 사용할 수 있나요?
HTTP/2 지원은 Windows 10 기술 프리뷰의 IE에 포함됩니다. IE용 HTTP/2에 대한 작업은 실제로 실험적 SPDY 3.0 프로토콜을 추가한 Windows 및 Windows Phone 8.1에서 시작되었습니다. 이 기간 중에 HTTP 프로토콜 다중화 부분에서 경험을 쌓을 수 있었고 계속 작업을 진행하여 HTTP/2를 탄생시킬 수 있었습니다. 이제 이것이 업계 표준이 될 것입니다.
SPDY는 HTTP/2 표준에 알맞은 출발점이 되었지만 장기적인 채택에 도움이 되지 않는 실험적인 프로토콜입니다. HTTP/2이 개발되면서 향후 모든 IE 버전에서 SPDY 지원을 제거할 예정입니다. 현재 SPDY를 사용하고 있는 웹 사이트와 응용 프로그램을 거의 변경하지 않고도 HTTP/2로 마이그레이션할 수 있게 됩니다.
개발자와 사이트 소유자는 이러한 변화에 대해 어떤 준비를 해야 하나요?
- IE Windows 10 기술 프리뷰 버전 실행
- 개발자 도구를 시작하고 네트워크 추적 설정
- HTTP/2 초안-14를 지원하는 사이트 로드. 몇 가지의 유용한 사이트는 다음 구현자 페이지에 나열되어 있습니다. https://github.com/http2/http2-spec/wiki/Implementations
- HTTP/2 패킷 흐름 주시
기술 프리뷰에는 HTTP/2 서버 지원도 포함되어 있습니다. 즉, IIS에서 사이트를 만들고 처음부터 끝까지 콘텐츠를 테스트할 수 있습니다. 참고: IE와 IIS 모두 기술 프리뷰 버전에서 안전하지 않은 연결(즉, HTTP)은 HTTP/2에서 지원되지 않습니다. 안전한 연결(즉, HTTPS)만 HTTP/2에서 지원됩니다.
HTTP/2 구현에 대해 살펴보고 그 진가를 경험하시기 바랍니다! 의견이 있으시면 @IEDevChat 또는 Connect를 통해 알려 주십시오.
- 수석 프로그램 관리자 Rob Trace
- 수석 프로그램 관리자 David Walp