💡 인터넷이란? – 백엔드 개발자가 꼭 알아야 할 핵심 개념 정리
백엔드 개발을 공부하다 보면 "인터넷", "웹", "서버" 같은 용어를 수도 없이 접하게 됩니다.
하지만 막상 "인터넷이 뭐야?"라고 물어보면 명확하게 설명하기 어려운 경우가 많습니다.
이 글에서는 백엔드 개발에 꼭 필요한 수준에서, 인터넷이 어떤 구조로 동작하는지, 그리고 실제 웹 요청이 어떻게 처리되는지를 정리해보겠습니다.
🌐 인터넷이란?
인터넷은 전 세계의 컴퓨터와 네트워크가 서로 연결된 거대한 네트워크입니다.
즉, 각기 다른 위치에 있는 컴퓨터들이 서로 데이터를 주고받을 수 있도록 만든 시스템이죠.
📌 백엔드 개발자 입장에서 중요한 포인트는:
- 내가 만든 서버도 이 인터넷이라는 공간 안에 있고,
- 사용자의 브라우저도 인터넷을 통해 서버에 요청을 보내며,
- 서버는 응답을 되돌려주는 구조라는 점입니다.
⚙️ 인터넷의 기본 구성 요소
1️⃣ IP 주소 (Internet Protocol Address)
인터넷에서 모든 기기(컴퓨터, 스마트폰, 서버 등)는 고유한 IP 주소를 가집니다.
예시: 172.217.161.110
(Google 서버의 IP 중 하나)
2️⃣ 도메인과 DNS
IP 주소는 사람이 기억하기 어렵기 때문에 google.com
처럼 사람이 기억하기 쉬운 도메인을 사용합니다.
DNS(Domain Name System)는 이 도메인을 IP 주소로 변환해주는 주소록 시스템입니다.
3️⃣ 클라이언트와 서버
클라이언트: 사용자 측 (브라우저, 앱 등)
서버: 클라이언트의 요청을 받아 처리하고, 응답을 주는 컴퓨터 혹은 프로그램
예: 사용자가 https://myblog.tistory.com
에 접속하면
→ 브라우저(클라이언트)가 Tistory 서버에 요청을 보내고
→ 서버가 HTML 페이지를 응답으로 보내줍니다.
4️⃣ HTTP 프로토콜
클라이언트와 서버가 데이터를 주고받을 때 사용하는 통신 규약입니다.
요청 방식 (GET, POST 등), 응답 코드, 헤더, 본문 등의 구조로 이루어져 있습니다.
백엔드 개발자라면 반드시 익숙해져야 할 필수 개념입니다.
📬 사용자가 www.naver.com을 입력하면 무슨 일이 일어날까?
조금 더 구체적인 흐름으로 이해해볼까요?
우리가 브라우저에 www.naver.com
을 입력하고, 실제 네이버 화면이 뜨기까지 인터넷에서는 어떤 일이 벌어질까요?
✅ 1단계: 도메인 입력 → DNS 질의
- 브라우저 주소창에
www.naver.com
입력 - DNS 캐시 확인 → 없으면 DNS 서버에 질의
- DNS 서버가 IP 주소 응답 (예:
223.130.200.107
)
✅ 2단계: IP 주소로 서버에 연결
- 브라우저가 IP 주소로 TCP 연결 시도
- TCP 3-way handshake: SYN → SYN-ACK → ACK
- HTTP 요청 전송:
GET / HTTP/1.1 Host: www.naver.com
✅ 3단계: 서버가 요청 처리 후 응답
- 서버가 HTML, CSS, JS 등 리소스를 HTTP 응답으로 반환
- 상태 코드:
200 OK
✅ 4단계: 브라우저가 응답 해석 및 렌더링
- 브라우저가 HTML 해석, 추가 리소스 요청
- 모든 요소 준비되면 렌더링
✅ 5단계: 사용자에게 화면 표시 완료
이제 사용자는 네이버 메인 화면을 볼 수 있게 됩니다.
이 모든 과정은 보통 1초 이내에 발생하지만, 내부적으로는 수많은 네트워크 통신이 오갑니다.
🧠 백엔드 개발자에게 왜 중요한가?
이 흐름을 이해하면 단순히 서버 코드를 작성하는 것에서 나아가:
- 네트워크 지연이나 오류가 발생했을 때 어디를 점검해야 할지
- 요청/응답 구조를 어떻게 설계할지
- 클라이언트와 어떤 방식으로 데이터를 주고받을지
더 깊이 있는 시각으로 판단할 수 있게 됩니다.
✅ 마무리
"인터넷이란 무엇인가?"라는 질문에 답하는 것은 단순한 개념 정의를 넘어서,
백엔드 개발자가 반드시 이해해야 할 기반 지식을 다지는 것입니다.
복잡해 보이지만 흐름만 이해하면 꽤 단순하고 명확합니다.
기초를 탄탄히 쌓아두면, 이후 REST API, 인증, 네트워크 보안, 성능 최적화 같은 고급 주제들도 훨씬 자연스럽게 다가올 거예요.
📌 다음 글에서는 HTTP 프로토콜을 좀 더 구체적으로 파헤쳐 볼 예정입니다.
관심 있다면 이 글을 북마크해두고 다음 글도 함께 확인해보세요!