URL의 구성요소는 무엇인가요?

대부분의 경우 '도메인을 구입했습니다'와 같은 말을 해도 괜찮습니다. 또는 'Google의 이미지 다른 사이트에서 호스팅되는 경우'라는 메시지가 표시될 수 있습니다. 하지만 일부 문맥의 경우 더 정확하게 지정해야 합니다. 예를 들어 사이트원본의 차이점을 이해해야 합니다.

URL 부분의 이름은 표준에 지정되어 있으며, 이는 JavaScript도 정의합니다. API:

  • URL 표준은 URL 및 관련 엔지니어가 상호 운용 가능한 웹브라우저를 빌드할 수 있도록 하는 방법을 살펴봤습니다
  • URL API 구성요소 은 URL 문자열의 일부에 대한 액세스를 제공하는 메서드를 정의합니다. 스키마 또는 출처 등입니다.

이 문서에서는 HTTP 또는 HTTPS URL 문자열과 함께 사용되는 다양한 용어를 설명합니다. 그것은 은 파일 또는 데이터 URL과 같은 다른 유형의 URL에는 적용되지 않습니다. 검색어, hostorigin의 경우 정확한 정의는 본질적으로 복잡하므로 Google 도움말 센터에서 제공하는 URL 표준에 대한 예제와 링크를 전체 설명을 시도하고 있습니다.

JavaScript를 사용하여 URL API입니다. 예를 들면 다음과 같습니다.

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 국가 코드 목록에 정의된 최상위 도메인입니다.

  • https://example.org.au의 경우 ccTLD는 au입니다.
  • https://example.io의 경우 ccTLD는 io입니다.

도메인 이름

HTTP 또는 HTTPS URL에서 점으로 구분된 부분: scheme 단, path 또는 port 앞 (지정된 경우)입니다. 도메인 이름의 각 부분을 라벨이라고 합니다.

URL 도메인 이름
https://example.github.io/path example.github.io
https://support.example.org.au:443 support.example.org.au

효과적인 최상위 도메인 (eTLD)

다음을 포함한 공개 접미사 목록의 항목 아래의 TLD 및(여러 부분으로 구성된 eTLD의 경우) 추가 도메인. 2단계, 세 번째 수준 등입니다.

  • 예: 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 주소, 불투명 호스트 또는 비어 있음 호스팅합니다

  • host에 대한 URL 표준의 정의에는 포트가 포함되어 있지 않습니다.
  • 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의 경우 도메인과 포트 다음 부분 (정의된 경우) 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의 경우 'path'입니다. /cat/pattern입니다.

포트

URL에서 : 다음에 오는 네트워크 포트를 식별하는 숫자입니다. 예를 들어 URL https://example.com:1234/tabby의 포트 번호는 1234입니다.

포트 번호는 부호 없는 16비트 정수여야 합니다. 즉, 정수여야 합니다. 0 이상 65535 이하입니다.

HTTP URL의 경우 기본 포트는 80입니다. 기본값은 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를 포함하는 URL (예: TLD에 해당하는 eTLD), 도메인 및 두 번째 수준 도메인 앞에 위치(예: example.com 또는 example.org입니다.
  • 3단계 등록만 이루어지는 두 부분으로 구성된 eTLD를 포함하는 URL의 경우 허용되는 경우 (즉, com.augithub.io와 같은 공개 접미사 목록의 항목) 두 부분으로 구성된 최상위 도메인('공개 접미사')과 세 번째 수준의 도메인 이름 그 직전에 말입니다. 예를 들면 example.org.au 또는 example.github.io입니다.
  • 3개 이상의 부분으로 구성된 eTLD의 경우 그 앞에 있는 eTLD와 도메인입니다.

스킴

네트워크 프로토콜 (또는 수행할 작업)을 정의하는 URL 부분 (:// 이전) 사용자 에이전트)가 될 수 있습니다. 예를 들어 https 스키마가 포함된 URL은 HTTPS 프로토콜을 사용해야 합니다. 스키마가 있는 URL에 대한 요청의 경우 (예: 네트워크에 해당하지 않는 file, mailto 또는 git) 프로토콜의 경우 사용자 에이전트에 따라 동작이 달라집니다. 예를 들어 사용자가 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=tabbymood=bonkers의 두 매개변수가 있습니다.

2차 도메인

최상위 도메인 앞에 있는 도메인입니다.

  • URL https://www.example.com에서 2차 도메인은 다음과 같습니다. example.com, 최상위 도메인 com하위 도메인.

  • https://example.org.au의 경우 최상위 도메인은 두 번째 수준인 au입니다. 도메인은 org이고 세 번째 수준 도메인은 example입니다. 이 예에서 org.au은(는) au의 하위 도메인이며 example.org.au은(는) 다음의 하위 도메인입니다. org.au

사이트

사이트same-site와 함께 HTML 표준을 스키마 포함 스키마 없는 동일 사이트를 사용합니다.

사이트가 URL 표준 또는 JavaScript URL API에 정의되어 있지 않습니다.

이 문맥에서 각 항목의 의미는 다음과 같습니다.

  • 다음과 같이 단일 부분 eTLD를 포함하는 HTTP 또는 HTTPS URL의 경우 https://example.com, 사이트는 scheme, eTLD 및 라벨을 있습니다. 예를 들어 URL이 https://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과 달리 사이트에 port가 포함되지 않습니다.

<ph type="x-smartling-placeholder">

하위 도메인

상위 도메인 내의 도메인입니다.

com 또는 org와 같이 단일 부분의 최상위 도메인을 가진 사이트의 경우 를 입력합니다. 각 코드는 점으로 구분됩니다.

  • www.example.comexample.com의 하위 도메인입니다.
  • support.api.example.orgapi.example.org의 하위 도메인이며 example.org의 하위 도메인입니다.

3단계 등록만 허용되는 두 부분으로 구성된 eTLD(예: 공개 접미사 목록(예: co.uk, github.io) 하위 도메인은 그 전의 도메인 이름의 일부입니다.

  • 예를 들어 cat.example.co.ukexample.co.uk의 하위 도메인입니다.

텍스트 프래그먼트

콘텐츠에 연결하고 강조 표시할 수 있는 프래그먼트의 한 유형 텍스트 범위를 나타냅니다. 사용자가 텍스트 프래그먼트가 있는 링크를 따라가면 브라우저가 페이지 내의 텍스트를 찾아 스크롤하여 강조 표시합니다.

텍스트 프래그먼트는 :~:text=로 시작하고 그 뒤에 검색어가 옵니다.

예를 들어 '프래그먼트'라는 텍스트가 처음 나타난 항목에 링크하려면 URL https://web.dev/articles/url-parts#:~:text=fragment을(를) 사용합니다.

자세히 알아보기: 텍스트 프래그먼트

최상위 도메인 (TLD)

루트 영역 데이터베이스에 나열된 도메인 이름(예: com 또는 org) 일부 최상위 도메인은 국가 코드 최상위 도메인(예: uktv)입니다.

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로 URL 인코딩해야 합니다. 각각 %40와 같음


자세히 알아보기