URI(Uniform Resource Identifier): 통합 자원 식별자의 줄임말
브라우저의 검색창에 담겨있는 주소가 URI 이다. (x)
네트워크 상의 리소스를 식별할 수 있는 식별자를 의미한다.
위 그림과 같이 URI 개념의 내부에는 대표적으로 URN, URL이 존재한다.
다른 개념 또한 포함이 되어 있지만 해당 포스트에서는 URI, URL, URN 에 대해서만 다루겠다.
URL(Uniform Resource Locator) : 통칭 Web Address, 웹 주소
리소스를 리소스의 경로(Location)을 기반으로 식별하는 식별자
웹에서 정해진 유일한 자원의 위치정보가 담긴 주소라고 할 수 있다.
자원에는 HTML, CSS문서, 이미지 등이 정적자원으로 해당 될 수 있다. -MDN-
흔히 웹사이트를 찾기 위함이라고 생각할 수 있으나 그렇지 않다.
더 넓은 의미인 자원(Resource)를 찾기 위함이다.
흔히 말하는 웹사이트는 그 자원에 속할 뿐이다.
URN(Uniform Resource Name) : 통합 자원 이름
리소스를 리소스의 고유한 이름을 통해 식별하는 식별자
URN의 사용법, 또는 구조를 확인하고 싶다면 해당 사이트 를 참고하길 바란다.
URI는 식별하고 URL은 자원의 주소를 가리킨다.
case 1 `http://www.ahn0min.com/index`
case 2 `http://www.ahn0min.com/index.html`
case1 의 경우에는 index
가 정확한 자원의 주소가 아니라 내부적으로 rewrite를 통해 index.html을 식별함으로 이는 URI 이지만 URL은 아니다.
case2 의 경우 정확한 자원의 위치를 나타내기 때문에 URL이자 URI이 될 수 있다.
즉 URI는 리소스를 식별했기 때문에 URI는 맞지만 경로를 통해 정확하게 리소스를 직별한 것이 아니기 때문에 URL은 아니다.
why? index가 폴더(path)일 수도 있기 때문이 아닐까?
URL은 Protocol을 포함한다.
Protocaol//Domain:Port/Path/Page?Parameter
URL은 리소스를 리소스의 경로를 기반으로 식별하는 URI이다.
URN은 특정 리소스의 고유한 이름을 통해 식별하는 URI이다.
[http]://
자원에 접글할 방법을 정의해 둔 통신규약을 말한다.
어떤 정보를 요청하는 것인지에 따른 정해진 약속이 있다.
http, https 의 경우 웹사이트를 주고 받을 떄의 통신규약
mailto 의 경우 메일의 주소를 주고받을 떄의 통신규약
www.example.com
연결할 서버의 ip 주소, 또는 도메인을 말한다.
www(World Wide Web)을 사용, 이를 간단히 줄여 web이라고 말함
www.example.com:[port]
연결할 서버의 ip 주소, 또는 도메인에서 프로세스를 구분하기 위해 존재
예를 들어 채팅의 경우와, 자료를 받을 때의 경우 서로 혼동이 일어나지 않게 하기 위해서
웹에서 자원에 대한 경로를 말한다.
보통 root의 경우 "/" 을 사용한다. ex) https://www.example.com/
https://www.example.com/main?id=123&password=1234
경로 외에 추가적으로 서버에서 자원을 식별하기 위해 필요한 것이 있을 때 전달하는 ? 뒤에 key와 value로 이루어져 있는 형식
파라미터가 여러개일 경우 & 을 통해 구분한다.