HTTP를 이해하기 위헤서는 TCP/IP 프로토콜
에 대한 이해가 필요합니다.
컴퓨터와 네트워크 기기가 상호간의 통신을 하기 위해서는 서로 같은 방법으로 통신해야 합니다. (일반적으로 편지, 택배와 같은 것들도 형식에 맞춰서 작성을 하는 것처럼)
이렇게 서로 다른 하드웨어와 운영체제 등을 가지고 서로 통신 하기 위해서는 모든 요소에 규칙이 필요합니다.
이러한 규칙을 프로토콜
이라고 합니다.
그 중에서 인터넷과 관련된 프로토콜을 모은 것을 TCP/IP
라고 부릅니다.
TCP/IP에서 중요한 개념 중 하나는 계층(Layer)
입니다. TCP/IP는 애플리케이션
, 트랜스포트
, 네트워크
, 링크
으로 4계층으루 구성되어 있습니다.
-
- 유저에게 제공되는 애플리케이션에서 사용되는 통신의 움직임을 결정합니다.(HTTP도 이 계층에 속합니다.)
-
- 애플리케이션 계층에 네트워크로 접속되어 있는 2대의 컴퓨터 사이의 데이터 흐름을 제공합니다.(TCP와 UDP 두 가지 프로토콜이 존재함.)
-
- 네트워크 상에서
패킷
의 이동을 다루는 계층입니다.패킷
이란 전송하는 데이터의 최소 단위입니다. 어떠한 경로를 거쳐서 상대의 컴퓨터로 패킷을 보낼지를 결정하는 계층입니다.
- 네트워크 상에서
-
- 네트워크에 접속하는 하드웨어적인 면을 다룹니다.
- 송신측 클라이언트의 애플리케이션 계층(HTTP)에서 웹 페이지 요청인 HTTP Request를 보냅니다.
- 트랜스포트 계층은 애플리케이션 계층에서 받은 데이터를 조각내어 안내 번호와 포트 번호를 붙여 네트워크 계층으로 전달합니다.
- 네트워크 계층(IP)에서는 수신지 MAC 주소를 추가해서 링크 계층에 전달합니다.
- 이제 수신 측 링크 계층에서 데이터를 받아들여 순서대로 위의 계층에 전달하여 애플리케이션 계층까지 전달합니다.
- 애플리케이션 계층에서 하위 계층으로 가면서 해당 계층의 정보를 헤더에 추가하는 과정을
캡슐화
라고 합니다. - 하위 계층에서 애플리케이션 계층으로 가면서 헤더의 정보를 제거하는 과정을
역캡슐화
라고 합니다.