diff options
author | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:51:05 +0100 |
---|---|---|
committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:51:05 +0100 |
commit | c058fa0fb22dc40ef0225b21a97578cddd0aaffa (patch) | |
tree | df20f8b4c724b61cb9c34cdb450a7ac77d690bd0 /files/ru/learn/common_questions/what_is_a_url/index.html | |
parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
download | translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.tar.gz translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.tar.bz2 translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.zip |
unslug ru: move
Diffstat (limited to 'files/ru/learn/common_questions/what_is_a_url/index.html')
-rw-r--r-- | files/ru/learn/common_questions/what_is_a_url/index.html | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/files/ru/learn/common_questions/what_is_a_url/index.html b/files/ru/learn/common_questions/what_is_a_url/index.html new file mode 100644 index 0000000000..41fe5182c7 --- /dev/null +++ b/files/ru/learn/common_questions/what_is_a_url/index.html @@ -0,0 +1,161 @@ +--- +title: Что такое URL-адрес? +slug: Learn/Understanding_URLs +tags: + - URL + - Адрес + - Порт + - Ресурс + - Якорь + - домен + - протокол +translation_of: Learn/Common_questions/What_is_a_URL +--- +<div class="summary"> +<p>Данная статья описывает Единый локатор ресурсов или Uniform Resource Locators (URLs), объясняет, что это такое, и опиcывает его структуру. </p> +</div> + +<table class="learn-box standard-table"> + <tbody> + <tr> + <th scope="row">Предварительно:</th> + <td>Вам нужно узнать <a href="/ru/docs/Learn/How_the_Internet_works">как работает интернет</a>, <a href="/ru/docs/Learn/What_is_a_Web_server">что такое Веб сервер</a> and <a href="/ru/docs/Learn/Understanding_links_on_the_web">что лежит в основе веб ссылок </a>.</td> + </tr> + <tr> + <th scope="row">Цель:</th> + <td>Вы узнаете, что такое URL и как они работают в вебе.</td> + </tr> + </tbody> +</table> + +<h2 id="Введение">Введение</h2> + +<p>Наряду с понятиями <a href="/ru/docs/Glossary/Hypertext">гипертекста</a> и <a href="/ru/docs/Glossary/HTTP">протокола HTTP</a>, понятие <a href="ru/docs/Glossary/URL">URL</a> является одной из основных концепций Всемирной паутины. Это механизм, используемый <a href="ru/docs/Glossary/Browser">браузерами</a> для получения любого опубликованного во Всемирной сети ресурса.</p> + +<p><strong>URL</strong> обозначает <em>Uniform Resource Locator</em>. URL это лишь адрес, который выдан уникальному ресурсу в интернете. В теории, каждый корректный URL ведет на уникальный ресурс. Такими ресурсами могут быть HTML-страница, CSS-файл, изображение и т.д. На практике, существуют некоторые исключения, когда, например, URL ведет на ресурс, который больше не существует или который был перемещён. Поскольку ресурс, доступный по URL, а также сам URL обрабатываются веб-сервером, его владелец должен внимательно следить за размещаемыми ресурсами и связанными с ними URL.</p> + +<h2 id="Активное_обучение">Активное обучение</h2> + +<p><em>Активного обучения пока не существует. <a href="/ru/docs/MDN/Getting_started">Пожайлуста подумайте, возможно Вы сможете внести свой вклад</a>.</em></p> + +<h2 id="Подробная_информация">Подробная информация</h2> + +<h3 id="Основы_анатомия_URL">Основы: анатомия URL</h3> + +<p>Вот несколько примеров URL:</p> + +<pre>https://developer.mozilla.org +https://developer.mozilla.org/ru/docs/Learn/ +https://developer.mozilla.org/ru/search?q=URL</pre> + +<p>Каждый из этих URLs могут быть напечатаны в адресной строке браузера, чтобы заставить его загрузить связанную страницу (ресурс).</p> + +<p>URL состоит из различных частей, некоторые из которых являются обязательными, а некоторые - факультативными. Рассмотрим наиболее важные части на примере:</p> + +<pre>http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument</pre> + +<dl> + <dt><img alt="Protocol" src="https://mdn.mozillademos.org/files/8013/mdn-url-protocol@x2.png" style="height: 70px; width: 440px;"></dt> + <dd><code>http://</code> это протокол. Он отображает, какой протокол браузер должен использовать. Обычно это HTTP-протокол или его безопасная версия - HTTPS. Интернет требует эти 2 протокола, но браузеры часто могут использовать и другие протоколы, например <code>mailto:</code> (чтобы открыть почтовый клиент) или <code>ftp:</code> для запуска передачи файлов, так что не стоит удивляться, если вы вдруг увидите другие протоколы.</dd> + <dt><img alt="Domaine Name" src="https://mdn.mozillademos.org/files/8015/mdn-url-domain@x2.png" style="height: 70px; width: 440px;"></dt> + <dd><code>www.example.com</code> это доменное имя. Оно означает, какой веб-сервер должен быть запрошен. В качестве альтернативы может быть использован и {{Glossary("IP address", "IP-адрес")}}, но это делается редко, поскольку запоминать IP сложнее, и это не популярно в интернете.</dd> + <dt><img alt="Port" src="https://mdn.mozillademos.org/files/8017/mdn-url-port@x2.png" style="height: 70px; width: 440px;"></dt> + <dd><code>:80</code> это порт. Он отображает технический параметр, используемый для доступа к ресурсам на веб-сервере. Обычно подразумевается, что веб-сервер использует стандартные порты HTTP-протокола (80 для HTTP и 443 для HTTPS) для доступа к своим ресурсам. В любом случае, порт - это факультативная составная часть URL.</dd> + <dt><img alt="Path to the file" src="https://mdn.mozillademos.org/files/8019/mdn-url-path@x2.png" style="height: 70px; width: 440px;"></dt> + <dd><code>/path/to/myfile.html</code> это адрес ресурса на веб-сервере. В прошлом, адрес отображал местоположение реального файла в реальной директории на веб-сервере. В наши дни это чаще всего абстракция, позволяющая обрабатывать адреса и отображать тот или иной контент из баз данных.</dd> + <dt><img alt="Parameters" src="https://mdn.mozillademos.org/files/8021/mdn-url-parameters@x2.png" style="height: 70px; width: 440px;"></dt> + <dd><code>?key1=value1&key2=value2</code> это дополнительные параметры, которые браузер сообщает веб-серверу. Эти параметры - список пар ключ/значение, которые разделены символом <code>&</code>. Веб-сервер может использовать эти параметры для исполнения дополнительных команд перед тем как отдать ресурс. Каждый веб-сервер имеет свои собственные правила обработки этих параметров и узнать их можно, только спросив владельца сервера.</dd> + <dt><img alt="Anchor" src="https://mdn.mozillademos.org/files/8023/mdn-url-anchor@x2.png" style="height: 70px; width: 440px;"></dt> + <dd><code>#SomewhereInTheDocument</code> это якорь на другую часть того же самого ресурса. Якорь представляет собой вид "закладки" внутри ресурса, которая переадресовывает браузер на "заложенную" часть ресурса. В HTML-документе, например, браузер может переместиться в точку, где установлен якорь; в видео- или аудио-документе браузер может перейти к времени, на которое ссылается якорь. Важно отметить, что часть URL после #, которая также известна как идентификатор фрагмента, никогда не посылается на сервер вместе с запросом.</dd> +</dl> + +<p>{{Note('Есть и <a href="http://en.wikipedia.org/wiki/Uniform_Resource_Locator">другие составные части и правила</a>, касающиеся URL, но обычно они не используются ни пользователями, ни разработчика. Поэтому не стоит о них беспокоиться, вам не обязательно их знать, чтобы формировать работоспособные URL.')}}</p> + +<p>Вам стоит представлять URL как обычный почтовый адрес: <em>протокол</em> обозначает почтовый транспорт, который вы собираетесь использовать,<em>доменное имя</em> - это город, <em>порт</em> - это почтовый индекс; <em>адрес</em> - это номер дома;<em>параметры</em> представляют собой дополнительную информацию, как, например, номер квартиры; и, наконец, <em>якорь</em> представляет собой конкретного получателя, которому вы адресуете своё письмо.</p> + +<h3 id="Как_использовать_URL">Как использовать URL</h3> + +<p>Каждый URL может быть напечатан напрямую в адресной строке браузера, чтобы сразу получить запрошенный ресурс. Но это только вершина айсберга!</p> + +<p>Язык {{Glossary("HTML")}} — <a href="/ru/docs/Learn/HTML/HTML_tags">который будет обсуждать позже</a> — позволяет активно использовать URL для:</p> + +<ul> + <li>создания ссылок на другие документы с помощью тега {{HTMLElement("a")}};</li> + <li>связывания документа с его дополнительными файлами, например с помощью тегов {{HTMLElement("link")}} или {{HTMLElement("script")}};</li> + <li>отображения медиа-элементов, например изображений (с помощью тега {{HTMLElement("img")}}), видео (с помощью тега {{HTMLElement("video")}}), звуков и музыки (с помощью тега {{HTMLElement("audio")}}) и так далее;</li> + <li>отображения других HTML-документов внутри текущего с помощью тега {{HTMLElement("iframe")}}.</li> +</ul> + +<div class="note"> +<p><strong>Примечание:</strong> При указании URL-адресов для загрузки ресурсов как части страницы (например, при использовании <code><script></code>, <code><audio></code>, <code><img></code>, <code><video></code>, и т.д.), следует использовать только URL-адреса HTTP и HTTPS. Использование FTP, например, не особенно безопасно и больше не поддерживается многими браузерами.</p> +</div> + +<p>Другие технологии, такие как {{Glossary("CSS")}} или {{Glossary("JavaScript")}}, также активно используют URL, так что это реально основа веба.</p> + +<h3 id="Абсолютные_и_относительные_URL">Абсолютные и относительные URL</h3> + +<p>Все, что мы изучали выше - это <em>абсолютные URL</em>. Но так же существуют и <em>относительные URL</em>. Изучим их.</p> + +<p>Обязательные части URL во многом зависят от контекста, в котором используется URL. В адресной строке браузера URL не имеет никакого контекста, так что приходится вводить полный (или <em>абсолютный</em>) URL, такие как мы рассматривали выше. Обычно вам не требуется вводить протокол (браузер подставляет HTTP по умолчанию) и порт (который нужен только в том случае, если сервер использует нестандартный порт), но остальные части URL всё равно необходимы.</p> + +<p>Когда URL используется в документе, например в HTML-странице, ситуация отличается. Потому что браузер уже знает URL текущего документа и он может использовать эти сведения для дополнения недостающих частей любого адреса, указанного в документе. Простейший пример <em>относительного</em> URL - указание только <em>адресной части</em> URL. А если адрес в URL начинается с символа <code>"/</code>", браузер запросит ресурс от корня сервера, без отсылки к контексту текущего документа.</p> + +<p>Разберем это на примерах.</p> + +<h4 id="Примеры_абсолютных_URL">Примеры абсолютных URL</h4> + +<dl> + <dt>Полный URL (такой же, как обсуждали в начале статьи)</dt> + <dd> + <pre>https://developer.mozilla.org/ru/docs/Learn</pre> + </dd> + <dt>Скрыт протокол</dt> + <dd> + <pre>//developer.mozilla.org/ru/docs/Learn</pre> + + <p>В этом случае браузер использует тот же протокол, что использовался для загрузки текущего документа.</p> + </dd> + <dt>Скрыт домен</dt> + <dd> + <pre>/ru/docs/Learn</pre> + + <p>Это наиболее частый пример использования аболютного URL в HTML-документе. Браузер использует тот же протокол и то же доменное имя, как у текущего документа. <strong>Примечание:</strong> <em>не возможно скрыть домен, не скрывая при этом протокол, только вместе</em>.</p> + </dd> +</dl> + +<h4 id="Примеры_относительных_URL">Примеры относительных URL</h4> + +<p>Для лучшего понимания следующих примеров, давайте договоримся, что мы обращаемся к URL из документа, который опубликован по адресу: <code>https://developer.mozilla.org/ru/docs/Learn</code></p> + +<dl> + <dt>Дочерние ресурсы</dt> + <dd> + <pre>Skills/Infrastructure/Understanding_URLs +</pre> + </dd> + <dd>Поскольку URL не начинается с <code>/</code>, браузер сделает попытку найти документ в поддиректории относительно текущего документа. В данном примере будет запрошен этот URL: <code>https://developer.mozilla.org/ru/docs/Learn/Skills/Infrastructure/Understanding_URLs</code></dd> + <dt>Назад по дереву папок</dt> + <dd> + <pre>../CSS/display</pre> + + <p>В этом случае, мы используем команду <code>../</code> — унаследованную из файловой системы UNIX — чтобы сказать браузеру, что он должен подняться на 1 директорию вверх. Соответственно, здесь мы хотим открыть URL: <code>https://developer.mozilla.org/ru/docs/Learn/../CSS/display</code>, который может быть упрощен до вида: <code>https://developer.mozilla.org/ru/docs/CSS/display</code></p> + </dd> +</dl> + +<h3 id="Семантические_URL">Семантические URL</h3> + +<p>Помимо своего технического значения, URL представляют собой человеко-читаемые записи о местоположении документов на веб-ресурсе. Они могут быть запомнены и любой может ввести их в адресную строку своего браузера. Веб создавался для людей и распространённой практикой является принцип записи URL, который называется <a href="http://en.wikipedia.org/wiki/Semantic_URL"><em>семантические URL</em></a>. Семантические URL используют в своём составе слова, значение которых может быть понято любым человеком, даже тем, кто не разбирается в технических нюансах.</p> + +<p>Семантика, разумеется, плохо распознаётся компьютерами. Вы наверняка видели URL, которые выглядят как куча случайных символов. Но у семантических URL есть много преимуществ:</p> + +<ul> + <li>Ими легче управлять.</li> + <li>Они дают понять пользователю, что находится по данному URL даже без перехода на страницу.</li> + <li>Поисковые системы могут использовать семантику для улучшения классификации страниц.</li> +</ul> + +<h2 id="Следующие_шаги">Следующие шаги</h2> + +<ul> + <li><a href="/ru/docs/Learn/Understanding_domain_names">Понимание доменных имен</a></li> +</ul> |