카테고리 없음

[네트워크] HTTP1,HTTP1.1 의 차이

E@st 2022. 6. 26. 18:41

HTTP

웹 브라우저 주소 입력란에 URL을 입력했을 때 어떻게 해서 웹 페이지가 보일까? 브라우저 주소 입력란에 URL을  입력하면 어떤 방식인지 모르더라도 문제없이 웹 페이지를 볼 수 있습니다.

브라우저 주소 입력란에 URL을 입력하면 어디선가 응답이 돌아오며 원하는 페이지가 돌아오는 것을 알고 있습니다. 웹 브라우저는 웹 브라우저 주소 입력란에 지정된 URL에 의지해서 웹 서버로부터 리소스라고 불리는 파일 등의 정보를 얻고 있는 것입니다. 이때, 서버에 의뢰를 하는 것을 클라이언트라고 부르고 클라이언트에서 서버까지 흐름을 결정하는 것을 웹에서 HTTP(HyperText Transfer protocol)이라고 부릅니다. 

HTTP1.0과 HTTP1.1

HTTP1.0이 정식 사양으로 공개된 것은 1996년 이였습니다. 초기의 사양이지만 현재에도 현역으로 가동되고 있는 프로토콜 사양이기도 합니다. 

HTTP1.0과  HTTP1.1의 차이는 TCP 세션을 지속적으로 유지할 수 있냐? 없냐의 차이를 둔다. HTTP는 요청 콘텐츠마다 TCP 세션을 새로 맺어야 한다.(1 GET / 1 Connection) 하지만 HTTP1.1 은 Persistent기능을 이용하여 하나의 TCP 세션을 통해 여러 개의 콘텐츠 요청이 가능하다.(N GET / 1 Connection) 이 차이점으로 서버는 TCP 세션 처리 부하를 줄일 수 있기에 좋고 그만큼 RTT(패킷 왕복 시간)이 줄어들기 때문에 클라이언트는 요청사항을 더 빠르게 접할 수 있다. 

커넥션 유지와 함께 Persistent 기능을 통한 파이프라이닝(Pipelining)이라는 기술이 있다. 1.0에서는 HTTP요청은 순차적으로 이루어지지만 파이프라이닝 기능을 사용한다고 하면 여러 개의 콘텐츠 요청을 한 번에 수행하고 받을 수 있다. 이것으로 응답 속도를 높여 페이지 뷰의 속도를 빠르게 할 수 있다.

 

 다음은 호스트 헤더(Host Header) 을 보자 1.0 환경에서는 하나의 IP에 여러 개의 도메인을 운영할 수 없었다. 이렇게 되면 도메인을 늘릴 때마다 서버의 개수도 같이 늘려줘야 하는 구조가 된다. 그래서 1.1에서는 호스트 헤더 기능을 추가하여 버츄얼 호스팅이 가능해졌다고 한다. 그래서 하나의 IP주소에 여러 도메인을 담당하게 할 수 있게 되었다.