ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] Web 기초
    Spring 2025. 3. 18. 21:35

    🔎 DNS (Domain Name System)란?

    사람이 외우기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환해주는 시스템

    ✅ 왜 필요할까?

    • 컴퓨터끼리는 IP 주소로 통신
    • 하지만 우리는 192.168.0.1 같은 숫자 못 외움
    • google.com, naver.com 같은 도메인 이름으로 쉽게 접속

    💡 DNS 작동 과정

    1. spartacodingclub.kr 도메인을 구매 후 DNS 서버에 등록
    2. 사용자가 웹 브라우저에 도메인 입력
    3. DNS 서버가 해당 도메인에 맞는 IP 주소 반환
    4. IP가 바뀌어도 DNS 서버에서 갱신만 하면 끝!

    📌 핵심 포인트

    • DNS가 없었다면 우리는 매일 IP 외우느라 머리 터짐
    • 도메인 주소는 항상 DNS 서버가 해석해준다
    • 우리가 입력하는 https://spartacodingclub.kr → DNS가 IP로 변환해서 접속

     

    ✅ URI (Uniform Resource Identifier)

    • 웹 상의 모든 자원을 식별하는 고유한 이름
    • 페이지, 이미지, 영상, 파일 등 모든 리소스를 가리킬 수 있음
    • https://spartacodingclub.kr/ 도 URI의 한 종류

    💡 쉽게 말해, '책에 붙은 ISBN' 같은 고유 식별자 개념

     

    ✅ URL (Uniform Resource Locator) - 우리가 가장 많이 쓰는 그 주소

    📌 URL 구조 분석

    https://www.google.com:443/search?q=스파르타+코딩클럽

     

    요소 설명
    https 프로토콜 (http보다 보안 강화)
    www.google.com 호스트 이름 (DNS로 IP로 변환)
    :443 포트 번호 (생략 가능, https 기본은 443)
    /search 서버 내 경로
    ?q=스파르타+코딩클럽 쿼리 파라미터 (추가 데이터 전송)

     

    📌 쿼리 파라미터란?

    • ?로 시작
    • &로 여러 개 구분
    • 예시: ?key1=value1&key2=value2

     

    ✅ URN (Uniform Resource Name) - 거의 안 씀

    • 자원의 이름만으로 식별
    • 리소스의 위치가 바뀌어도 이름으로 찾는다
    • 실제 웹에서 널리 사용되진 않음

     

    🎯 핵심 정리

    구분 설명 예시
    URI 식별자 전체 개념 https://spartacodingclub.kr
    URL 위치 정보 포함 https://spartacodingclub.kr/backend
    URN 이름으로 식별 (거의 안 씀) urn:isbn:1234567890

    URI가 상위 개념, URLURN이 하위 개념
    ✔ 실제 웹 개발할 때는 URL만 잘 알아도 충분!

     

    ✅ URL 입력 과정

    웹 브라우저에 https://www.google.com/search?q=스파르타+코딩클럽을 입력하고 Enter를 눌렀을 때

     

    1️⃣ DNS 조회 - 도메인 → IP로 변환

    • 브라우저는 먼저 www.google.com이 무슨 IP인지 찾으려고 DNS 서버로 질문을 보냄
    • DNS 서버가 142.250.206.78 같은 IP 주소를 브라우저에게 알려줌

    💡 참고

    • HTTP 기본 포트: 80
    • HTTPS 기본 포트: 443 (보안)

     

    2️⃣ HTTP 요청 생성

    브라우저는 아래와 같은 HTTP 요청 메시지를 만듦

    GET /search?q=스파르타+코딩클럽 HTTP/1.1
    Host: www.google.com
    User-Agent: Chrome/120.0

     

     

     

    3️⃣ 패킷 전송

    • 만든 요청을 패킷에 담아 구글 서버로 전송
    • 중간에 수많은 네트워크 장비(라우터, 스위치)를 거쳐 도착

     

    4️⃣ 서버 응답 생성

    구글 서버가 요청을 받고 처리 후, HTTP 응답 메시지로 결과 응답

    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    
    <html> 검색 결과 페이지 </html>
     

     

     

    5️⃣ 브라우저 렌더링

    • 받은 HTML을 바탕으로 브라우저가 화면을 그림
    • CSS, JS, 이미지 등 추가 요청이 또 발생하고, 그때마다 같은 흐름 반복

     

    🎯 최종 요약 - 이 5단계가 핵심!

    1. DNS 조회로 IP 찾기
    2. HTTP 요청 만들기
    3. 패킷 전송해서 서버로 전달
    4. HTTP 응답 받고 HTML 받기
    5. 브라우저 렌더링으로 화면 완성!

    'Spring' 카테고리의 다른 글

    [Spring] Web Application (1)  (0) 2025.03.19
    [Spring] RESTful API  (0) 2025.03.19
    [Spring] HTTP  (1) 2025.03.18
    [Spring] 네트워크 기초  (1) 2025.03.18
Designed by Tistory.