💡 URI, URL 이란?
URI, URL 이란?
최근 MVC 패턴의 Controller에 대해서 알아보던 중 URI라는 말이 나와서 어느 부분에서는 URI , 어느 부분에서는 URL 이라고 칭하는 게 너무 헷갈려서 한번 정리하고자 한다. URL 단어는 익숙할 것이다. 하지만 가끔 뭔가 비스무리하면서도 다른 URI이라는 단어를 사용하기도 하는데 이번 시간에는 URL , URI 링크 문자의 명확한 차이를 알아보는 시간을 가져보자.
URL(Uniform Resource Locator)란?
URL (Uniform Resource Locator) 네트워크상에서 통합 자원(리소스)의 “위치”를 나타내기 위한 규약
- URL은 Uniform Resource Locator의 줄임말이다.
- URL은 네트워크 상에서 리소스(웹 페이지, 이미지, 동영상 등의 파일) 위치한 정보를 나타낸다.
- 우리가 아는 일반적인 웹 주소 형식이다.
- 특정 웹 페이지의 주소에 접속하기 위해서는 웹 사이트 의 주소뿐만 아니라 프로토콜(https, http, sftp, smp 등)을 함께 알아야 접속이 가능 한데, 이들을 모두 나타내는 것이 URL !
URI(Uniform Resource Identifier)란?
URI (Uniform Resource Identifier) 통합 자원 식별자
- URI는 Uniform Resource Identifier, 통합 자원 식별자의 줄임말이다.
- id.위치로 찾아가게 하는 것이 아니라,아이디로 매핑시켜놓는다.따라서 사용자에게 파일 이름, 위치 노출이 되지 않는다.
- URI는 인터넷상의 리소스 “자원 자체” 를 식별하는 고유한 문자열 시퀀스
- (컨트롤러를 만든다는 말은 곧 URI를 만든다는 말이다.)
URI ,URL구조 !
- URI의 구조
scheme:[//host[:port]][/path][?query][#fragment]
scheme(스키마): 요청하는 요청 형식을 지정하는 것
- ex) - scheme 부분에 ftp를 사용하면 ftp통신이 되는 것이고 http를 사용하면 http 통신이 되는 것
- 즉, scheme 부분은 7계층의 프로토콜을 지정하는 부분
- 웹 통신은 HTTP를 통해서 하기때문에 HTTP, HTTPS를 사용하는 것
host(ip주소)[:port]: 웹 서버의 호스트명으로, 도메인명 또는 IP 주소로 표현 된다.
- ex) - port 번호 같은 경우 웹에서 알아서 생략을 해주며 http는 80을 https는 443을 사용
- 보통 ip주소가 아닌 도메인 주소를 사용하는데 컴퓨터는 내부적으로 도메인 주소를 ip주소로 변경 한다.
- 그리고 그걸 해주는 것이 DNS 서버 이다.
path: 파일이나 애플리케이션 경로를 의미한다.
query: 질의 문자열로, 앰퍼샌드(&)로 구분된 키=값 쌍 형식으로 표현 한다.
- ex) - 전달하는 데이터라고 생각하면 된다.
쉽게 이해해보자 !
단어에서 알 수 있듯, 위치와 식별자 라는 차이가 있다.
예를 들어 http://naver.com/main?id=hano&page=12 라는 주소가 있다.
http://naver.com/main
- 까지는 URL !
그리고
http://naver.com/main?id=hano&page=12
- 이 것은 URI라고 할 수 있다.
다시말해 URL은 자원의 '위치'를 나타내 주는 것이고,
URI는 자원의 '식별자' ?id=hano&page=12 이 부분은 위치를 나타내는 것이 아닌
id값이 hano이고, page가 12인 것을 나타내주는 식별하는 부분이기 때문!
정리 !
URI는 URL과 URL을 포함하는 상위개념이다.
따라서, ‘URL은 URI다.’ 는 참이고, ‘URI는 URL이다.’ 는 거짓이다.
참고