URL (Uniform Resource Locator) 은 자원이 실제로 존재하는 위치를 가리키며, URI (Uniform Resource Identifier) 는 자원의 위치뿐만 아니라 자원에 대한 고유 식별자로서 URL을 의미를 포함한다.
차이점에 대한 몇가지 예시
1) http://nooyji.co.kr/index
위의 예시에서는 nooyji.co.kr 에서 index 라는 경로를 나타내고 있다.
서버에서는 해당 라우팅에 대한 알맞은 자원을 전송해줄 것이며 이는 자원의 실제 위치이므로 URL 이다.
2) http://nooyji.co.kr/user/107
위의 예시에서는 nooyji.co.kr 에서 107 의 ID 값을 가지고 있는 자원을 식별하고 있다.
따라서, http://nooyji.co.kr/user/ 까지는 자원의 실제 위치이기 때문에 URI 임과 동시에 URL 이며 끝의 /107 부분은 식별자이므로 http://nooyji.co.kr/user/107 은 URL (http://nooyji.co.kr/user/) 을 포함한 URI 라고 볼 수 있다.
3) http://nooyji.co.kr/user?id=107
위의 예시에서 마찬가지로 http://nooyji.co.kr/user 까지는 자원의 실제 위치를 나타내기 때문에 URL 이라고 할 수 있으며, 뒤의 쿼리스트링 식별자 (?id=107) 을 포함하여 URI 라고 볼 수 있다.
원문 : https://velog.io/@torang/URL%EA%B3%BC-URI%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90