요약
<base href>는 HTML 문서의 상대 주소를 해석하는 기준 URL을 정한다. 링크에는 여전히chapter.html이라고 쓰여 있어도 완성된 목적지는 달라질 수 있다.- HTML 2.0은 원래 자리 밖에서 읽히는 문서의 길 안내를 위해 이 장치를 기록했다. 뒤의 표준은 우선순위, 첫 번째 요소의 효력,
base-uri제한을 정교하게 다듬었다.
표지판에는 “다음 골목”이라고 적혀 있다. 글씨도 화살표도 멀쩡한데 지도가 다른 도시로 옮겨졌다. 그러면 다음 골목은 다른 곳이다. HTML의 <base href>가 페이지에서 하는 일이 이와 비슷하다. 여러 상대 주소의 출발점을 하나로 정해, 각 링크의 글자를 바꾸지 않고도 브라우저가 계산하는 전체 주소를 바꾼다.
처음부터 수상한 묘수로 등장한 것은 아니었다. 1995년 11월 HTML 2.0을 담은 RFC 1866은 문서를 원래 맥락 밖에서 읽을 때 상대 URL을 해석할 주소로 선택적 BASE 요소를 설명했다. 페이지를 메일에 실어 보내거나 다른 장소에서 열어도 images/logo.gif 같은 짧은 경로는 남는다. 어느 서버의 images인지 알려 줄 기준이 필요했다. 문서가 절대 기준 주소를 직접 품으면 길을 잃지 않는다. RFC는 이미지 참조를 어떻게 계산하는지 예까지 들었다. 움직이는 문서에 붙인 반송 주소표였던 셈이다.
1999년 12월 HTML 4.01은 순서를 분명히 했다. BASE는 문서의 HEAD에, 외부 자원을 가리키는 요소보다 앞에 와야 한다. 이 선언은 통신 과정에서 얻은 메타데이터보다, 또 문서 자체가 놓인 주소보다 우선한다. 링크, 이미지, 스타일시트, 폼 처리 주소에도 상대 경로가 쓰인다. 출발점 하나를 바꾸면 이 여러 길이 함께 달라질 수 있다. 표준의 ../cages/birds.gif 예시는 같은 글자라도 기준에 따라 다른 완성 경로가 나온다는 사실을 보여 준다. 문서 머리의 작은 요소가 뒤에 적힌 길을 지도 위에 놓는다.
2005년 1월 RFC 3986은 URI 전반의 원리를 설명했다. 내용 안에 들어 있는 기준 URI가 그 내용을 담은 바깥 객체의 기준이나 내용을 가져온 URL보다 우선한다. 메일이나 보관 파일 속 문서가 원래 뜻대로 상대 경로를 해석할 수 있는 이유다. RFC는 공통 계산법을, HTML은 그 계산법을 적용할 구체적인 base 요소를 제공한다. 페이지를 가져온 장소와 페이지 안의 짧은 주소를 읽기 시작하는 장소는 달라도 된다. 페이지가 이동한 게 아니라 길 안내의 좌표가 바뀐 것이다.
WHATWG가 유지하는 현행 HTML 표준은 효과를 간단한 예로 보여 준다. <base href="/book/">가 있으면 href="chapter.html"은 /book/chapter.html로 해석될 수 있다. 기준 선언이 없으면 문서의 예비 기준 URL을 쓴다. href가 있는 base가 여러 개면 문서 트리에서 첫 번째 것이 이긴다. target은 링크나 폼을 기본적으로 어디에 열지 따로 정하며, 이 속성에도 독립적인 첫 번째 값 규칙이 있다. 주소의 출발점과 화면에서 열릴 곳은 같은 요소에 붙어 있어도 서로 다른 결정이다.
브라우저는 선언된 기준을 검사한다. 유효하지 않은 주소, 또는 data:와 javascript:를 기준으로 쓰려는 경우 현행 알고리즘은 예비 기준으로 돌아간다. 문서의 보안 정책도 허용 범위를 좁힐 수 있다. W3C의 CSP Level 2가 도입한 base-uri는 어떤 URL이 기준이 될 수 있는지 제한한다. default-src에서 저절로 물려받는 규칙은 아니다. 한 줄로 많은 길을 움직이는 장치라면, 그 한 줄이 움직일 수 있는 범위도 따로 정할 수 있다.
편집자에게는 대단히 편리하다. 문서 묶음이 이사해도 상대 링크를 하나씩 고치는 대신 기준 주소를 바꾸면 된다. 같은 이유로 실수도 한꺼번에 번진다. 독자는 chapter.html만 보고 이 길이 어디로 이어질지 다 알 수 없다. 브라우저가 문서 주소, 첫 기준 선언, 허용 정책을 합쳐야 실제 목적지가 나온다. 짧은 링크는 지도의 일부일 뿐이다.
1995년의 BASE는 이동하는 문서가 고향 주소를 잊지 않게 했다. 1999년의 표준은 누가 우선하는지 정했다. 오늘의 표준은 첫 선언의 효력과 거절 조건을 세밀하게 다룬다. 여러 짧은 길이 한 출발점을 공유한다는 구조는 그대로다. 그 점을 옮기면 표지판 하나 손대지 않고도 모든 길이 다른 도시로 향한다.
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





