엄밀히 말해 사실이 아니더라도 '도메인을 구매했습니다' 또는 '이미지가 다른 사이트에 호스팅됩니다'와 같이 말해도 대부분 괜찮습니다. 하지만 일부 맥락에서는 더 정확해야 합니다. 예를 들어 쿠키를 처리할 때는 사이트와 출처의 차이를 이해해야 합니다.
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 문자열의 부분이 어떻게 명명되는지 확인하세요. https://chrome.dev/url-parts/에서 별도의 탭으로 열 수도 있습니다.
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는 port 없이 host를 반환합니다.
| 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의 경우 도메인과 포트 (정의된 경우) 뒤에 오는 부분으로, filename (정의된 경우)은 포함되지만 검색 문자열이나 해시는 포함되지 않습니다.
| 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입니다. - 세 개 이상의 파트가 있는 eTLD의 경우 eTLD와 그 앞의 도메인
스킴
URL에 요청이 이루어질 때 네트워크 프로토콜 (또는 사용자 에이전트가 취해야 하는 작업)을 정의하는 URL 부분 (:// 전)입니다. 예를 들어 https 스키마가 있는 URL에 대한 요청은 HTTPS 프로토콜을 사용하여 이루어져야 합니다. file, mailto, git과 같은 스킴이 네트워크 프로토콜에 해당하지 않는 URL에 대한 요청의 경우 동작은 사용자 에이전트에 따라 달라집니다. 예를 들어 사용자가 mailto 링크를 클릭하면 대부분의 브라우저가 링크의 href URL에 있는 값을 사용하여 기본 이메일 애플리케이션을 엽니다.
검색
물음표 뒤에 pathname 뒤에 제공되는 매개변수와 해당 값을 나타내는 일련의 키-값 쌍이 옵니다.
| 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이고, 2차 도메인은org이며, 3차 도메인은example입니다. 이 예에서org.au은au의 하위 도메인이고example.org.au은org.au의 하위 도메인입니다.
사이트
사이트는 HTML 표준에 정의되어 있으며 동일 사이트(스키마 포함) 및 스키마 없는 동일 사이트도 정의되어 있습니다.
사이트가 URL 표준 또는 JavaScript URL API에 정의되어 있지 않습니다.
이 맥락에서 다음을 참고하세요.
https://example.com와 같은 단일 파트 eTLD가 있는 HTTP 또는 HTTPS URL의 경우 사이트는scheme, eTLD, 그 앞의 라벨로 구성됩니다. 예를 들어 URL이https://www.example.com/cat인 경우 사이트는https://example.com입니다. (이 URL의 경우 eTLD는 최상위 도메인과 동일합니다.)co.uk,github.io,sa.edu.au과 같은 멀티파트 eTLD의 경우 '사이트'는scheme, eTLD, 그 앞의 라벨로 구성됩니다. 예를 들어 URLhttps://cat.example.co.uk/tabby의 경우 사이트는https://example.co.uk이고https://www.education.sa.gov.au의 경우 사이트는https://education.sa.gov.au입니다.
| URL | 사이트 (url 프로토콜 및 eTLD+1 포함) |
|---|---|
| https://cat.example.com/tabby | ('https', 'example.com') |
| https://cat.example.co.uk/tabby | ('https', 'example.co.uk') |
origin과 달리 사이트에는 port가 포함되지 않습니다.
하위 도메인
상위 도메인 내의 도메인입니다.
com 또는 org과 같은 단일 파트 최상위 도메인이 있는 사이트의 경우 최상위 도메인 앞의 부분으로, 각 부분은 점으로 구분됩니다.
www.example.com은example.com의 하위 도메인입니다.support.api.example.org은api.example.org의 하위 도메인이며api.example.org은example.org의 하위 도메인입니다.
3단계 등록만 허용되는 두 부분으로 된 eTLD(예: 공개 접미사 목록의 항목 co.uk 및 github.io)의 경우 하위 도메인은 그 앞의 도메인 이름 부분입니다.
- 예를 들어
cat.example.co.uk은example.co.uk의 하위 도메인입니다.
텍스트 프래그먼트
페이지 내에서 텍스트 범위로 연결하고 이를 강조 표시할 수 있는 프래그먼트의 한 유형입니다. 사용자가 텍스트 프래그먼트가 포함된 링크를 따라가면 브라우저가 페이지 내에서 텍스트를 찾아 스크롤하고 강조 표시하려고 시도합니다.
텍스트 프래그먼트는 :~:text=으로 시작하고 그 뒤에 검색어가 옵니다.
예를 들어 이 페이지에서 텍스트 '프래그먼트'가 처음 나오는 부분에 연결하려면 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의 공개 접미사 목록에는 하나, 둘 이상의 부분이 있는 도메인이 포함되므로 TLD도 eTLD가 될 수 있습니다. 예를 들면 다음과 같습니다.
https://example.com의 경우 URL의 eTLD는com이며, 이는 TLD이기도 합니다.
사용자 이름
선택사항인 사용자 이름과 비밀번호는 URL 시작 부분에 제공할 수 있지만 보안상의 이유로 지원 중단되었으며 대부분의 경우 무시됩니다.
예를 들어 https://user123:password1@example.com의 경우 사용자 이름은 user123입니다. 사용자 이름 (및 비밀번호)은 일반 텍스트이며 암호화되지 않습니다.
사용자 이름에 : 또는 @ 기호가 포함된 경우 각각 %3A 및 %40로 URL 인코딩해야 합니다.
자세히 알아보기
- WHATWG: URL Living Standard
- WHATWG: HTML Living Standard
- URL API
- '동일 사이트' 및 '동일 출처' 이해하기
- RFC: Uniform Resource Locators (URL)
- RFC: URI, URL, URN
- 루트 영역 데이터베이스 (TLD 디렉터리)
- 공용 접미사 목록 (eTLDs 디렉터리): '공용 접미사는 점으로 연결된 DNS 이름 또는 와일드 카드의 집합입니다. 개별 등록자가 관리하지 않는 도메인 이름 부분을 나타냅니다.")
- ICANN 용어집
- 정규화된 도메인 이름이란 무엇인가요?
- URL을 슬라이스하고 조각의 이름을 지정하는 방법은 몇 가지가 있나요?
- MDN 웹 문서 용어집
- URL이란 무엇인가요?
- URL 기록