관리 메뉴

IT 컴퓨터공학 자료실

HTTP/2에 대해 본문

영어 번역 & 일본어 번역

HTTP/2에 대해

윤맨1 2015. 9. 10. 09:12

From Wikipedia, the free encyclopedia

 

HTTP/2 (originally named HTTP/2.0) is the second major version of the HTTP network protocol used by the World Wide Web. It is based on SPDY.[1] HTTP/2[2] was developed by the Hypertext Transfer Protocol working group (httpbis, where bis means "repeat" or "twice") of the Internet Engineering Task Force.[3] HTTP/2 is the first new version of HTTP since HTTP 1.1, which was standardized in RFC 2068 in 1997. The Working Group presented HTTP/2 to IESG for consideration as a Proposed Standard in December 2014,[4][5] and IESG approved it to publish as Proposed Standard on February 17, 2015.[6][7] The HTTP/2 specification was published as RFC 7540 in May 2015.[8]

 

HTTP/2World Wide Web에서 사용되고 있는 HTTP 네트워크 프로토콜의 두 번째 메이저 버전이다. 그리고 HTTP/2SPDY(구글이 주축이 되어 개발한 오픈 네트워킹 프로토콜)의 기초가 된다. HTTP/2Internet Engineering Task Force(이하 IETF) 라는 곳에서 개발되었다. HTTP/21997년에 RFC 2068에서 HTTP 1.1이 발표된 이래로 새로 표준화된 버전이다. IETF201412, HTTP/2를 상정된 표준으로 IESG (IETF의 의장과 에리어 디렉터를 총칭하는 것)에 제출했고, 2015217, IESG는 제안된 HTTP/2를 표준으로 승인하였다. HTTP/2의 사양에 대해서는 20155RFC 7540에 공개되었다.

 

The standardization effort came as an answer to SPDY, an HTTP-compatible protocol developed by Google[9] and supported in Chrome, Opera, Firefox, Internet Explorer 11, Safari, Amazon Silk and Edge browsers.[10]

 

표준화에 대한 노력은 현재 HTTP를 대체할 수 있는 프로토콜인 SPDY라는 대답을 얻을 수 있었고, 크롬, 오페라, 파이어폭스, 인터넷 익스플로러 11, 사파리, 실크, 그리고 엣지 웹브라우저에서 SPDY를 지원하고 있다.

 

According to W3Techs 1.2% of all websites support HTTP/2 (August 2015).[11]

 

W3Techs의 자료에 의하면 모든 웹사이트의 1.2%HTTP/2를 지원하고 있다고 한다. (20158월 기준)

 

Differences from HTTP 1.1[edit]

기존 HTTP 1.1과의 차이점

 

The proposed changes do not require any changes to how existing web applications work, but new applications can take advantage of new features for increased speed.[12]

 

기존과 다르게 변화된 것들은 이전 버전의 것들의 수정이 필요하지 않으나,

새로운 어플리케이션은 향상된 속도라는 특성을 장점으로 가질 수 있다.

 

HTTP/2 leaves most of HTTP 1.1's high level syntax, such as methods, status codes, header fields, and URIs, the same. The element that is modified is how the data is framed and transported between the client and the server.[12]

 

HTTP/2HTTP 1.1's의 대부분의 문법이 남아있고, 메소드, 스테이터스 코드, 헤더 필드, URI같은 것들도 역시 남아있다. 변화된 요소는 데이터가 어떻게 다룰 것인가 그리고 어떻게 클라이언트와 서버 사이에 전송할 것인가에 대한 부분이 변화하였다.

 

Websites that are efficient minimize the number of requests required to render an entire page by minifying (reducing the amount of code and packing smaller pieces of code into bundles, without reducing its ability to function) resources such as images and scripts. However, minification is not necessarily convenient nor efficient, and may still require separate HTTP connections to get the page and the minified resources. HTTP/2 allows the server to "push" content, that is, to respond with data for more queries than the client requested. This allows the server to supply data it knows a web browser will need to render a web page, without waiting for the browser to examine the first response, and without the overhead of an additional request cycle.[13]

 

효율적인 웹사이트는 요청 횟수를 최소화시켜 전체페이지를 렌더링 하는 웹사이트를 의미한다. 그러나, 최소화시킨다는 것이 꼭 편리하다거나 효율적이라는 뜻은 아니며, 여전히 페이지와 자원들을 얻어오기 위해 독립된 HTTP가 필요하다. HTTP/2는 내용물을 푸쉬하게 해준다. 다시 말하면, 요청된 클라이언트보다 쿼리를 데이터로 대응한다. 알다시피 서버가 웹 브라우저에 데이터를 제공할 때 웹 페이지를 렌더링 해야 한다. 그런데 쿼리를 데이터로 대응시키면 웹 브라우저가 처음의 리스폰스의 대기를 하지 않아, 리퀴스트 사이클의 추가적인 오버헤드가 없다.

 


 , HTTP V2, HTTP 2



출처 : https://en.wikipedia.org/wiki/HTTP/2