Новые книги

В основу книги легли материалы занятий, апробированные автором в стенах факультета переподготовки специалистов Санкт-Петербургского государственного политехнического университета. Рассмотрены основы работы в сети Интернет, поиск информации, работа с электронной почтой. Описано, как общаться через интернет-форумы, чаты, блоги и социальные сети («ВКонтакте», «Одноклассники»), вести телефонные разговоры через Skype, обмениваться сообщениями через Twitter и др. Даны рекомендации по использованию Интернета при решении бытовых вопросов: бронирование номера в гостинице, заказ билетов, получение госуслуг, покупка товаров и др. Уделено внимание развлечениям и самообразованию: посещение интернет-музеев и библиотек, обучение через Интернет, просмотр телевизионных передач и видеороликов «YouTube» и др. Рассмотрены вопросы безопасности при работе в сети.
Практическое руководство по созданию современных Web-сайтов, соответствующих концепции Web 2.0. Описаны языки HTML 5 и CSS 3, применяемые, соответственно, для создания содержимого и представления Web-страниц. Даны принципы Web-программирования на языке JavaScript с использованием библиотеки Ext Core. Рассказано о создании интерактивных Web-страниц, приведены примеры интерактивных элементов, позволяющие сделать Web-страницы удобнее для посетителя. Раскрыты вопросы реализации подгружаемого и генерируемого содержимого, семантической разметки, применения баз данных для формирования Web-страниц. Показаны способы расширения функциональности Web-сайтов с использованием Web-форм, элементов управления, свободно позиционируемых элементов и программного рисования средствами HTML 5.

Resolving Host Names

Преобразование имен машин

Как описано выше, адресация в сети TCP/IP крутится вокруг 32-разрядных адресов. Однако, вам будет трудно запомнить даже некоторые из них. Поэтому хосты чаще известны под "обычными" именами типа gauss или strange. Поэтому требуются программы для получения IP-адреса по имени машины. Этот процесс назван получением имени (hostname resolution).

Приложение, которое хочет найти IP-адрес по заданному имени хоста, не должно пытаться сделать это собственными силами. Вместо этого оно обращается к библиотечным функциям, которые для этого и написаны, они называются gethostbyname(3) и gethostbyaddr(3). Традиционно эти и ряд других процедур были сгруппированы в отдельной библиотеке, названной resolverlibrary. В Linux это часть стандартной libc. Настройка преобразователя имен детально описана в главе 6.

В маленькой сети, подобной Ethernet, или даже на нескольких, не очень трудно поддерживать таблицу, сопоставляющую имена хоста с IP-адресами. Эта информация обычно хранится в файле /etc/hosts. При добавлении или перемещении хоста, или при переназначении адресов, все что вы должны сделать, это изменить файл hosts на всех хостах. Очевидно, что это будет достаточно трудно в сетях с большим количеством машин.

Одно из решений этой проблемы: сетевая информационная система (Network Information System, NIS), разработанная Sun Microsystems, также известная как YP или желтые страницы. NIS хранит файл hosts и другую информацию в базе данных на главном хосте, с которого клиенты могут восстановить свои файлы, если это необходимо. Этот способ подходит только для сетей среднего размера, потому что он требует поддерживать полную базу данных как на центральной машине, так и на всех остальных. Установка и настройка NIS подробно рассмотрены в главе 13.

В Internet информация об адресах первоначально хранилась в единственном файле HOSTS.TXT. Этот файл поддерживался в NIC (Network Information Center) и должен был загружаться всеми участвующими сайтами. Когда сеть выросла, возникло несколько проблем. Постоянное обновление и постоянная перекачка файла HOSTS.TXT требовали все больше ресурсов, нагрузка на сервер, который этим занимался, стала слишком высока. Но еще большей проблемой стало придумывание новых (не совпадающих с прежними) имен.

Вот почему в 1984 г. была введена новая схема Domain Name System (DNS), разработанная Paul Mockapetris и решившая обе проблемы одновременно. Domain Name System подробно обсуждается в главе 6.