일반적으로 사용되는 네트워크는 TCP/IP라는 프로토콜을 통해 통신을 하는데, HTTP는 그 중 하나다.
👉 즉, tcp 기반으로 만들어진 프로토콜이 http라는 말이다.
이를 이해하기 위해선 OSI 7 Layer를 이해해야 한다.
OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다.
이 계층에서는 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다.
이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는(또는 받으려는)데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.
물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다.
👉 통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있는 것
이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다.
👉 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것
👉 주소부여(IP), 경로설정(Route)
전송계층의 경우 양 끝단(End to End)의 사용자들이 데이터를 주고 받을 수 있게 하는 계층
데이터가 통신하기 위한 논리적인 연결
세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.
양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공
표현 계층은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다
데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다.
응용 계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
⭐ 이처럼, HTTP는 최상위 계층인 application 계층에 동작하는 것을 알 수 있다.
이처럼, HTTP는 TCP 기반으로 만들어진 프로토콜이므로 TCP의 특징을 모두 갖고 있다.
TCP의 특징을 살펴보면❗
여기서 연결지향적이란 소리는 클라이언트와 서버가 서로 연결된다는 뜻
tcp 통신을 할 때 서버가 통신할 준비가 되어 있는지, 서로 연결해서 데이터를 주고 받을 수 있는지 확인한다.
여기서 준비가 된다면 통신을 하게되고 준비가 안된다면 서버가 준비가 안됬다는 메시지 혹은 에러등을 사용자에게 보여줄 수 있다.
tcp를 통해 데이터를 보내게 되면 패킷의 순서가 보장된다. 즉 1 ~ 100번의 패킷이 보내진다면 1 ~ 100번까지 서버에 차례대로 도착하게 된다.
❗참조 및 출처❗
OSI 7계층이란?
http와 tcp/ip의 이해