TIL | URI / URN / URL 에 대하여

박지우·2021년 5월 2일
0

TIL

목록 보기
7/7

URI 안의 URL 과 URN

URI(통합 자원 식별자) 에는 URL(Where개념) 와 URN(What개념) 라는 하위 개념이 있고, 이 둘은 자원을 식별하는 목적은 같으나 자원을 식별하는 방식에 차이점을 두고 있다.
URI 는 무엇이며 URL 과 URN 은 어떤 방식으로 자원을 식별하는지 알아보자.


URI (Uniform Resource Identifier)

통합 자원 식별자, 쉽게 풀어 적어보면
자원(그림,html 페이지 등 서버에 저장된것)을 나타내는 아이디값(= 주소값, 고유식별자) 이다.
서로 다른 자료가 똑같은 이름을 가지고 있으면 안되니 URI는 고유해야한다.

URI의 구조는 아래와 같다.

scheme ://host[:port][/path][?query][#fragment]

프로토콜이름://IP주소:포트/폴더이름/파일이름
or
프로토콜이름://도메인주소(DNS개념이므로 우선 생략)

scheme 란?
자원에 접근할 방법을 정의해 둔 프로토콜 이름. telnet, ftp , http 와 mailto(ip정보가 필요없는 프로토콜) 등의 요청 형식

http 와 https 의 포트
0번 부터 1023포트는 예약된 포트(Well-known port)이며 80번의 경우 http 로 시작하는 웹사이트는 http로 통신하겠다는 의미 임으로 80번 기본포트에 연결되고 https 의 경우 443번 기본포트에 연결된다!


URL (Uniform Resource Locator 또는 web address)

파일식별자라고 얘기하며 웹 페이지를 찾기 위한 주소이며 파일의 위치를 나타내는 where의 개념이다.
내가 보고싶은 특정 파일(html, css, 그림 등)이 서버에 저장이 되어있는 경로를 나타내는 값이라고 생각하면 좋을듯 하다!

내 컴퓨터의 hello.txt를 보려면 내컴퓨터의 C드라이브에 document(폴더)에서hello.txt(파일) 을 보는것과 같이 파일을 보기위해 이동하는 경로, 위치로 예를 들 수 있다.

URL는 자원의 위치를 나타내기 때문에 만약 자원의 위치, URL이 변경된다면 변경 전의 URL로는 해당 자원에 접근할 수 없다.

(URI 와 URL 의 구조를 나타내는 이미지 참고)


URI 와 URL의 관계

URL 은 URI 이지만 URI는 URL이 아니다
URI 는 아래와 같이 자원을 찾을 수 있는 위치를 항상 표시하지는 않는다.

URI는 사람과 장소, 개념 또는 웹 페이지 및 책과 같은 정보 자원과 같은 실제 개체를 포함하여 모든 것을 식별하는 데 사용될 수 있습니다. 일부 URI는 네트워크 (인터넷 또는 컴퓨터 파일 시스템 또는 인트라넷과 같은 다른 개인 네트워크)에서 정보 리소스를 찾고 검색하는 수단을 제공합니다. 이들은 URL ( Uniform Resource Locator )입니다. 참조

https://blog.naver.com/jiupark0616/221998617000
위는 블로그 글을 식별하는 URI 이지만
네이버 블로그 위치를 나타내는 URL은 https://blog.naver.com/jiupark0616/ 까지라고 볼 수 있다.


URN (Uniform Resource Name)

통합자원이름이라고도 하며 자원이 무엇(What)인지를 말하는 개념이다. 자원은 서로 중복되지 않는 유일한 값이여야 하며 특정 정보에 이름을 부여해서 찾기 때문에 도메인 과 파일 경로에 영향을 받지 않는다.

URN의 구조는 아래와 같다.

urn : isbn : 1234567891234 (국제표준도서번호)

URL 의 경우 정보의 위치가 바뀌면 이전의 위치에 접근 할 수 없지만 URN의 경우 정보의 위치가 바뀌더라도 동일하게 접근할 수 있다.


URL 와 URN

URN은 사람의 이름과 비교할 수 있고 URL은 주소와 비교할 수 있습니다. 즉, URN은 항목을 식별하고 URL은 항목을 찾는 방법을 제공합니다.

마치며

생활코딩으로 web1,2 강의를 들을 때는 쉽게 대략적으로 알 수 있었는데 자세히 알아보려고 하니 이렇게 어려울 수가 없다ㅠㅠ

그래도 웹에 관한 강의를 듣다보니 당장 학습하고 있는 언어가 전부로 볼 것이 아니라 더 큰 개념으로 개발을 바라보게 된 것 같다.

생활 코딩 강의에서 모르면 마법, 알면 기술 이라는 말이 계속 머릿속에 맴돌았는데 요 근래 파이썬을 공부하며 답답했던 차에 웹 강의를 듣고 공부하면서 그 말이 체감이 되어 무언가를 알고싶다는 욕구가 자극 된 것 같다.

위코드 개강까지 얼마 남지않았지만 끝까지 빠이팅합시다!

profile
Backend developer

0개의 댓글