본문 바로가기

World Wide Web/HTTP

응용 프로토콜에 대한 이야기

HTTP 방식은 수 많은 방식 중 하나일 뿐이다

우리가 응용프로토콜에 대해서 이야기할 때, 대부분은 HTTP에 대해서 이야기하기 마련이다.  그러나 HTTP는 수많은 응용 프로토콜 중에 하나일 뿐이다. 이것을 위해서는 우선 응용 프로토콜이 무엇인지에 대해서 이해해야 한다.

 

서로 간에 약속이 있어야 한다

응용 프로토콜이란 무엇인가? 우리가 성벽에 불을 지펴, 봉화로 소통한다고 생각해보자. 서로 다른 지역에 있는 사람들끼리 봉화로 정보를 주고 받기 위해선, 무언가 약속이 있어야 한다. 이것이 어떠한 의미가 있는지 나름대로의 통신규약이 있어야 한다. 이것이 프로토콜이다. 응용프로토콜이란, 이러한 통신규약이 응용 프로그램의 수준에서 이루어 진다는 것을 의미한다.

 

이러한 응용 프로토콜에 HTTP, Telnet, SSH 등이 있는 것이다. HTTP는 일반적으로 웹 브라우저에서 우리가 사용하고 있는 것이며, Telnet은 오래전에 Dos 시절에 사용한 것, 그리고 SSH는 근래에는 외부에서 리눅스 서버를 접속할 때 많이 사용한다.

 

HTTP는 한번에 하나의 요청만 가능하다

다른 응용 프로토콜과 대비되는 HTTP만의 고유한 특징은, HTTP 통신은 한 번에 하나만 가능하다는 것이다. 즉, 한 번의 통신에서 여러 정보를 보낼 수는 없다. 이러한 특징을 무상태 프로토콜이라고 하는데, 이로 인해 쿠키/세션이라는 개념이 나오게 되었고, 하나의 통신에서 최대한 많은 파일을 응답해주기 위해 웹팩이라는 도구가 등장하게 된다.