ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP/2는 왜 빠른가 [ 블로터 참조 ]
    카테고리 없음 2016. 7. 6. 09:52
    본 게시물은 http://www.bloter.net/archives/210122 블로터의 기사를 참조하였다.
    기사의 내용이 매우 빈약하다.......

    # HTTP 

    + HyperText Transfer Protocol은 웹에서 정보를 주고받을 수 있는 프로토콜이다.
    + HTTP는 1996년 1.0 버전이나왔고 1999 1.1버전이 출시되어 16년이 지난 지금 90년대 기술에 머물러 있다.





    # HTTP 의 변화

    + 2009년 구글이 SPDY(스피디)라는 기술을 내놓으면서 조금씩 빠른 프로토콜 기술이 나오고 있다.
    + HTTP 기술 표준을 이끄는 국제인터넷 표준화기구(IETF)는 SPDY를 기반으로 새로운 HTTP/2를 만들었다.





    # HTTP 구조적 문제

    + HTTP 는 원하는 기능을 서버에 요청하고 응답을 받는 2번의 절차(Round Trip)를 밟는 구조가 HTTP를 트리게 만드는 요소이다.
    + 쿠키를 많이 활용하면서 헤더 크기가 커지는 것도 속도가 느려지는 원인이다.







    # HTTP/2 구조적 문제 해결

    + 헤더의 크기를 줄이기위해 허프만 코딩이나 헤더 테이블을 활용한다. ( 1/3 가량으로 헤더 크기를 줄일수 있다)
    + 메시지 구조를 “멀티플랙스 스트림” 구조로 바꾸었다. 이로인해 기존보다 적은 TCP 커넥션으로 여러 메시지를 주고받을 수 있따. 여러본 반복했던 똑같은 과정을 한번만 수행하도록 돕는다. 이를 통해 서버와 클라이언트간 통신 시간인 RTT를 절반가량 줄일 수 있다고 한다.
    + 세번째는 서버 푸시다. 클라이언트가 요청하지 않은 리소스를 서버가 알아서 보내는 것이다. 클라이언트가 ‘요청’하던 작업이 줄어드니 전체 처리속도는 빨라질 수밖에 없다.
    + 네번째는 스트림 프라이얼러티다. 이는 중요한 요청에 우선순위를 부과하는 기술을 말한다. 예를 들어 CSS와 그림파일이 중요하다고 지정하면 해당 파일의 의존성을 부과한다. 웹브라우저 화면에 중요한 필요한 파일ㅇ르 빨리 불러내 그림이나 디자인이 깨지지 않을 수 있다.







    # SPDY vs HTTP/2

    + SPDY의 헤더 압축에 zlib기술을 사용하는데 보안상의 문제가 있다.
    + HTTP/2의 경우 zlib 대신 HPACK을 사용한다. 








Designed by Tistory.