웹 개발 메모장

[http] http의 병목현상을 해결할 SPDY 본문

옛날../http

[http] http의 병목현상을 해결할 SPDY

도로롱주 2018. 1. 2. 10:22




SPeeDY



병목 현상 : bottle neck 현상, 예를 들어 고속도로 톨게이트에서 정체가 생기는 현상


HTTP의 한계

1개의 connection으로 1개의 request 만 전송 가능합니다.

클라이언트로부터 request가 오지 않으면 서버는response를 할 수 없습니다.

HTTP 메시지의 헤더를 압축하지 않고 보냅니다.

매번 장황한 같은 해더를 보냅니다.

데이터를 압축해서 보내는게 강제적이지 않습니다.


AjaxComet 등 사용성을 퀘적하게 하는 여러 가지 기술이 등장해서 어느 정도 개선되었지만, HTTP라는 프로토콜의 제약은 없앨 수는 없었습니다. 근본적으로 개선하기 위해서는 프로토콜 레벨에서의 개선이 필요합니다. 그래서 개발이 진행되고 있는 것이 SPDY 입니다.


SPDY HTTP를 버리고 새로 만드는 프로토콜이 아니라 TCP/IPapplication 계층과 transport 계층 사이에 새로운 세션 계층을 추가하는 형태로 동작하기 때문에 기존 http 의 기능들을 사용할 수 있습니다.



거기에 추가로 다음과 같은 기능들을 제공합니다.


기능

다중화 스트림

단일 TCP 접속으로 무제한 request 처리 가능

request 우선순위 부여

복수의 request를 보낼 때 처리가 늦어지는 현상 우선순위로 해결

HTTP 헤더 압축

헤더를 압축함으로써 통신 부담 감소

서버 푸시 기능

request 없이 response 전송 기능

서버 힌트 기능

서버가 클라이언트에게 request 해야할 리소스 제안

(캐시가 있다면 불필요한 request 전송하지 않아도 됨)




Comments