ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 💡 인터넷이란? – 백엔드 개발자가 꼭 알아야 할 핵심 개념 정리
    Web 2025. 4. 15. 00:14
    728x90
    반응형

    백엔드 개발을 공부하다 보면 "인터넷", "웹", "서버" 같은 용어를 수도 없이 접하게 됩니다.
    하지만 막상 "인터넷이 뭐야?"라고 물어보면 명확하게 설명하기 어려운 경우가 많습니다.

    이 글에서는 백엔드 개발에 꼭 필요한 수준에서, 인터넷이 어떤 구조로 동작하는지, 그리고 실제 웹 요청이 어떻게 처리되는지를 정리해보겠습니다.


    🌐 인터넷이란?

    인터넷은 전 세계의 컴퓨터와 네트워크가 서로 연결된 거대한 네트워크입니다.
    즉, 각기 다른 위치에 있는 컴퓨터들이 서로 데이터를 주고받을 수 있도록 만든 시스템이죠.

    📌 백엔드 개발자 입장에서 중요한 포인트는:
    - 내가 만든 서버도 이 인터넷이라는 공간 안에 있고,
    - 사용자의 브라우저도 인터넷을 통해 서버에 요청을 보내며,
    - 서버는 응답을 되돌려주는 구조라는 점입니다.


    ⚙️ 인터넷의 기본 구성 요소

    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 프로토콜을 좀 더 구체적으로 파헤쳐 볼 예정입니다.
    관심 있다면 이 글을 북마크해두고 다음 글도 함께 확인해보세요!

    728x90
    반응형

    댓글

Designed by Tistory.