상세 컨텐츠

본문 제목

URI(Uniform Resource Identifier)

Network

by Wanderer Kim 2022. 7. 10. 13:33

본문

728x90

URI 정의

URI란 통합 자원 식별자를 의미하는 용어입니다. 웹에서 사용되는 모든 형태의 자원들을 식별하는 고유한 문자열 시퀀스를 URI라고 부릅니다.

 

URI?URL?URN?

URI/URL/URN 세가지 용어들을 혼용에서 사용되는 것을 흔히 볼 수 있습니다. 이번에 위 세가지 용어들의 의미를 정리해보고자 합니다.

위 다이어그램을 보면 URL, URN은 URI의 서브셋인것을 알 수 있습니다. 즉, 리소스 식별을 locator로 하면 URL, name으로 식별을 하면 URN이라고 부릅니다. 이중 URL이 가장 보편적으로 사용되는 방법입니다.

 

URL 문법

URL은 아래와 같은 문법으로 작성 됩니다.

  • https://www.google.com:443/search?q=hello&hl=ko 
    • https : 프로토콜
    • www.google.com : 호스트명
    • 443 : 포트 번호
    • /search : 패스
    • q=hello&hl=ko : 쿼리 파라미터
  • scheme
    • 주고 프로토콜을 사용합니다
      • 프로토콜 : 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙
        • http, https, ftp etc.
        • http는 80포트, https는 443 포트를 주로 사용합니다. 이때 포트는 생략이 가능합니다.
  • userinfo
    • URL에 사용자정보를 포함해서 인증합니다
    • 요즘에는 거의 사용되지 않는 추세입니다.
  • host
    • 호스트명을 적습니다.
      • 도메인명 또는 IP 주소를 직접 사용가능합니다.
  • port
    • 포트를 적는 곳입니다.
    • 포트는 일반적으로 생략을 많이 합니다.
  • path
    • 리소스 경로를 적는 자리 입니다.
    • 일반적으로 계층적 구조를 가지고 있습니다.
      • /home/file1.jpg
      • /members
      • /members/100, /items/iphone12
  • query
    • key=value 형태를 갖습니다.
    • ?로 시작하고 &을 붙여서 추가 가능합니다. e.g. ?keyA=valueA&keyB=valueB
    • query parameter, query string 등으로 불립니다. 문자 형태를 가지고 있습니다.
  • fragment
    • html 내부 북마크 등에 사용됩니다.
    • 서버에 정송하는 정보는 아닙니다.
      • e.g. https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-introducing-spring-boot
반응형

'Network' 카테고리의 다른 글

SOAP 통신  (0) 2024.04.02
웹 브라우저 요청 흐름  (0) 2022.07.10
DNS(Domain Name System)  (0) 2022.07.08
Port  (0) 2022.07.08
TCP/UDP  (0) 2022.07.05

관련글 더보기

댓글 영역