Анатомия URL и относительные адреса
Наиболее часто используемая схема URL - это http схема. Схема http используется для поиска документов, которые находятся на веб-серверах.
Веб-сервер правильнее называть HTTP-сервером. HTTP - это HyperText Transfer Protocol (Протокол Передачи Гипертекста), специально разработанный для передачи документов по сети Интернет. Он используется для передачи практически любых документов, которые мы загружаем при использовании браузера.
URL со схемой http можно разбить на подчасти, как показано ниже:
http://WebReference.com:80/html/tutorial2/2.html?query
1. http
Первая часть - имя схемы, об этом мы уже говорили (см. Структура HTML-документа, понятие URI и URL). Затем идет двоеточие и два слэша (//).
2. WebReference.com
Вторая часть - имя компьютера, на котором размещен документ. Возможно, Вы уже знаете, что такое имя компьютера, но на всякий случай немного поясню:
Компьютеры в Интернет имеют цифровые адреса, называемые IP-адресами. IP-адрес - это несколько групп чисел в диапазоне от 0 до 255. Например, IP-адрес компьютера, на котором запущен HTTP-сервер сайта WebReference.com, следующий:
199.35.192.185
Этот адрес работает наподобие телефонного номера. Если вы наберете его в адресной строке браузера, то браузер узнает, где расположен необходимый компьютер, и как с ним связаться.
Единственное неудобство таких адресов в том, что их очень сложно запомнить. Нет очевидной логики их формирования, и два связанных друг с другом компьютера могут иметь совершенно разные IP-адреса. Также, по техническим причинам, часто необходимо менять адреса компьютеров. Все это делает очень затруднительным процесс отслеживания IP-адреса.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Так была создана система, названная DNS (Domain Name Service или Domain Name System - Система / Сервис Доменных Имен). Назначение DNS - трансформировать имена компьютеров в IP-адреса. В этом случае компьютеры имеют имена, которые легко запомнить пользователям.
Такие адреса называются FQDN (Fully Qualified Domain Name - Полностью Определенное Доменное Имя, или просто Доменное Имя). Доменное Имя компьютера может быть использовано где угодно в сети для того, чтобы однозначно идентифицировать компьютер и перевести его имя в IP-адрес.
Например, доменное имя сайта codeharmony.ru - www.codeharmony.ru. По сути, это просто псевдоним; компьютер может иметь более одного доменного имени, каждое из которых указывает на один и тот же IP-адрес.
Можно, например, получить доступ к моему сайту, используя имя codeharmony.ru, а не www.codeharmony.ru, потому что это тоже алиас (псевдоним) того же самого компьютера.
На самом деле, компьютер может иметь много IP-адресов, но это я уже ухожу в технические детали. Действительно важно понимать то, что компьютеры в Интернет имеют IP-адреса, доменные имена являются способом ссылаться на них для того, чтобы их легче было запомнить, а сами доменные имена преобразуются в IP-адреса.
Заметьте, что доменные имена не чувствительны к регистру. www.codeharmony.ru - это то же самое, что и WWW.CODEHARMONY.RU и www.CodeHarmony.ru. Обычно доменные имена пишутся в нижнем регистре, но это не значит, что это единственный способ.
3. :80
Третяя часть URL, которая не является обязательной - это номер порта. Компьютеры имеют определенное количество так называемых портов. Смысл порта в том, что через него происходят взаимодействия определенного рода. Один поддерживает HTTP-взаимодействия, другой - передачу почты и т.п.
Порты имеют свои номера, и большинство взаимодействий "привязаны" к определенным портам, через которые эти взаимодействия осуществляются. HTTP-взаимодействия обычно идут через порт 80, но не обязательно. В случае, если используется порт 80, то его не нужно указывать, если же используется другой порт (что бывает крайне редко), то необходимо указывать его, используя знак двоеточия и номер порта.
4. html/tutorial2/2.html
Четвертая часть также не обязательна. Это путь до документа, который мы хотим запросить. Путь - это набор символов, разделенных слэшами (/). Это очень похоже на пути до папок и файлов на вашем обычном компьютере. Есть корневая папка (директория), внутри нее есть другие папки, которые, в свою очередь, могут содержать другие папки и файлы. Взгляните на следующие примеры:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе
/
/html/
/html/tutorial2/2.html
/html
В первом случае мы ссылаемся на корневую директорию. Второй вариант - ссылка на директорию /html/. Третий пример - ссылка на документ 2.html в папке /html/tutorial2/. Наконец, четвертый пример - ссылка на документ html в корневой директории, а не на папку /html/. Это так, потому что в четвертом примере нет в конце слэша.
Хотя большинство браузеров отлично разберутся с тем, что нужно отобразить при таком запросе, все же неправильно ссылаться на директорию без слэша в конце. Вполне возможно, что в одной папке могут оказаться папка и документ с одним именем.
Важно отметить такой момент: путь не имеет ничего общего с форматом возвращаемого документа. В случае с WebReference.com все вышеприведенные примеры вернут HTML-документ.
Также, "расширение" в конце третьего примера (часть .html) не обязательно означает тип документа, как это бывает на операционных системах семейства Windows. Документ http://WebReference.com/cgi-bin/suggest.cgi имеет расширение .cgi, но является при этом HTML-документом.
5. ?query
Пятая часть - строка запроса, которая также необязательна. По сути, строка запроса - это некие данные, предназначенные для того, чтобы их определенным образом обработала некоторая программа и вернула нужную информацию. Строка запроса состоит из знака вопроса (?), за которым идет передаваемая информация (она полностью зависит от того, какой программой будет производиться ее обработка).
Только что мы рассмотрели синтаксис URL-адресов со схемой http. Вы, вероятно, уже видели подобные адреса сотни раз, бороздя просторы сети; теперь Вы знаете, как они устроены. Ну а сейчас давайте рассмотрим понятие Относительных URL-адресов.
Относительные URL-адреса
URL-адреса, как Вы уже знаете, нужны для того, чтобы указать местоположение чего-то. Зачастую путь до "чего-то" может быть очень длинным, поэтому есть возможность для сокращения длины адресов, используя так называемые относительные адреса.
Все URL-адреса, которые мы рассматривали до этого были абсолютными. Они идентифицируют ресурсы независимо от их контекста. URL-адрес http://WebReference.com/html/ идентифицирует конкретную директорию в не зависимости от того, напечатали ли вы данный адрес в адресной строке, написали на клочке бумаги для своего друга, либо просто вспомнили "в голове".
Относительные же URL-адреса - это способ идентификации ресурса с учетом его контекста.
Вот простая аналогия.
Представьте, что Вы в гостях на Дне Рождения у друга и кто-то спрашивает Вас, где живет какой-то из Ваших знакомых. Вы, вероятно, ответите, что-то вроде: "А вот - через дорогу в 7 доме." Едва ли Вы скажете: "В России, в г. Москва, в районе Таком-то, на улице Такой-то, в доме номер 7." В данном случае такой ответ был бы избыточен.
Относительные URL-адреса - что-то вроде этого. Они похожи на объяснения, типа: "вниз по переулку, потом налево, через два квартала по правой стороне." Они имеют смысл только, если используются в определенном контексте. И этот контекст называется Base URL (Базовый URL).
Базовый URL ресурса - это все, что находится в пределах пути, включая и слэш на конце. Вот некоторые примеры:
Абсолютный URL-адрес | Базовый URL-адрес |
http://WebReference.com/ | http://WebReference.com/ |
http://WebReference.com/html/ | http://WebReference.com/html/ |
http://WebReference.com/html/about.html | http://WebReference.com/html/ |
http://WebReference.com/foo/bar.html?baz | http://WebReference.com/foo/ |
Таблица ниже показывает относительные адреса, для которых базовым URL является http://WebReference.com/html/ а также те абсолютные адреса, в которые "превращаются" относительные.
Относительный URL-адрес | Абсолютный URL-адрес |
about.html | http://WebReference.com/html/about.html |
tutorial1/ | http://WebReference.com/html/tutorial1/ |
tutorial1/2.html | http://WebReference.com/html/tutorial1/2.html |
/ | http://WebReference.com/ |
//www.internet.com/ | http://www.internet.com/ |
/experts/ | http://WebReference.com/experts/ |
../ | http://WebReference.com/ |
../experts/ | http://WebReference.com/experts/ |
../../../ | http://WebReference.com/ |
./ | http://WebReference.com/html/ |
./about.html | http://WebReference.com/html/about.html |
Отметим также, что если относительный URL-адрес пуст (не содержит ни одного символа), то он указывает на тот же самый ресурс в котором находится сам.
Да, использование относительных адресов позволяет сэкономить немного времени, но это не повод их использовать.
Очень важно понять то, что они используются только для указания на ресурс в определенном контексте. Это принципиально. Потому что URL-адреса не могут всегда использоваться в одном и том же контексте.
По материалам www.webreference.com
Перевод - Дмитрий.
P.S. Обратите также внимание на уроки ниже. Первый бесплатный курс позволит вам освоить работу с HTML и научиться создавать "каркасы" для сайтов. Второй курс покажет 5 прикладных техник для "резиновой" верстки сайтов:
Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!
Смотрите также: