URL과 URI의 정의
우리는 흔하게 웹페이지에 접속할때 특정 사이트의 주소를 브라우저를 통해 입력하여 서비스를 이용한다
예를 들어 네이버 홈페이지에 접속한다고 해보자
그렇다면 필자의 경우에는 크롬 브라우저를 실행시키고 주소창에 www.naver.com 이라는 도메인 주소를 입력하고 해당 사이트에 접속한다.
이때 우리는 www.naver.com 을 보고 URL 혹은 URI라고 부른다.
정확하게 www.naver.com자체는 도메인이라고 부르지만 URL과 URI의 개념은 아래에서 설명하겠다.
URL 이란?
URL은 Uniform Resource Locator의 약자로 흔히들 아는 웹 사이트 주소(web address)라고 부른고 네트워크 상에서
자원이 어디 있는지를 알려주기 위한 규약이라고 할 수 있다.
쉽게 말해서, 웹 페이지를 찾기위한 주소를 말한다. URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타낼 수 있다. 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜로 접속해야 한다.
문법
1. URL은 제일 앞에 자원에 접근할 방법을 정의해 둔 프로토콜 이름을 적는다
- telnet, ftp, http, https 등...
2. 프로토콜 이름 다음에는 프로토콜 이름을 구분하는 구분자인 ":"을 적는다.
3. 만약 IP 혹은 Domain name 정보가 필요한 프로토콜이라면 ":" 다음에 "//"를 적는다.
- 네이버의 경우 naver.com이 도메인 네임이 된다.
- 도메인 네임이 없는 경우에는 192.168.0.1과 같은 서버의 IP 주소를 입력한다.
4. 프로토콜명 구분자인 ":" 혹은 "//" 다음에는 프로토콜 마다 특화된 정보를 넣는다.
- 예1) http://192.168.0.1/study.txt - 192.168.0.1(서버의 IP 주소)에 있는 a.gif를 가리킨다
- 예2) http://www.naver.com/study.txt - www.naver.com에 있는 a.gif를 가리킨다
URI 이란?
URI는 Uniform Resource Identifier의 약자로 통합 자원 식별자 라고도 불리며 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI의 하위개념으로 URL, URN 이 있다.
즉, URI는 URL의 상위 개념으로 URI 모든 URL을 포함시킨다.
위 설명에서 강조한 부분을 살펴보면
URL은 자원이 어디 있는지에 대해 강조 하였고, URI는 자원을 나타내는 이라고 강조 하였다.
자세한 설명은 아래의 예제로 살펴보자.
- 첫번째 URL
http://www.mins.com/programing/java 라는 주소가 있다고 가정했을때 이는 mins.com 서버에서 programing 경로에 있는 java 정보를 요청하는 URL 이다.
- 두번째 URL
http://www.mins.com/programing/python 라는 주소가 있다고 가정했을때 이는 mins.com 서버에서 programing 경로에 있는 python 정보를 요청하는 URL 이다.
첫번째, 두번째 URL을 보면 http://www.mins.com/programing mins.com 서버에서 programing 경로까지는 동일하다.
하지만 그 뒤에 명시되어 있는 java, python은 서로 다른 식별자( Identifier )를 통해 java의 정보를 요청할 것인지 python의 정보를 요청할 것인지가 구분된다.
더 쉽게 이해 하도록 그림으로 보여주겠다.
* URI에 포함되어 있는 하위 개념.
- URL (Uniformed Resource Locator)
- 프로토콜 포함
- 해당 자원의 위치, Path를 의미
- 일반적으로 사이트 도메인을 자주 의미함.
- 웹 상 뿐만 아니라 컴퓨터 네트워크상의 자원은 모두 나타낼 수 있다.
- URN (Uniformed Resource Name)
- 프로토콜 포함 X
- 해당 자원의 이름을 의미
- 독립적인 자원 지시자
- Page 이후 부분까지 포함
이처럼
URL은 어떠한 정보를 요청하기 위한 주소 라고 이해하면 되고
URI는 우리가 알고 있는 인터넷 주소
즉, 아래 그림과 같이 주소창에 적혀있는 모든 주소라고 이해하면 된다.