Web 기초

하마·2025년 3월 18일

Spring

목록 보기
3/22

DNS (Domain Name System)

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

DNS 동작 순서

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



URI (Uniform Resource Identifier)

인터넷 자원(Resource)을 나타내는 고유 식별자(Identifier)를 뜻함

  • Uniform: 자원(Resource)를 식별하는 통일된 방식
  • Resource: 자원 - 텍스트, 이미지, 파일 등
  • Identifier: 식별자
  • URI(Uniform Resource Identifier)
    • 인터넷 자원(Resource)를 식별할 수 있는 문자열
    • URI는 Locator, Name 혹은 둘 다 추가로 분류될 수 있음
  • URL(Uniform Resource Locator)
    • 자원(Resource)의 위치를 의미
    • 일반적으로 도메인 주소로 알려져있음
    • 프로토콜을 포함함 https://naver.com
    • 한계
      • 자원(Resource)의 위치를 변경하면 기존 URL 사용 불가
      • https://naver.com -> https://naver2.com 으로 주소 변경 시
        URL이 업데이트되지 않으면 페이지를 찾을 수 없음
  • URN(Uniform Resource Name)
    • 자원(Resource)의 이름(Name)을 의미
    • URL 방식의 한계를 극복하기 위해 등장함
      • 자원의 위치가 변경되어도 이름으로 리소스를 찾기 때문에 잘 동작함
      • 프로토콜을 포함하지 않음
    • 거의 사용하지 않음



URL (Uniform Resource Locator)

프로토콜을 포함한 자원(Resource)의 위치를 나타냄

URL 구조

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
-> https://www.google.com:443/search?q=스파르타

scheme

  • 주로 프로토콜을 사용함
  • 웹에서는 http , https , ftp 를 주로 사용함

user[:password]

  • 사용자 정보
  • 보안에 취약하여 사용하지 않음

host[:port]

  • 도메인 명 www.google.com or IP 주소 127.0.0.1 를 직접 사용함
  • http : 80, https : 443 포트 사용
  • 포트는 일반적으로 생략함

[/path]

  • 리소스의 경로
  • 계층 구조로 구성되어 있음
    ex) 프로토콜://쇼핑몰주소/products/macbookPro
    ex) https://nbcamp.spartacodingclub.kr/backend

[?query]

  • key=value
  • Query Parameter, Query String 이라고도 함
    • 두 단어는 같은 말로, 자주 혼용됨
  • ?로 시작되고 &으로 구분함
    ex) ?key1=value1&key2=value2

[#fragment]

  • html 내부 북마크 등에 사용함
    • 전달받은 URL로 접속 시 특정 위치(fragment)로 이동할 수 있음
  • ex) https://www.google.com/index.html#image



URL 입력 시 요청 흐름

  1. https://www.google.com/search?q=스파르타+코딩클럽&hl=ko URL 입력
  2. DNS 서버를 조회하여 www.google.com 에 해당하는 IP 주소를 응답받음
    • www.google.com 의 IP주소는 뭐야?
  3. 브라우저에서 HTTP 요청 메세지 생성
    • 스파르타 코딩클럽/search 엔드포인트에 전달해줘
  4. 요청 패킷(HTTP 요청 메세지 포함)을 해당 페이지의 서버로 전송
  5. 해당 서버에서 HTTP 요청 메세지를 기반으로 응답 HTTP 메세지를 만들어 응답
    • 스파르타 코딩클럽 검색 결과는 이거야!
  6. HTML이 응답 패킷으로 도착하면 결과가 브라우저에 그려짐



참고자료


Spring 입문 - 1주차

  • Web 기초
  • 정리

0개의 댓글