절대 URL은 리소스에 접근하는데 필요한 모든 정보를 가진다
상대 URL은 URL을 짧게 표현하는 방식으로, 모든 정보를 얻기 위해서는 기저 URL을 사용해야 함
- 상대 URL 문법에 따르면, 스킴, 호스트 및 다른 컴포넌트를 모두 입력하지 않아도 된다
- 해당 정보는 컴포넌트가 포함된 리소스의 기저 URL에서 알아낼 수 있다.
http:https://www.joes-hardware.com # 기저 URL
./hammers.html # 상대 URL
http:https://www.joes-hardware.com/hammers.html # 새로운 절대 URL
상대 URL은 프래그먼트이거나 URL 일부다.
상대 URL을 절대 URL로 변환하는 방법은 아래와 같다.
(1) 기저 URL 찾기
- 리소스에서 명시적으로 제공 : HTML 태그를 이용해 명시적으로 기저 URL 기술
- 리소스를 포함하고 있는 기저 URL : 상대 URL이 기저 URL이 명시되지 않은 리소스에 포함된 경우, 해당 리소스의 URL을 기저 URL로 사용 가능
- 기저 URL이 없는 경우 : 보통 이런 경우는 절대 URL만으로 이루어져 있다는 뜻이지만 불완전하거나 깨진 URL일 수도 있음
(2) 상대 참조 해석하기
- 기저 URL을 찾았으면 상대 URL과 절대 URL을 각각 컴포넌트 조각으로 분리한다. (=URL 분해 하기)
- 알고리즘을 통해 상대 URL을 절대 경로 형태로 변환시킨다.