대부분의 경우 사실이 아니더라도 '도메인을 구매했습니다' 또는 '이미지는 다른 사이트에 호스팅됩니다'와 같이 말해도 괜찮습니다. 하지만 경우에 따라 더 정확해야 합니다. 예를 들어 쿠키를 처리할 때는 사이트와 출처의 차이를 이해해야 합니다.
URL 부분의 이름은 JavaScript API도 정의하는 표준에 지정됩니다.
- URL 표준은 엔지니어가 상호 운용 가능한 웹브라우저를 빌드할 수 있도록 URL 및 관련 개념을 정의합니다.
- 표준의 URL API 구성요소는 스키마 또는 출처와 같은 URL 문자열의 일부에 대한 액세스를 제공하는 메서드를 정의합니다.
이 문서에서는 HTTP 또는 HTTPS URL 문자열과 함께 사용되는 다양한 용어를 설명합니다. 파일 또는 데이터 URL과 같은 다른 유형의 URL은 다루지 않습니다. host
및 origin
와 같은 용어의 경우 정확한 정의는 본질적으로 복잡하므로 이 문서에서는 전체 설명을 시도하기보다는 예시와 URL 표준 링크를 제공합니다.
JavaScript를 사용하여 URL API에서 정의한 URL 구성요소의 이름을 가져올 수 있습니다. 예를 들면 다음과 같습니다.
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
URL 분석 도구
아래 URL을 수정하여 URL 문자열의 일부에 이름이 지정되는 방식을 확인합니다. 별도의 탭(url-parts.glitch.me)에서 열 수도 있습니다.
URL 부분의 이름은 아래에 알파벳순으로 나열되어 있습니다.
국가 코드 최상위 도메인(ccTLD)
ISO 3166-1 국가 코드 목록에 정의된 최상위 도메인입니다.
도메인 이름
HTTP 또는 HTTPS URL의 부분으로, 점으로 구분됩니다. 스키마 뒤에 있지만 경로 또는 포트(지정된 경우) 앞에 있는 모든 부분입니다. 도메인 이름의 각 부분을 라벨이라고 합니다.
URL | 도메인 이름 |
---|---|
https://example.github.io/path | example.github.io |
https://support.example.org.au:443 | support.example.org.au |
유효한 최상위 도메인(eTLD)
공개 접미사 목록의 항목으로, TLD 및(여러 부분으로 구성된 eTLD의 경우) 그 아래에 있는 추가 도메인(2차, 3차 등)을 포함합니다.
- 예를 들면
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
입니다.
이러한 예와 같은 '공용 접미사'는 도메인을 등록할 수 있는 이름입니다. 공개 접미사 목록은 알려진 모든 공개 접미사의 목록이며 자주 업데이트됩니다. Chromium 및 Firefox를 비롯한 브라우저는 빌드에 이 목록을 사용합니다.
eTLD+1
등록 가능한 도메인을 참고하세요.
eTLD와 그 앞에 오는 하위 도메인.
- 예를 들면
example.com
,example.org.au
,example.github.io
,example.sa.edu.au
,example.schools.nsw.edu.au
입니다.
파일 이름
URL 표준에 정의되어 있지 않으며 URL API의 일부가 아니지만 URL이 디렉터리 구조에 직접 매핑된다는 잘못된 가정을 기반으로 URL의 경로가 아닌 마지막 부분을 참조하는 데 일반적으로 사용됩니다.
예를 들어 https://example.com/dir/file.html
에서는 file.html
을 파일 이름으로 지칭할 수 있습니다.
파일 이름 값은 브라우저에서 애셋이 다운로드된 경우 애셋 이름을 지정하는 데도 사용됩니다.
예를 들어 https://example.com/images/image.jpg
는 일반적으로 로컬에서 image.jpg
에 저장됩니다.
Fragment
URL 끝에 있는 # 문자 뒤에 오는 문자열로 프래그먼트 식별자를 제공합니다.
- 예를 들어 URL
https://example.com/cats#tabby
의 프래그먼트 식별자 값은tabby
입니다.
#
가 포함된 부분을 해시 또는 앵커라고 합니다.
텍스트 프래그먼트에 링크하고 강조 표시할 수도 있습니다.
해시는 프래그먼트가 아닌 URL API에서 반환합니다.
정규화된 도메인 이름 (FQDN)
IP 주소에 매핑되는 웹사이트 또는 서버의 전체 주소입니다.
URL | FQDN |
---|---|
https://example.com:1234/cats | example.com |
https://api.example.github.io | api.example.github.io |
URL의 FQDN에는 기본 포트가 아닌 포트가 사용되더라도 포트가 포함되지 않습니다.
해시(또는 앵커)
URL 끝에 있는 # 문자 뒤에 오는 문자열로, 프래그먼트 식별자를 제공합니다. 일부 맥락에서는 이를 '앵커'라고 합니다.
#
를 제외한 부분을 프래그먼트라고 합니다.
텍스트 프래그먼트에 링크하고 강조 표시할 수도 있습니다.
해시는 프래그먼트가 아니라 URL API에서 반환됩니다.
호스트
URL 표준에 정의된 대로 호스트는 도메인 이름, IP v4 주소, IPv6 주소, 불투명 호스트 또는 빈 호스트일 수 있습니다.
- URL 표준의
host
정의에는 포트가 포함되지 않습니다. - 포트가 스키마의 기본 포트가 아닌 경우
URL.host
에는 포트가 포함됩니다. URL.hostname
에는 포트가 포함되지 않습니다.
URL | URL.host |
---|---|
https://www.example.com:443/cat |
www.example.com // 443 is the default port for the scheme
|
https://www.example.com:1234/cat | www.example.com:1234 |
https://cat.example.github.io | cat.example.github.io |
호스트 이름
호스트 이름은 JavaScript URL
API로 정의되지만 URL 표준으로 정의되지 않습니다. 자세한 내용은 호스트 표현을 참고하세요.
URL.hostname
는 포트가 없는 호스트를 반환합니다.
URL | URL.hostname |
---|---|
https://www.example.com:443/cat | www.example.com |
https://www.example.com:1234/cat | www.example.com |
https://cat.example.github.io | cat.example.github.io |
출발지
URL 표준은 origin
를 정의하고 배경에 관한 HTML 표준으로 연결됩니다.
HTTP 또는 HTTPS URL의 경우 URL.origin
는 포트가 스키마의 기본값이 아닌 한 스키마, 호스트, 포트를 반환합니다.
URL | URL.origin |
---|---|
https://www.example.com:443/cat | https://www.example.com |
https://www.example.com:1234/cat | https://www.example.com:1234 |
https://cat.example.github.io | https://cat.example.github.io |
매개변수
검색 매개변수를 참고하세요.
비밀번호
사용자 이름을 참고하세요.
경로 이름
HTTP 또는 HTTPS URL의 경우 도메인 및 포트(정의된 경우) 뒤의 부분으로, 파일 이름(정의된 경우)은 포함하지만 검색 문자열 또는 해시는 포함하지 않습니다.
URL | URL.pathname |
---|---|
https://example.com | [empty string] |
https://example.com:8000/search?q=tabby | /search |
https://example.github.io/cat/pattern#tabby | /cat/pattern |
https://example.github.io/README.md | /README.md |
'경로'는 파일 이름이 없는 경로 이름을 나타내는 데 사용되는 경우가 있습니다. 예를 들어 URL https://example.com/cat/pattern/tabby.html
의 '경로'는 /cat/pattern
입니다.
포트
URL에서 네트워크 포트를 식별하는 :
뒤의 숫자입니다. 예를 들어 URL https://example.com:1234/tabby
의 포트 번호는 1234입니다.
포트 번호는 16비트 부호 없는 정수여야 합니다. 즉, 0과 65535 사이의 정수여야 합니다(양 끝값 포함).
HTTP URL의 경우 기본 포트는 80, HTTPS의 경우 기본값은 443입니다. 기본이 아닌 포트를 사용하는 경우가 아니라면 URL에서 포트 번호를 지정할 필요가 없습니다.
포트가 스키마의 기본값인 경우 API는 빈 문자열을 반환합니다.
URL | URL.port |
---|---|
https://example.com | // empty string |
https://example.com:443/foo | // empty string: port is default for scheme |
https://www.example.com:1234/foo | 1234 |
프로토콜
스키마 다음에 :
(예: http:
또는 https:
)
protocol
는 URL API에서 사용할 수 있지만 scheme
는 사용할 수 없습니다.
쿼리 (또는 '쿼리 문자열')
URL의 검색 부분(앞의 ?
제외)
등록 가능한 도메인
com
또는org
와 같은 단일 부분 eTLD(즉, TLD에 해당하는 eTLD)가 있는 URL의 경우 도메인과 그 앞에 있는 2차 도메인(예:example.com
또는example.org
)- 3단계 등록만 허용되는 두 부분으로 된 eTLD가 있는 URL(예:
com.au
및github.io
와 같은 공개 서픽스 목록의 항목)의 경우 두 부분으로 된 최상위 도메인('공개 서픽스')과 그 바로 앞의 3단계 도메인 이름입니다. 예를 들면example.org.au
또는example.github.io
입니다. - 구성요소가 3개 이상인 eTLD의 경우 eTLD와 그 앞에 있는 도메인입니다.
스킴
URL에 대한 요청이 이루어질 때 네트워크 프로토콜 (또는 사용자 에이전트가 실행할 작업)을 정의하는 URL (://
이전) 부분입니다. 예를 들어 https
스키마가 있는 URL에 대한 요청은 HTTPS 프로토콜을 사용하여 이루어져야 합니다. 네트워크 프로토콜에 해당하지 않는 file
, mailto
또는 git
와 같은 스키마를 사용하는 URL 요청의 경우 동작은 사용자 에이전트에 따라 다릅니다. 예를 들어 사용자가 mailto
링크를 클릭하면 대부분의 브라우저는 링크의 href
URL에 있는 값을 사용하여 기본 이메일 애플리케이션을 엽니다.
검색
물음표 뒤에 경로 뒤에 제공되는 매개변수 및 값을 나타내는 일련의 키-값 쌍이 옵니다.
URL | URL.search |
---|---|
https://example.com/cats?pattern=tabby&mood=bonkers | ?pattern=tabby&mood=bonkers |
https://example.com/cats:443?pattern=tabby | ?pattern=tabby |
query
또는 '쿼리 문자열'은 선행 ?
이 없는 search
를 나타냅니다.
검색 매개변수도 참고하세요.
검색 매개변수
검색 문자열(또는 '검색어 문자열')에 전달된 데이터 항목을 참조합니다.
- 예를 들어
https://example.com/cats?pattern=tabby&mood=bonkers
의 경우 검색 문자열에는pattern=tabby
및mood=bonkers
의 두 매개변수가 있습니다.
2차 도메인
최상위 도메인 앞에 오는 도메인입니다.
URL
https://www.example.com
의 경우 2차 도메인은 최상위 도메인com
의 하위 도메인인example.com
입니다.https://example.org.au
의 경우 최상위 도메인은au
, 두 번째 수준 도메인은org
, 세 번째 수준 도메인은example
입니다. 이 예에서org.au
은au
의 하위 도메인이고example.org.au
은org.au
의 하위 도메인입니다.
사이트
사이트는 스키마를 포함하는 동일 사이트 및 스키마 없는 동일 사이트와 함께 HTML 표준에 의해 정의됩니다.
사이트가 URL 표준 또는 JavaScript URL API에 정의되어 있지 않습니다.
이 문맥에서 각 항목의 의미는 다음과 같습니다.
https://example.com
과 같이 단일 부분 eTLD가 있는 HTTP 또는 HTTPS URL의 경우 사이트는scheme
, eTLD, 그 앞에 있는 라벨로 구성됩니다. 예를 들어 URLhttps://www.example.com/cat
의 경우 사이트는https://example.com
입니다. 이 URL의 경우 eTLD는 최상위 도메인과 동일합니다.co.uk
,github.io
또는sa.edu.au
와 같은 멀티파트 eTLD의 경우 '사이트'는scheme
, eTLD, 라벨로 구성됩니다. 예를 들어 URL이https://cat.example.co.uk/tabby
이면 사이트는https://example.co.uk
이고https://www.education.sa.gov.au
의 경우 사이트는https://education.sa.gov.au
입니다.
URL | 사이트 (스키마 및 eTLD +1 포함) |
---|---|
https://cat.example.com/tabby | ("https", "example.com") |
https://cat.example.co.uk/tabby | ('https', 'example.co.uk') |
origin과 달리 사이트에는 포트가 포함되지 않습니다.
하위 도메인
상위 도메인 내의 도메인입니다.
com
또는 org
와 같이 단일 부분 최상위 도메인이 있는 사이트의 경우 최상위 도메인 앞에 있는 부분으로, 각각 점으로 구분됩니다.
www.example.com
는example.com
의 하위 도메인입니다.support.api.example.org
은example.org
의 하위 도메인인api.example.org
의 하위 도메인입니다.
3단계 등록만 허용되는 두 부분으로 구성된 eTLD(예: co.uk
및 github.io
와 같은 공개 접미사 목록의 항목)의 경우 하위 도메인은 그 앞에 있는 도메인 이름의 일부입니다.
- 예를 들어
cat.example.co.uk
은example.co.uk
의 하위 도메인입니다.
텍스트 프래그먼트
페이지 내의 텍스트 범위에 연결하고 강조 표시할 수 있는 프래그먼트 유형입니다. 사용자가 텍스트 프래그먼트가 포함된 링크를 클릭하면 브라우저는 페이지 내에서 텍스트를 찾아 스크롤하고 강조 표시하려고 시도합니다.
텍스트 프래그먼트는 :~:text=
로 시작하고 그 뒤에 검색어가 옵니다.
예를 들어 이 페이지에서 'fragment' 텍스트가 처음으로 표시되는 위치에 연결하려면 URL https://web.dev/articles/url-parts#:~:text=fragment
를 사용하세요.
자세한 내용은 텍스트 프래그먼트를 참고하세요.
최상위 도메인(TLD)
루트 영역 데이터베이스에 등록된 도메인 이름(예: com
또는 org
) 일부 최상위 도메인은 uk
및 tv
과 같은 국가 코드 최상위 도메인입니다.
HTTP 또는 HTTPS URL의 부분을 설명할 때 TLD는 마지막 점 뒤에 오는 도메인 이름입니다.
https://example.org
의 경우 URL의 최상위 도메인은org
입니다.https://example.org.au
의 경우 URL의 최상위 도메인은au
이고org
는 2차 도메인입니다(org
도 최상위 도메인임).org.au
는 두 부분으로 구성된 eTLD입니다.
eTLD의 공개 접미사 목록에는 1개, 2개 이상의 부분으로 구성된 도메인이 포함되므로 TLD가 eTLD일 수도 있습니다. 예를 들면 다음과 같습니다.
https://example.com
의 경우 URL의 eTLD는 TLD이기도 한com
입니다.
사용자 이름
선택사항인 사용자 이름과 비밀번호를 URL 시작 부분에 제공할 수 있지만 보안상의 이유로 지원 중단되었으며 대부분의 경우 무시됩니다.
예를 들어 https://user123:password1@example.com
의 경우 사용자 이름은 user123
입니다. 사용자 이름과 비밀번호는 일반 텍스트로 되어 있으며 암호화되지 않습니다.
사용자 이름에 :
또는 @
기호가 포함된 경우 각각 %3A
및 %40
로 URL 인코딩되어야 합니다.
자세히 알아보기
- WHATWG: URL 실시간 표준
- WHATWG: HTML Living Standard
- URL API
- 'same-site' 및 'same-origin' 이해하기
- RFC: URL(Uniform Resource Locator)
- RFC: URI, URL, URN
- 루트 영역 데이터베이스 (TLD 디렉터리)
- 공용 접미사 목록(eTLD 디렉터리): '공용 접미사는 점으로 연결된 DNS 이름 또는 와일드 카드의 집합입니다. 이는 개인 등록자가 관리할 수 없는 도메인 이름의 일부를 나타냅니다.")
- ICANN 용어집
- 정규화된 도메인 이름이란 무엇인가요?
- URL을 슬라이스하고 슬라이스된 부분에 이름을 지정하는 방법에는 몇 가지가 있나요?
- MDN 웹 문서 용어집
- URL이란 무엇인가요?
- URL 기록