본문 바로가기
스파르타 내일배움캠프/TIL(Today I learned)

25.03.19 TIL - Web

by pandastic 2025. 3. 19.
반응형

 

 

목차

     

    Web 기초

    1. DNS(Domain Name System)

    • 도메인 이름과 IP 주소를 서로 변환하는 역할 수행.
    • 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환함.

     

    ※ DNS가 나오게 된 이유

    1. 컴퓨터 간의 통신을 위해선 IP 주소 필요.
      • IP 주소는 사이트마다 특징도 없고 길어서 외우기 힘듦.
      • IP 주소가 변경된다면 새로운 IP에 접근할 수 없음.
    2. IP는 변경되는 주소임.
      • 일반적으로 가정집에서 사용되는 IP는 유동 IP임.
      • 만약 IP가 변경된다면 새로운 IP에 접근할 수 없음.

     

    ※ DNS 동작 순서

    1. 원하는 이름의 도메인을 구매 후, DNS 서버에 등록함.
    2. 도메인명을 입력하면 DNS 서버는 IP 주소 반환.
    3. IP가 변경되면 DNS 서버에 등록된 IP 주소만 바뀌면 됨.
    4. 사용자는 IP 주소 형태가 아닌 https://pandastic-dev.tistory.com/ 의 도메인 이름 형태로 웹에 접속함.
      • 일반적으로 URL이라고 알고 있는 것이 바로 DNS 를 활용한 예임.

     

    2. URI(Uniform Resource Identifier)

    • 인터넷 자원(Resource)을 나타내는 고유 식별자(Identifier)를 뜻함.
      • Uniform : 자원(Resource)을 식별하는 통일된 방식을 의미.
      • Resource : 자원(페이지, 텍스트, 이미지, 동영상, 파일 등)을 의미.
      • Identifier : 식별자를 의미.
    • URI는 Locator, Name 혹은 둘 다 추가로 분류될 수 있음.

     

     

    3. URL(Uniform Resource Locator)

     

    ※ URL 방식의 한계

    • 자원(Resource)의 위치를 변경하면 기존 URL은 사용할 수 없음.
    • 브라우저 검색창에 홈페이지를 검색하면 https://pandastic-dev.tistory.com/ 사이트가 노출됨.
    • 이 주소를 https://pandastic-dev2.tistory.com/ 로 바꾼다면 기존 경로를 아는 사람들은 검색 페이지의 URL이 업데이트 되지 않으면 페이지 찾을 수 없음.
    • 이러한 한계를 극복하기 위해서 URN 등장.

     

    URN(Uniform Resource Name)

    • 자원(Resource)의 이름(Name)을 의미함.
    • 리소스의 위치가 변경되어도 이름으로 리소스를 찾기 때문에 잘 동작함.
    • 프로토콜을 포함하지 않음.
    • URN으로 실제 리소스에 접근하는 방법은 대중화 되어있지 않음.

     

    ※ URL 구조

    • scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

     

    • scheme
      • 주로 프로토콜을 사용함. 웹에서는 주로 http, https, ftp를 주로 사용.
      • ❗https 는 http에 보안(secure) 을 추가한 것!

     

    • user[:password]
      • 사용자 정보
      • URL은 보안에 취약하여 사용하지 않음.

     

    • host[:port]
      • 호스트명 : 도메인명(www.google.com) 또는 IP 주소를 직접 사용.
      • http: 80, https: 443 포트 사용.
      • 포트는 일반적으로 생략함.

     

    • [/path]
      • 리소스의 경로
      • 계층 구조로 구성되어 있음.

     

      • [?query]
        • key=value 형태로 구성됨.
        • Query Parameter, Query String 이라고도 함. (둘 다 같은 말!)
        • ? 로 시작되고 & 으로 구분됨. ex) ?key1=value1&key2=value2&key3=val

     

     

     

    브라우저에 URL을 입력하면 어떤 일이?

     

    1. https://www.google.com:443/search?q=네이버&hl=ko URL을 입력.
    2. DNS 서버를 조회하여 www.google.com 에 해당하는 IP 주소를 응답받는다.
      • 포트 번호는 생략되어 있음.
      • https 에서 사용되는 PORT 는 443.
    3. 웹 브라우저에서 HTTP 요청 메세지를 생성.
      • 네이버 검색해줘! 하는 것과 같음.
    4. 요청 패킷(HTTP 메세지가 포함되어 있다)을 구글 서버로 전송.
    5. 구글 서버에서 HTTP 요청 메세지를 기반으로 응답 HTTP 메세지를 만들어 응답함.
    6. 응답 패킷 도착 → HTML이 응답으로 옴.
      • 응답 결과가 브라우저에 그려짐.

     

    반응형