URL과 URI

뭉크테크 2025. 1. 10. 20:17

URL과 URI

  • Uniform Resource Locator
  • Uniform Resource Identifier

웹 기술을 이야기 앞에 있어서 기본적인 용어정리가 필요하다. 그 중에 가장 중요한 용어 2가지가 URL과 URI다. 우리가 앞서서 도메인에 대해 배웠다. 도메인에는 Domain Name과 Host Name으로 분리해서 생각하는게 좋다.

 

여기서 중요한게 URL이 있고 URI가 있는데

  • URL은 Uniform Resource Locator로 위치지정자로 말할 수 있고
  • URI는 Uniform Resource Identifier로 식별자라 말할 수 있다.( 자원의 위치에 의존하지 않는 고유한 식별자로 사용)

그럼 여기서 Resource는 무엇일까? 웹 기술이라는 것에 한정지어서 생각해보자. 웹을 이야기할 때 가장 중요한게 HTML문서이고 그걸 실어나르기 위한 HTTP 프로토콜이 웹의 근간이 되는 기본이다. 그러니까 이것을 빗대어 생각해보면 Resource라는 것은 본질은 파일이다. 그러니까 HTML 파일의 위치 즉, 저장된 위치 그거 하나를 URL이라고 본다.

 

웹에서는 기본적으로 파일이 HTML일텐데 잘 생각해보면 요즘은 파일이 HTML만 있는것이 아니고 css도 있고 jpg같은 이미지도 있고 javascript도 있고 그외에 xml이니 json등 여러종류가 있을 텐데 결국 이 파일이라는 것이 위에서 말한 resource다.

 

그럼 URL과 URI에 대해 개념적으로 설명해야할 것이 우리가 Domain Name과 Host Name을 합친 예컨데 www.naver.com 같은것을 URL주소라고 많이 애기한다. 근데 사실 URL이란 것은 URI라는 큰 범주 안에 포함되는 subset개념이라고 생각하면 될것이다.

즉, 식별자를 표현하는 것이 조금 더 포괄적인 개념이고 위치를 말하게 되면 파일을 특정한다는 수준까지 간다고 보면 될 것이다. 그런데 이 모든 것을 기술적으로 표현하는 표준이 존재한다.

URI 구조

  • URI = scheme":"["//" authority]path["?"query]["#"fragment]
  • ex) scheme://userinfo@host:port/path?query#fragment

솔직히 웹에서는 위의 구조중에 userinfo라든지 @는 잘 안고 scheme://host:port/path?query#fragment등으로 표현을 많이 한다. 근데 이것을 보고 어려우신 분들을 위해 좀 더 쉽게 풀어쓰면 다음과 같다.

⚠️ 위의 예시를 든 주소는 진짜 예시일뿐 접속하면 무엇이 나올지 모르니 접속을 주의바란다.

 

  • 보통의 경우 프로토콜을 http or https or ftp등으로 사용이 되고 www.test.co.kr이라는 것은 도메인 이름이다. 그럼 중요한게 뭐냐면 딱 http://www.test.co.kr 까지 오면 뭘 식별하는거냐면 이걸로 host 1대를 식별할 수 있다. 그러면 나머지는 어떤 무언가의 리소스가 될 수 있다. 즉, course.do부터 경로의 개념이 등장한다. 이 경로라는게 쉽게 생각해서 파일의 경로라고 생각하면 쉽다.
  • 예를 들어 윈도우 파일 탐색기를 보면 C:\test\a.txt라는 파일경로처럼 이런식으로 경로를 특정할 수 있는데 이처럼 경로를 다 쓰는것을 절대경로고, 특정 폴더를 기준으로 특정 파일이나 폴더를 찾으려 할때 경로표현을 상대경로라고 한다.
  • 그래서 이것을 웹으로 넘어가면 위 개념들이 확장된다. 예를들어 PC의 브라우저창에 www.test.co.kr을 입력해서 접속했다 가정해보자, 그런데 이걸 정확히 애기하면 www.test.co.kr/index.html을 호출한것과 동일한데 즉 이것은 이 html 파일을 수신받는 다는 것이다.
  • 그러면 이 index.html파일은 서버의 C:/Webroot/data/index.html의 경로에 파일을 수신하는데 우리는 주소창에 이렇게 파일경로를 다 작성하지 않고 접속이 가능하다. 그 이유는 서버의 기본 기준점이 C:/Webroot/data이기 때문이고 이것을 기준으로 우리는 상대적 위치로 표현을 하기 때문이다.
  • http://www.test.co.kr/course.do?cmd=search&search_keyword=Test
  • 위 url을 살펴보면 course.do라는 파일처럼 생긴 경로가 나오는데 이것은 일종의 request이고 이것을 통하여 html파일이든 json파일이든 호출이 된다. 그리고 parameter=value가 여러개면 &기호로 붙여 쓸 수 있다.

 

