📝오늘 공부한 것
- URL, URI, URN 공부
- 커리어톤 참여하기
- 프로그래머스 문제풀기
📌 URI, URL, URN
지금까지는 URI가 나올 때마다 URL과 비슷한 것이라고만 이해한 채 넘어가고는 하였다.
이제는 URI가 무엇인지, URL과의 차이점이 무엇인지에 대해 공부해보고자 한다.
📍 URI (Uniform Resource Identifier) - 통합 자원 식별자
- 인터넷상의 리소스 '자원 자체'를 식별하는 방법
- Uniform - 리소스를 식별하는 통일된 방식
Resource - URI로 식별이 가능한 모든 종류의 자원(웹 브라우저 파일 및 그 이외의 리소스 포함)
Identifier - 다른 항목과 구분하기 위해 필요한 정보 - URI이 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어다닌다.
✔ 리소스 : HTTP에서 요청한 대상
📍 URL (Uniform Resource Locator) - 통합 자원 지시자
- 인터넷에서 웹 페이지, 이미지, 비디오 등 리소스의 '위치'를 가리키는 문자열
- 자원 식별자와 위치를 동시에 보여준다.
- 웹 사이트 주소 + 컴퓨터 네트워크 상의 자원
- 이는 웹사이트 주소뿐만 아니라 컴퓨터 네트워크 상의 자원을 모두 나타내는 표기법이다.
- 특정 웹 페이지의 주소에 접속하기 위해서는 웹 사이트의 주소뿐만 아니라 프로토콜(https, http, sftp, smp 등)을 함께 알아야 접속이 가능한데, 이들을 모두 나타내는 것이 URL이다.
📍 URN (Uniform Resource Name) - 통합 자원 이름
- 리소스의 위치, 프로토콜, 호스트 등과는 상관없이 식별 가능한 고유한 이름 역할
- 즉, URL은 어떤 특정 서버에 있는 웹 문서를 가리키는 반면, URN은 웹 문서의 물리적인 위치와 상관없이 웹 문서 자체를 나타낸다.
- 웹 문서가 다른 웹 서버로 이동하거나 주소가 바뀌는 등 물리적 위치가 변경되더라도 해당 문서를 찾을 수 있다.
예를 들어 :
어떤 책의 국제 표준 도서 번호(isbn) 84879534의 URN이라면
urn:isbn:84879534
이런식으로 나타나게 된다.
하지만 아직까지 보편화 되지 않고 있기에 대부분 URL를 사용하고 있습니다.
✔ URL의 한계란?
리소스의 위치를 옮기면 해당 URL을 더 이상 사용할 수 없는 것.
📍 URI vs URL
URI = 식별자, URL = 식별자 + 위치
1. URL은 일종의 URI이다.
2. URL은 프로토콜과 결합한 형태이다.
어떻게 위치를 찾고 도달할 수 있는지까지 포함되어야 하기 때문에 URL은 프로토콜 + 이름(또는 번호)의 형태여야만 한다.
3. URI는 그 자체로 이름이 될 수 있다.
URI는 그 자체로 이름(yewon0309.tistory.com)이거나,
이름 + 위치(https://yewon0309.tistory.com)를 나타낸 형태 모두가 해당된다.
scheme : 리소스에 접근하는 데 사용할 프로토콜. 웹에서는 http 또는 https를 사용
host : 웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP
:port : 웹 서버에 접속하기 위한 통로
/path : 접근할 대상(서버)의 경로에 대한 상세 정보 -> 참고로, 경로(Path)에 해당하는 부분은 URN이라고 한다.
?query : 리소스의 형식 범위를 좁히기 위한 추가 질문(key=value 형식)
#fragment : URL이 지정하는 자원의 세부 부분을 지정할 때(세부 주제를 찾을 때)
References :
https://developer.mozilla.org/en-US/docs/Glossary/URI
https://developer.mozilla.org/ko/docs/Glossary/URL
https://developer.mozilla.org/ko/docs/Glossary/URN
https://stackoverflow.com/questions/4913343/what-is-the-difference-between-uri-url-and-urn
https://www.hostinger.com/tutorials/uri-vs-url
https://www.elancer.co.kr/blog/view?seq=74
https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-URL-URI-%EC%B0%A8%EC%9D%B4
'TIL(Today I Learned)' 카테고리의 다른 글
TIL-231027(WAS, WS) (0) | 2023.10.27 |
---|---|
TIL-231026(REST API) (0) | 2023.10.26 |
TIL-231024(자바 프로그램 실행 과정) (0) | 2023.10.24 |
TIL-231023(PUT vs PATCH) (0) | 2023.10.23 |
TIL-231021(자바의정석 Chapter12 '지네릭스, 열거형, 애너테이션') (0) | 2023.10.21 |