SPDY

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

SPDY(스피디/speedy/로 발음)[1]는 웹 콘텐츠를 전송할 목적으로 구글이 개발한 개방형 네트워크 프로토콜이다.[1] 2012년 7월에 SPDY 개발 그룹은 인터넷 초안으로 이용 가능한 표준화 작업을 진행하고 있다고 발표했다.[2] HTTP 2.0의 첫 초안은 SPDY를 규격 초안 및 편집을 위한 작업 기반으로 사용한다.[3] SPDY는 웹 페이지 부하 레이턴시를 줄이고 웹 보안을 개선하는 목표 면에서 HTTP와 비슷하다. SPDY는 압축, 다중화, 우선 순위 설정을 통한 레이턴시 감소를 달성한다.[1] "SPDY"는 구글의 상표이며 두문자어는 아니다.[4]

SPDY는 크로미엄[5], 모질라 파이어폭스[6], 오페라[7], 아마존 실크, 인터넷 익스플로러[8] 등의 브라우저에 구현되어 있다. 애플은 OS X 요세미티에 포함될 사파리 차기 버전에 SPDY 구현이 포함될 것이라고 밝혔다.[9]

설계[편집]

SPDY는 웹 페이지의 로딩 시간을 줄이기 위한 목적으로 설계되었다.[10] 이를 위해 SPDY 클라이언트는 하나의 소켓 연결을 통해 페이지를 구성하는 여러개의 하위 요소를 한꺼번에 전송받을 수 있도록 만들어졌다.[1] 또한 항상 사람이 읽을 수 있는 형태의 헤더를 보내는 HTTP와 달리, SPDY 헤더는 gzip 또는 DEFLATE 알고리즘으로 압축되어 적은 용량을 차지한다.[11] SPDY 서버는 클라이언트의 요청을 기다리지 않고, 페이지의 내용이 변경되었음을 클라이언트에 알리거나 새 변경내용을 직접 전송할 수 있다.

SPDY는 암호화되지 않은 연결을 지원하지 않으며, 반드시 SSL 또는 TLS로 암호화되어야 한다.

HTTP 와의 관계[편집]

SPDY는 HTTP를 대체하는 프로토콜이 아니라, HTTP가 전송 계층을 통해 전송되는 방식을 재정의하는 프로토콜이다.[1] 따라서 전송 계층의 구현만 변경하면 기존 HTTP 서버 프로그램을 그대로 SPDY에서 사용할 수 있다.

SPDY는 HTTP 헤더를 해석하고 단순화하여 압축 전송한다. SPDY는 기존에 보냈던 HTTP 헤더와 같은 내용의 헤더가 재전송될 경우 다시 보내지 않고, 다른 내용의 헤더는 압축 전송함으로서 전송 시간을 절약한다.

HTTP 2.0 프로토콜은 SPDY를 기반으로 설계되고 있다.[3]

같이 보기[편집]

참조[편집]

  1. (영어) SPDY: An experimental protocol for a faster web. 《Chromium Developer Documentation》. 2009년 11월 13일에 확인.
  2. (영어) SPDY Protocol on IETF. 2012년 2월 8일에 확인.
  3. (영어) Nottingham, Mark. First draft of HTTP/2. 《HTTP Working Group Mailing List》. 2 December 2012에 확인.
  4. (영어) Google Permissions: Guidelines for Third Party Use of Google Brand Features. Google. 2011년 9월 30일에 확인.
  5. (영어) SPDY on Google servers?. 2012년 2월 28일에 확인.
  6. (영어) Mozilla Bug 528288 - Implement SPDY protocol.
  7. (영어) Opera: Built-in support for the SPDY protocol. 2012년 11월 6일에 확인.
  8. (영어) IE11 SPDY/3 confirmed. 2013년 6월 25일에 확인.
  9. (영어) Apple - Press Info - Apple Announces OS X Yosemite (2 June 2014). 2014년 6월 2일에 확인.
  10. (영어) A 2x Faster Web. Official Google Chromium Blog (2009년 11월 11일). 2009년 11월 13일에 확인.
  11. (영어) SPDY Protocol - Draft 3. 25 August 2012에 확인.

바깥 고리[편집]