기본적으로 어떤 분야에 대해 처음 공부를 시작할 때 용어에 대한 의미를 알고 시작하는 것이 매우 중요하다고 생각한다. 주제가 되는 단어의 의미를 아는 것만으로도 배움의 깊이가 달라진다.
네트워크라는 단어에 대해서 알아보자.
간단히 한줄로 정리하면 네트워크는 컴퓨터 통신 기술을 이용하여 두 대 이상의 컴퓨터들을 연결시키고 서로 통신하는 것, 어떤 연결을 통해 컴퓨터의 자원을 공유하는 것 이라고 할 수 있다.
HTTP는 HyperText Transfer Protocol 의 약자로 직역해보면 하이퍼텍스트 이동 프로토콜이다. 여기서 HyperText 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트이다.
HyperText는 웹과 결합하여 HTML(HyperText Markup Language)의 주된 구성요소가 되었다.
다음은 Protocol이다. 사전에서 프로토콜을 위와 같이 정의하고 있다. 일단은 간단하게 두 개의 네트워크가 통신을 하기 위해 정한 규칙이라고 생각하자. 모두 종합해보면 'HyperText라는 텍스트를 전송하는 데 필요한 하나의 규칙'이라고 정의 내릴 수 있다. 다시말해 HTTP는 'HTML 문서를 주고 받는데 필요한 규칙이다.'
HTTP의 버전은 업그레이드 될 때마다 당연하지만🤔 사양이 좋아지고 특징이 생겨났는데 각 버전의 특징에 대해서는 뒤에 가서 정리를 해야할 것 같다. 지금은 어떤 버전이 있는지만 알아보자.
[버전을 알아보기 전에..]
단순히 HTTP 버전이라는 글씨만 봐선 이해가 안될 수도 있다. 크롬의 개발자도구를 이용해서 HTTP의 버전을 확인할 수 있다.
네이버 메인페이지에서 개발자도구를 열고 네트워크 탭 ➡ Type 우클릭 ➡ protocol에 체크하면 확인할 수 있다.
h2는 HTTP/2.0을 의미한다. 대부분이 h2로 되어있음을 확인할 수 있다. 즉 '현재 HTTP/2.0이 가장 많이 사용되고 있나보다' 정도로 생각하자 🧐
HTTP/0.9는 HTTP/1.0 버전과 구별하기 위하여 0.9로 불리게 되었다. 요청은 단일 라인으로 구성되고 요청가능한 메서드는 GET
이 유일하다.
GET /mypage.html
앞서 말한 것처럼 HTTP/0.9는 매우 제한적이므로 확장한 정식 사양인 HTTP/1.0을 발행하였다.
HTTP/1.0이 발행된지 1년 만에 공개되었으며 HTTP/1.0의 모호함을 명확하게 하고 많은 개선사항들을 도입했다.
그리고 2015년 5월에 비로소 공식적으로 표준화된 HTTP/2는 큰 성공을 거두었고 현재 모든 요청의 68% 이상이 HTTP/2로 이용되고 있다. HTTP/1.1과 더불어 가장 많이 사용되는 버전이라고 알고있자.