Home 웹의 리소스 식별하기 - URI, URL, URN
Post
Cancel

웹의 리소스 식별하기 - URI, URL, URN

URI와 URL, URN에 대해 알아보겠습니다.

웹의 리소스 식별하기

리소스

  • HTTP 요청 대상
  • 리소스의 특성은 더 이상 정의되지 않음
  • 문서, 사진 등으로 그 어떤 것이든 될 수 있음
  • 각 리소스는 리소스 식별을 위해 HTTP 전체에서 사용되는 URI로 식별됨

URI

  • Uniform Resource Identifier

URL과 URN

URL

  • Uniform Resource Locator
  • 가장 일반적인 URI 형식으로, 웹 주소로 알려짐
  • 브라우저의 주소 표시줄에 입력하여 URL과 연결되는 페이지(리소스)를 로드할 수 있도록 지시
  • 여러 부분으로 구성되는데 일부는 필수 사항이고 나머지는 선택 사항

URN

  • Uniform Resource Name
  • 특정 네임스페이스에서 이름으로 리소스를 식별하는 URI
1
2
urn:isbn:9780141036144
urn:ietf:rfc:7230
  • George Orwell의 책, Nineteen Eighty-Four
  • IETF 명세 7230, Hypertext Transfer Protocol (HTTP/1.1): 메시지 구문과 라우팅

URI 문법

스키마 또는 프로토콜

1
http://
  • 브라우저가 사용해야 하는 프로토콜
  • 일반적으로 HTTP이거나 보안 버전인 HTTPS
  • 웹은 이 두 가지 중 하나를 사용하지만, 브라우저는 다른 프로토콜을 처리하는 방법도 알고 있음
    • 메일 클라이언트를 여는 mailto:, 파일 전송을 처리하는 ftp:

일반적인 스키마는 다음과 같음

스키마설명
dataData URL
file호스트별 파일 이름
ftp파일 전송 프로토콜
http/https하이퍼 텍스트 전송 프로토콜 (보안)
javascriptURL 내 JavaScript 코드
mailto전자 메일 주소
ssh보안 쉘
tel전화
urn통합 자원 이름
view-source리소스의 소스코드
ws/wss웹 소켓 연결 (보안)

인증

1
www.example.com
  • 네임스페이스를 관리하는 도메인 이름(Domain Name) 또는 기관
  • 도메인 이름은 요청중인 웹 서버를 나타냄
  • IP 주소를 직접 사용할 수도 있으나 편의성이 떨어져 웹에서는 자주 사용되지 않음

포트

1
:80
  • 포트는 웹 서버의 리소스에 접근하는 데 사용되는 기술적인 “게이트”를 나타냄
  • 웹 서버가 HTTP 프로토콜의 표준 포트를 사용하여 리소스에 접근하는 경우, 일반적으로 포트가 생략됨
    • HTTP의 경우 80, HTTPS의 경우 443
  • 표준 포트를 사용하지 않는다면 필수로 입력해주어야 함

경로

1
/path/to/myfile.html
  • 웹 서버의 리소스 경로
  • 초기 웹에서는 이와 같은 경로가 웹 서버의 물리적 파일 위치를 나타냈음
  • 하지만 요즘에는 물리적 파일을 나타내는 것이 아닌 웹 서버에서 처리를 추상화하는 것에 불과함

쿼리

1
?key1=value1&key2=value2
  • 웹 서버에 제공되는 추가 매개변수
  • & 기호로 구분된 키/값 쌍의 목록
  • 웹 서버는 이러한 매개변수를 사용하여 리소스를 사용자에게 반환하기 전에 추가적인 작업을 수행할 수 있음
  • 각 웹 서버에는 매개변수를 사용하는 고유한 규칙이 있음
  • 특정 웹 서버가 매개변수를 처리하는 방법을 알 수 있는 신뢰할만한 유일한 방법은 웹 서버 소유자에게 문의하는 것임

프래그먼트

1
#SomewhereInTheDocument
  • 리소스 자체의 다른 부분에 대한 앵커
  • 앵커는 리소스 내부의 일종의 ‘북마크’를 나타냄
  • 브라우저에서 해당 ‘북마크된’ 지점에 있는 콘텐츠를 표시하는 방향을 제공
  • 예를 들어 HTML 문서에서 브라우저는 앵커가 정의된 지점으로 스크롤함
  • 비디오나 오디오 문서에서 브라우저는 앵커가 나타내는 시간으로 이동하려고 시도
  • 프래그먼트 식별자라고도 하는 # 뒤의 부분은 요청과 함께 서버로 전송되지 않음

사용 일람

HTML 콘텐츠에서 URL을 사용할 때, 일반적으로 URL 스키마 중의 일부만 사용해야 함

  • 하위 리소스(더 큰 문서의 일부로 로드되는 파일)를 참조할 때는 HTTP 및 HTTPS 스키마만 사용해야 함

참고

웹의 리소스 식별하기

This post is licensed under CC BY 4.0 by the author.