위키득계정 ↗
기술

URL

전체 이름
Uniform Resource Locator
대표 스킴
https, http 등
주요 요소
호스트, 경로, 질의, 프래그먼트
상대 참조
기준 URL을 바탕으로 해석
관련 개념
인코딩과 정규화
URL은 자원을 식별하고 접근 방식을 나타내는 주소 표현이다. 스킴과 호스트, 경로, 질의, 프래그먼트는 각각 다른 역할을 하며 문자열 전체를 단순한 파일 경로처럼 다룰 수 없다.

주소를 구성하는 부분

https://example.com/docs?q=moon#intro에서 https는 스킴이고 example.com은 호스트다. /docs는 경로, q=moon은 질의, intro는 프래그먼트다. 각 부분의 구분 기호는 의미를 갖는다.

HTTP 통신에서 프래그먼트는 보통 요청 대상에 포함되어 서버로 전송되지 않는다. 서버가 처리하는 질의와 브라우저가 문서 내부 위치 등에 사용하는 프래그먼트를 구분해야 한다.

문자와 구분 기호

공백과 비ASCII 문자 등은 URL의 부분에 따라 인코딩이 필요할 수 있다. 퍼센트 인코딩은 바이트를 표현하는 방식이며 화면에 보이는 문자와 전송 표현이 다를 수 있다.

구분 기호를 무작정 디코딩하거나 문자열을 이어 붙이면 경로와 질의의 의미가 바뀔 수 있다. 주소 생성과 해석에는 해당 환경의 URL 파서를 사용하는 편이 일관적이다.

상대 주소의 기준

같은 /images/logo.png라도 어느 스킴과 호스트를 기준으로 해석하는지에 따라 목적지가 정해진다. 현재 문서 경로에 상대적인 주소는 문서 위치가 바뀌면 다른 곳을 가리킬 수 있다.

주소를 비교할 때 대소문자를 전체에 일괄 적용하는 것은 부정확하다. 호스트와 경로 등 각 부분은 비교 규칙이 다를 수 있으며 서버의 해석도 관여한다.

주소와 접근 권한

URL을 안다고 해당 자원에 접근할 권한이 생기는 것은 아니다. 반대로 비밀 토큰을 주소에 넣으면 기록과 공유 과정에서 노출될 수 있다.

HTTPS 주소는 통신 보호의 중요한 조건이지만 주소가 가리키는 내용의 사실성이나 운영 주체의 신뢰성을 모두 보증하지는 않는다. 이름과 통신 방식, 권한을 나누어 확인해야 한다.

관련 문서

HTTP / HTTPS / 도메인 네임 시스템