URI - Uniform Resource Identifier / 통합 자원 식별자
URL - Uniform Resource Locator / 파일 식별자
URN - Uniform Resource Name / 통합 자원 이름
보통의 경우 URI 와 URL을 구분없이 URL로 이야기 함
단 URL의 경우 URI에서 식별자가 없기 때문에 URL만 가지고는 원하는 상세 페이지를 나타내기 어렵다
url의 경우 scheme / userinfo / host / port / pats / query / fragment 로 나누어진다.
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=javascript
https 에 해당하는 부분이다
http, https, ftp 등 프로토콜이 주로 사용
url에 사용자 정보를 포함해서 인증
요즘은 보안상의 사유로 거의 사용하지 않는다
shopping.naver.com 에 해당하는 부분이다
호스트명 / 도메인명 또는 ip 주소를 직접 사용 가능하다
접속 포트이나 일반적으로 생략 가능하다
생략 시 보통 http 는 80, https 는 443 포트 번호로 설정
ex) https://search.naver.com:443 입력 시 naver.com 으로 접속되나 https://search.naver.com:80 입력 시 연결 안 됨
리소스의 경로 말 그대로 path에 해당하는 부분 search.naver 이다
where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=javascript 부분이다.
쿼리(Query) 부분은 보통 ? 문자 뒤에 나오며, 여러 개의 key=value 쌍으로 구성
& 로 구분하여 여러개 추가 가능하며 위 예제는 5개로 구분 가능하다
보통 # 뒤에 나오며 서버에 전송하지 않고 클라이언트 측에서만 해석하여 처리
보통 북마크, 하이퍼링크 등에 사용
URN은 영속적이고, 위치에 독립적인 자원을 위한 지시자로 사용하기 위해 1997년도 RFC 2141 문서에서 정의되었다.
url의 경우 위치를 기반으로 두고 있기 때문에 해당 위치에 있는 자원이 없어지거나 하는 경우 기능을 상실한다.
이를 보안하고자 만들어 진 것이 urn
보통의 경우 urn은 사용되는 경우가 거의 없다