URI, URL, URN... 항상 너무 헷갈려 그냥 두리뭉실 넘어가던 개념들이었습니다.
근데 정말 한 줄기 빛과 같은 설명 영상을 찾아 감격에 겨워 이번 포스트를 작성합니다.
URI
Uniform : 일정한 규칙을 따르는
Resource : 자원
Identifier : 식별자
직역하면 " 특정 자원을 식별하기 위해 사용하는 것 "입니다. 하지만 보통은 " 인터넷상의 자원을 식별하기 위해 그 자원의 위치나 자원의 이름 혹은 둘 모두를 사용하는 문자열 " 란 뜻으로 사용됩니다.
비유
이름 : 김아무개똥
주소 : 대한민국 서울시 아무동 개똥아파트 102동 208호
우리는 이름을 불러서 사람을 특정할 수도 있고, 주소를 통해 사람을 찾아갈 수도 있습니다.
혹은 주소로 찾아가 이름을 부르면서 사람을 찾을 수도 있겠죠.
URI의 세분화 : URL, URN의 탄생
URI만 쓰던 시절에는, URI 이름일 수도, 주소일 수도, 둘 다일 수도 있었습니다. 근데 그럼 헷갈리겠죠? 그래서 혼동을 피하고자
- 주소로 식별하는 URI는 URL
- 이름으로 식별하는 URI는 URN
이라는 개념으로 구분 짓게 되었습니다. 물론 주소, 이름 둘 다 사용하는 URI는 그래도 URI로 남았습니다.
URN
Uniform : 일정한 규칙을 따르는
Resource : 자원
Name : 이름
뜻 그대로 자원의 이름입니다. ( 자세한 설명은 생략... )
세상에 동명이인이 존재하듯, 자원도 이름이 같을 수 있습니다.
그럴 경우 URN은 제 역할을 하지 못합니다. 그게 대부분 경우에서 자원을 식별하기 위해 URL을 주로 사용하는 이유입니다.
URL
Uniform : 일정한 규칙을 따르는
Resource : 자원
Locator : 위치를 찾아내는 장치
자원의 주소를 참조하는 문자열로, 웹에서 자원의 위치를 찾을 때 가장 많이 사용되는 방법입니다.
그러니 어떻게 구성되어 있는지 간략하게 보도록 하겠습니다. (사실 그냥 넘기셔도 상관은 없습니다.)
URL의 구성
http://www.mywebsite.com:80/resources/sample.png
- 필수적인 요소
- 프로토콜 :
http
- 자원을 주고받을 때 사용할 합의된 약속입니다.
- 도메인 :
www.mywebsite.com
- 도메인을 통해 서버의 위치를 알 수 있습니다.
- 프로토콜 :
- 선택적인 요소
- 포트번호 :
:80
- 일종의 출입문으로, 서버 앞에서 어느 문을 통해 연결할지 결정을 해야 합니다.
- 몇몇 프로토콜들은 default 포트번호가 있으며, 포트번호가 URL에 포함되어 있지 않다면 default 포트를 통해서 서버와 연결합니다.
- 참고로 http의 default 포트번호는 80입니다.
- 경로 :
resources/sample.png
- 서버 내에서 자원의 위치를 뜻합니다.
- 컴퓨터의 파일 시스템과 유사합니다.
- ETC.
http://www.mywebsite.com/signup?fn=김&ls=아무개똥
- Query 문 :
?fn=김&ls=아무개똥
- 클라이언트가 서버에게 추가적인 정보를 주고 싶을 때 사용됩니다.
?
로 시작하고,&
로 구분하며,key=value
쌍으로 작성됩니다.
https://en.wikipedia.org/wiki/Web_developer#External_links
- Fragments :
#External_links
- URL 가장 뒤에 붙으며 웹 페이지의 특정 요소으로 스크롤하는 기능을 합니다.
- #뒤에 요소의 id값을 작성합니다. ( 띄어쓰기는 ' _ '로 대체합니다. )
- ( 예시 URL을 직접 브라우저에 입력하면 이해가 쉽습니다. )
- 포트번호 :
셋의 포함 관계
모든 URL, URN은 URI라고 볼 수 있습니다. 하지만 주소와 이름을 동시에 사용하는 URI도 있기 때문에 모든 URI는 URL 혹은 URN이 될 순 없습니다.
참고자료 : 한 줄기 빛
The TechCave 유튜브
'CS' 카테고리의 다른 글
실수계산 오차와 부동소수점 ( feat. IEEE 754 표준 ) 3부 (0) | 2025.05.21 |
---|---|
실수계산 오차와 부동소수점 ( feat. IEEE 754 표준 ) 2부 (0) | 2025.05.16 |
REST API에서 "REST"의 의미 (0) | 2025.04.12 |
실수계산 오차와 부동소수점 ( feat. IEEE 754 표준 ) 1부 (1) | 2024.11.25 |
SOLID원칙의 간단한 정리 (0) | 2024.06.23 |