Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Перейти на сайт->

Бесплатный Курс "Практика HTML5 и CSS3"

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Начать->

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Получить в подарок->

Бесплатный курс "Сайт на WordPress"

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Получить в подарок->

*Наведите курсор мыши для приостановки прокрутки.


Анатомия 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-адреса.

Так была создана система, названная 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.htmlhttp://WebReference.com/html/
http://WebReference.com/foo/bar.html?bazhttp://WebReference.com/foo/

Таблица ниже показывает относительные адреса, для которых базовым URL является http://WebReference.com/html/ а также те абсолютные адреса, в которые "превращаются" относительные.

Относительный URL-адресАбсолютный URL-адрес
about.htmlhttp://WebReference.com/html/about.html
tutorial1/http://WebReference.com/html/tutorial1/
tutorial1/2.htmlhttp://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.htmlhttp://WebReference.com/html/about.html

Отметим также, что если относительный URL-адрес пуст (не содержит ни одного символа), то он указывает на тот же самый ресурс в котором находится сам.

Да, использование относительных адресов позволяет сэкономить немного времени, но это не повод их использовать.

Очень важно понять то, что они используются только для указания на ресурс в определенном контексте. Это принципиально. Потому что URL-адреса не могут всегда использоваться в одном и том же контексте.

По материалам www.webreference.com
Перевод - Дмитрий Науменко.

P.S. Обратите также внимание на уроки ниже. Первый бесплатный курс позволит вам освоить работу с HTML и научиться создавать "каркасы" для сайтов. Второй курс покажет 5 прикладных техник для "резиновой" верстки сайтов:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!


Смотрите также:

PHP: Получение информации об объекте или классе, методах, свойствах и наследовании

PHP: Получение информации об объекте или классе, методах, свойствах и наследовании

CodeIgniter: жив или мертв?

CodeIgniter: жив или мертв?

Функции обратного вызова, анонимные функции и механизм замыканий

Функции обратного вызова, анонимные функции и механизм замыканий

Применение функции к каждому элементу массива

Применение функции к каждому элементу массива

Слияние массивов. Преобразование массива в строку

Слияние массивов. Преобразование массива в строку

Деструктор и копирование объектов с помощью метода __clone()

Деструктор и копирование объектов с помощью метода __clone()

Эволюция веб-разработчика или Почему фреймворк - это хорошо?

Эволюция веб-разработчика или Почему фреймворк - это хорошо?

Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.)

Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.)

PHP: Удаление элементов массива

PHP: Удаление элементов массива

Ключевое слово final (завершенные классы и методы в PHP)

Ключевое слово final (завершенные классы и методы в PHP)

50 классных сервисов, программ и сайтов для веб-разработчиков

50 классных сервисов, программ и сайтов для веб-разработчиков

Наверх