В большинстве случаев можно сказать такие вещи, как «Я купил домен» или «Наши изображения размещены на другом сайте», даже если это не совсем так. Однако в некоторых контекстах необходимо быть более точным. Например, имея дело с файлами cookie, вам необходимо понимать разницу между сайтом и источником .
Имена частей URL указаны в стандарте, который также определяет API JavaScript:
- Стандарт URL определяет URL-адреса и связанные с ними концепции, позволяющие инженерам создавать совместимые веб-браузеры.
- Компонент URL API стандарта определяет методы для предоставления доступа к частям строки URL, таким как схема или источник .
В этом документе объясняется ряд терминов, используемых со строками URL-адресов HTTP или HTTPS. Он не охватывает другие типы URL-адресов, такие как URL-адреса файлов или данных. Точные определения таких терминов, как host и origin , по своей сути сложны, поэтому в этом документе представлены примеры и ссылки на стандарт URL, а не попытки полных объяснений.
Вы можете использовать JavaScript для получения имен компонентов URL-адресов, определенных 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 .
Доменное имя
Части URL-адреса HTTP или HTTPS, разделенные точками: все после схемы , но до пути или порта (если они указаны). Каждая часть доменного имени называется меткой .
| URL-адрес | Доменное имя |
|---|---|
| https://example.github.io/path | пример.github.io |
| https://support.example.org.au:443 | support.example.org.au |
Эффективный домен верхнего уровня (eTLD)
Запись в списке общедоступных суффиксов , включающая TLD и (для eTLD, состоящих из нескольких частей) дополнительные домены ниже: второго уровня, третьего уровня и т. д.
- Например:
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-адресов и не является частью API-интерфейса URL-адресов, но обычно используется для ссылки на конечную, не связанную с путем часть URL-адреса, основанную на — часто неверном — предположении, что URL-адрес напрямую сопоставляется со структурой каталогов.
Например, при использовании https://example.com/dir/file.html file.html может называться именем файла.
Значение имени файла также используется браузерами для обозначения загруженного ресурса. Например, https://example.com/images/image.jpg обычно сохраняется локально в image.jpg .
Фрагмент
Строка, следующая за символом # в конце URL-адреса и предоставляющая идентификатор фрагмента .
- Например: URL-адрес
https://example.com/cats#tabbyимеет значение идентификатора фрагментаtabby.
Часть, включающая # , называется хешем или привязкой. Вы также можете указать ссылку на фрагмент текста и выделить его.
URL-API возвращает хэш, а не фрагмент.
Полное доменное имя (FQDN)
Полный адрес веб-сайта или сервера, который соответствует IP-адресу .
| URL-адрес | полное доменное имя |
|---|---|
| https://example.com:1234/cats | example.com |
| https://api.example.github.io | API.example.github.io |
Полное доменное имя URL-адреса не включает порт , даже если используется порт, отличный от порта по умолчанию.
Хэш (или якорь)
Строка, следующая за символом # в конце 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 |
Имя хоста
Имя хоста определяется API URL JavaScript, а не стандартом 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 для фона.
Для URL-адресов HTTP или HTTPS 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 |
Параметр
См. Параметры поиска
Пароль
Смотрите имя пользователя .
Путь
Для URL-адреса HTTP или HTTPS — часть после домена и порта (если задано), включая имя файла (если определено), но не включая строку поиска или хэш .
| URL-адрес | URL.pathname |
|---|---|
| https://example.com | [empty string] |
| https://example.com:8000/search?q=табби | /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 включительно.
Для URL-адреса HTTP порт по умолчанию — 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-адреса, исключая начальный символ ? .
Регистрируемый домен
- Для URL-адреса с eTLD , состоящим из одной части, например
comилиorg(т. е. eTLD, который соответствует TLD ), домен и домен второго уровня перед ним: например,example.comилиexample.org. - Для URL-адреса с eTLD, состоящим из двух частей, где разрешена только регистрация третьего уровня (т. е. записи в списке общедоступных суффиксов , такие как
com.auиgithub.io), домен верхнего уровня, состоящий из двух частей («публичный суффикс») и доменное имя третьего уровня непосредственно перед этим. Например:example.org.auилиexample.github.io. - Для eTLD, состоящих из трех или более частей, — eTLD и предшествующий домен.
Схема
Часть URL-адреса (до :// ), которая определяет сетевой протокол (или действие, которое должен предпринять пользовательский агент) при запросе URL-адреса. Например, запрос к URL со схемой https должен осуществляться по протоколу HTTPS . Поведение запроса к URL-адресу с такой схемой, как file , mailto или git , не соответствующей сетевому протоколу, зависит от пользовательского агента. Например, когда пользователь нажимает ссылку mailto , большинство браузеров открывают приложение электронной почты по умолчанию, используя значения в URL-адресе href ссылки.
Поиск
Знак вопроса, за которым следует ряд пар ключ-значение, которые представляют параметры и их значения, указанные после имени пути .
| 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.
Домен второго уровня
Домен перед доменом верхнего уровня .
Для URL-адреса
https://www.example.comдоменом второго уровня являетсяexample.com, субдомен домена верхнего уровняcom.Для
https://example.org.auдомен верхнего уровня —au, домен второго уровня —orgи домен третьего уровня —example. В этом примереorg.au— это субдоменau, аexample.org.au— субдоменorg.au
Сайт
Сайт определяется стандартом HTML вместе с тем же сайтом , который включает в себя схему , и без схемы тот же сайт .
Сайт не определен в стандарте URL или API URL-адресов JavaScript.
В этом контексте:
- Для URL-адреса HTTP или HTTPS с eTLD , состоящим из одной части, например
https://example.com, сайт состоит изscheme, eTLD и метки перед ней. Например: для URL-адресаhttps://www.example.com/catсайт —https://example.com. (Для этого URL-адреса eTLD совпадает с доменом верхнего уровня .) - Для составных eTLD , таких как
co.uk,github.ioилиsa.edu.au, «сайт» состоит из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») |
В отличие от происхождения , на сайте не указан порт .
Субдомен
Домен внутри домена более высокого уровня.
Для сайтов с доменами верхнего уровня, состоящими из одной части, например com или org , это части перед доменом верхнего уровня, каждая из которых разделена точкой.
-
www.example.com— это поддоменexample.com. -
support.api.example.org— это субдоменapi.example.org, который является субдоменомexample.org.
Для 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 .
При описании частей URL-адреса HTTP или HTTPS TLD — это доменное имя, которое следует за последней точкой.
- Для
https://example.orgдоменом верхнего уровня URL-адреса являетсяorg. - Для
https://example.org.auдоменом верхнего уровня URL-адреса являетсяau, аorg— это домен второго уровня (хотяorgтакже является доменом верхнего уровня).org.au— это eTLD, состоящий из двух частей.
Список общедоступных суффиксов eTLD включает домены, состоящие из одной, двух или более частей, поэтому TLD также может быть eTLD. Например:
- Для
https://example.comeTLD URL-адреса —com, который также является TLD.
Имя пользователя
В начале URL-адреса можно указать необязательное имя пользователя и пароль , но это устарело по соображениям безопасности и во многих случаях будет игнорироваться.
Например, для https://user123:password1@example.com имя пользователя — user123 . Обратите внимание, что имя пользователя (и пароль!) представлены в виде обычного текста и не зашифрованы. Если имя пользователя содержит символы : или @ , они должны быть URL-адресами, закодированными в %3A и %40 соответственно.
Узнать больше
- WHATWG: URL Уровень жизни
- WHATWG: Уровень жизни HTML
- URL-API
- Понимание понятий «тот же сайт» и «тот же источник»
- RFC: унифицированные указатели ресурсов (URL)
- RFC: URI, URL и URN.
- База данных корневых зон (каталог TLD )
- Список общедоступных суффиксов (каталог eTLD : «Общедоступный суффикс представляет собой набор DNS-имен или подстановочных знаков, объединенных точками. Он представляет собой часть доменного имени, которая не находится под контролем отдельного владельца регистрации».)
- Глоссарий ICANN
- Что такое полное доменное имя?
- Сколькими способами вы можете разрезать URL-адрес и дать названия частям?
- Глоссарий веб-документов MDN
- Что такое URL-адрес?
- История URL-адреса