Имя в интернете
Другой важной составляющей интернета является служба имен (DNS, DomainNameSystem), которая предназначена для представления адресов компьютеров в более "человеческой" универсальной форме. Служба DNS преобразует полученное имя хоста (строку) в IP-адрес устройства. Ключевым элементом отсчета является точка (. - так и называется - "домен точка", или "корневой домен", или "домен нулевого уровня"). Домен "точка" разделен на зоны (.com., .org., .net., .ru. и так далее). В связи с тем, что домен точка присутствует в адресе всегда, он опускается в записи адреса (последняя точка - не указывается, вместо urfu.ru. пишут urfu.ru )
Существует несколько утилит, позволяющих "вручную" провести распознавание адреса. Направлены эти утилиты прежде всего на то, чтобы диагностировать работоспособность службы DNS на данном участке сети. В частности, можно отметить команды host и nslookup:
sally ~ # host urfu.ru
urfu.ru has address 93.88.190.5
urfu.ru mail is handled by 100 relay1.urfu.ru.
urfu.ru mail is handled by 200 relay2.urfu.ru.
У DNSсуществует как прямое направление распознавания (по имени найтиIPадрес), так и обратное (по адресу найти имя). В общем случае полученные значения могут не совпадать между собой, потому что один физический IP адрес может иметь несколько имен. В приведенном выше примере адрес urfu.ru и его IP адрес не совпадают между собой в прямом и обратном направлении:
sally ~ # host 93.88.190.5
5.190.88.93.in-addr.arpa domain name pointer ustu.ru.
Для идентификации ресурса в Интернете существуют определенные стандарты. Чтобы получить конкретный ресурс (документ, изображение, почтовое сообщение, вызываемая процедура и так далее), кроме собственно адреса хоста, на котором этот ресурс расположен, нужно указать еще ряд параметров. В общем случае, строка идентификации ресурса согласно спецификации URL(UniformResourceLocator) выглядит следующим образом:
имя_службы://имя_хоста.имя_домена.зона:порт/имя_ресурса
Кроме того, указанная строка при необходимости может быть дополнена именем входа / паролем, а так же дополнительными произвольными параметрами, передаваемыми в запросе ресурса (например, параметрами для вызова RPC-процедуры).
Вот как выглядит адрес ресурса, предоставляющего сведения о погоде в Екатеринбурге:
http://www.gismeteo.ru/city/hourly/4517/#wdaily1
Забегая вперед, отметим, что довольно часто при разработке интернет-приложений появляется необходимость чуть-чуть "обмануть" службу DNS, присвоив некоторым соседним компьютерам фиктивные имена, на самом делеDNS'ом не распознаваемые. Либо, второй вариант, присвоить одному компьютеру несколько имен. Делается это при помощи файликаhosts. ВMSWindowsфайликhostsрасположен в каталогеc:\Windows\System32\drivers\etc\, в *nixсистемах - в каталоге/etc.
Например, мы хотим одновременно разрабатывать на одном компьютере два Web-приложения. Одно из них представляет собой библиотеку книг с указанием автора и краткой аннотацией и называетсяlibrary. Другое из них посвящено учету персональных финансов и называетсяpurse. Когда приложения будут готовы - в файлыDNSбудут внесены соответствующие изменения и имена станут доступны всем пользователям интернета, но на этапе разработки это не обязательно. Достаточно внести следующую строчку в упомянутый файлhosts:
127.0.0.1 localhost purse library
И компьютер, за клавиатурой которого непосредственно производится разработка обоих указанных приложений (то есть "локальный" компьютер) будет откликаться на два этих имени:
C:\Windows\System32\drivers\etc>ping purse
Обмен пакетами с home [127.0.0.1] с 32 байтами данных:
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Статистика Ping для 127.0.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
C:\Windows\System32\drivers\etc>ping library
Обмен пакетами с home [127.0.0.1] с 32 байтами данных:
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Статистика Ping для 127.0.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
Конечно же, такой "обман" не позволит подключиться любому пользователю интернета к Вашим приложениям. Но он дает возможность организовать на одном компьютере два независимых виртуальных хоста и обращаться к ним из строки браузера, набирая в ней (на локальном компьютере):
http://purse
http://library
и получая ответ от разрабатываемых приложений.
Yandex.RTB R-A-252273-3
- Оглавление
- Введение.
- Предмет рассмотрения данного курса.
- Одно-, двух- и многоуровневые приложения.
- Интернет.
- Адрес в интернете
- 2001:0Db8:11a3:09d7:1f34:8a2e:07a0:765d
- Имя в интернете
- Службы (сервисы)
- Сокета.
- Что такое "сокета" (socket) ?
- Создание серверной сокеты (пример на языке c).
- Сериализация
- Основы верстки: таблицы
- Основы верстки: фреймы
- Основы верстки: позиционирование участков сайта
- Протокол http
- Структура запроса (Request).
- Структура ответа (Response).
- Перспективы развития http.
- Интернет-приложения
- Web-приложения
- Web-сервисы
- Особенности проектирования
- Особенности пользовательского интерфейса
- Программирование интернет-приложений
- Объектно-ориентированное программирование
- Классы и объекты
- Жизненный цикл класса
- Статические члены класса
- Инкапсуляция
- Наследование
- Полиморфизм
- Интерфейсы
- Событийно-ориентированное программирование
- Совместная работа над проектом
- Технологии создания web-клиентов
- Dom (Document Object Model)
- Каскадные таблицы стилей
- JavaScript
- Обфускация и динамическое получение скриптов
- Java Applets
- ActiveX/npapi
- Adobe Flash
- Web-серверы
- Nginx (engine X)
- Технологии, применяемые на стороне сервера
- ИнтерфейсCgi
- КонцепцияMvc
- Сервлеты
- JavaScript
- Хранение данных