참고로

URI의 큰 범주 안에 URL과 URN 외에도 여러 가지 다른 식별자들이 포함된다.

URN 예시는 아래와 같다.

 

mailto:someone@example.com

설명: 이메일 주소를 식별합니다. 위치나 접근 방법을 명확히 지정하지 않습니다.

 

tel:+1234567890

설명: 전화번호를 식별합니다. 실제 전화 연결 방법을 지정하지 않습니다.

 

data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==

설명: 데이터를 직접 포함하는 URI입니다. 특정 위치를 지정하지 않고 데이터를 직접 전달합니다.

 

URI는 다양한 목적과 사용 사례에 맞춰 설계된 여러 스킴을 포함합니다. 각 스킴은 특정한 형식과 규칙을 가지며, 특정한 방식으로 자원을 식별하거나 접근하는 방법을 정의합니다. 다음은 몇 가지 추가적인 URI 스킴입니다:

  • ftp: 파일 전송 프로토콜을 이용한 자원 식별
  • mailto: 이메일 주소를 이용한 자원 식별
  • news: Usenet 뉴스를 식별
  • telnet: 텔넷 프로토콜을 이용한 원격 로그인 세션 식별
  • urn: 고유한 이름으로 자원 식별
  • http/https: 웹 자원의 위치와 접근 방법 지정
  • file: 로컬 파일 시스템상의 파일 식별

 

 

결론

  • URL과 URN 외에도 다양한 URI 스킴이 존재하며, 각 스킴은 특정한 목적과 사용 사례에 맞춰 자원을 식별하거나 접근하는 방법을 정의합니다.
  • URI 스킴의 다양성 덕분에, 인터넷과 관련 기술의 발전에 따라 새로운 방식의 자원 식별이 가능해집니다.

 

출처

https://www.inflearn.com/course/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%ED%95%B5%EC%8B%AC%EC%9D%B4%EB%A1%A0-%EA%B8%B0%EC%B4%88/dashboard

 

외워서 끝내는 네트워크 핵심이론 - 기초 강의 | 널널한 개발자 - 인프런

널널한 개발자 | TCP/IP에서 HTTP까지! 네트워크에 대한 기본 이론이 부족한 분들이 '외워서'라도 전공 이론을 이해하고자 희망하는 분들을 위해 준비한 강의입니다. 할 수 있습니다!, 네트워크, 외

www.inflearn.com

 

https://datatracker.ietf.org/doc/html/rfc3986

 

RFC 3986: Uniform Resource Identifier (URI): Generic Syntax

A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along wit

datatracker.ietf.org

 

 

 

 

 

'' 카테고리의 다른 글

웹 서비스 기본 구조  (2) 2025.01.10
굵고 짧게 살펴보는 HTTP  (0) 2025.01.10
웹 기술 창시자와 대한민국의 인터넷  (0) 2025.01.10
한 번에 끝내는 DNS  (0) 2025.01.10