HTTP

[HTTP 완전 정복 시리즈] 2편 - 인터넷 통신 흐름: IP, TCP, DNS까지

dev-nadan 2025. 7. 21. 13:50

HTTP를 이해하기 전에, 그 아래에서 움직이는 인터넷 통신 구조를 먼저 알아둘 필요가 있다.
웹 요청은 결국 네트워크를 타고 서버에 도착하고, 그 응답이 다시 클라이언트로 돌아온다.
이 흐름을 이해하면 HTTP가 어떻게 전송되는지, 왜 TCP가 필요한지, DNS가 어떤 역할을 하는지 명확해진다.


인터넷 통신 흐름

클라이언트가 웹 브라우저에서 주소를 입력하고 엔터를 누르면,
그 요청은 여러 단계를 거쳐 서버에 도착하게 된다.

1. IP 주소

인터넷에서는 IP 주소를 통해 컴퓨터(노드)를 식별한다.
내 컴퓨터도 IP가 있고, 접속하려는 서버도 IP를 갖고 있어야 한다.
데이터는 결국 출발지 IP → 목적지 IP 방향으로 흘러간다.

IP는 "주소"의 개념이고, 그 주소를 통해 데이터를 패킷(Packet)이라는 단위로 전달하게 된다.

2. 포트 (Port)

같은 컴퓨터(IP) 안에서 여러 애플리케이션이 동작할 수 있다.
예를 들어, 하나의 서버가 웹 서비스와 DB 서버를 동시에 운영 중일 수 있다.

이때 각 애플리케이션을 구분하기 위한 것이 포트 번호다.
IP가 "아파트"라면, 포트는 "몇 동 몇 호"에 해당한다고 생각하면 된다.

3. TCP와 UDP

IP만으로는 데이터 전송이 안정적이지 않다.
그래서 TCPUDP 같은 전송 계층 프로토콜이 필요하다.

TCP (Transmission Control Protocol)

  • 연결지향 프로토콜
  • 3-Way Handshake로 연결을 설정한 뒤 통신 시작
  • 순서 보장, 오류 검출, 재전송 등 신뢰성 확보
  • HTTP는 기본적으로 TCP 위에서 동작함

UDP (User Datagram Protocol)

  • 연결 없는 전송 방식
  • 순서 보장 없음, 빠르지만 신뢰성 낮음
  • DNS, 영상 스트리밍 등 속도가 중요한 곳에서 사용

4. DNS (Domain Name System)

우리는 보통 google.com처럼 도메인을 입력하지만,
네트워크에서는 이걸 IP 주소로 변환해야 실제 통신이 가능하다.

이 과정을 처리해주는 시스템이 DNS다.

  • DNS는 인터넷의 전화번호부 역할을 한다.
  • 도메인 이름 → IP 주소로 변환
  • 이 덕분에 사용자는 복잡한 숫자(IP)를 외울 필요 없이 접속할 수 있다.

정리

  • IP 주소는 네트워크상의 주소
  • Port는 하나의 IP 내에서 애플리케이션을 구분
  • TCP는 신뢰성 있는 데이터 전송을 보장
  • DNS는 사람이 읽는 도메인을 IP로 변환

HTTP는 이 네트워크 통신 구조 위에서 동작하기 때문에,
이 흐름을 알고 있어야 HTTP 요청이 어떻게 움직이는지 더 잘 이해할 수 있다.