Основы Web-хостинга
Категория: Web-хостинг и серверы Internet | Автор: admin | 13-06-2010, 00:18 | Просмотров: 3958

Хостинг Web-узла мало чем отличается от других сетевых услуг. В основе функционирования WWW лежит HTTP (HyperText Transfer Protocol — протокол передачи гипертекста) — простой протокол семейства TCP/IP, используемый для форматирования, передачи и связывания документов друг с другом. При этом документы могут содержать различные типы информации, включая текст, изображения, звук, анимацию и видео. HTTP аналогичен другим клиент-серверным протоколам, используемым в Internet, в том числе SMTP (электронная почта) и FTP (передача файлов).

Web-сервер — это система, сконфигурированная для ответа на HTTP-запросы. Чтобы преобразовать обычную UNIX-систему в платформу Web-хостинга, необходимо установить демон, который будет прослушивать ТСР-порт с номером 80 (в соответствии со стандартом HTTP), принимать запросы на выдачу документов, а затем передавать эти документы пользователю.

Web-броузеры, в частности Netscape и Internet Explorer, подключаются к удаленным Web-серверам и делают запросы от имени пользователей. Полученные при этом документы могут содержать текстовые указатели (гиперссылки) на другие документы, находящиеся (или не находящиеся) на том сервере, к которому изначально подключился пользователь. Поскольку протокол HTTP полностью стандартизирован, клиенты, работающие в любой операционной системе, могут подключаться к любому серверу HTTP. Подобная независимость от платформы наряду с возможностью автоматического перенаправления пользователя от одного сервера к другому способствует повышению популярности протокола HTTP.

В настоящее время, однако, Web-хостинг "перешагнул" рамки протокола HTTP. Разработано много расширенных протоколов, обеспечивающих поддержку самых разных возможностей — от шифрования данных до потокового видео. Эти дополнительные сервисы зачастую управляются отдельными демонами даже в случае размещения на одном физическом сервере. Например, одним из наиболее популярных дополнительных сервисов является HTTPS (Secure HTTP — безопасный протокол HTTP). Им управляет демон, который использует SSL (Secure Socket Layer — протокол защищенных сокетов) и принимает запросы через ТСР-порт 443. Если нужные демоны не входят в дистрибутив системы, их можно получить у сторонних поставщиков.

 

Унифицированные указатели ресурсов

 

URL (Uniform Resource Locator — унифицированный указатель ресурса) представляет собой обобщенный адрес объекта или сервиса в Internet. Порядок доступа к объекту определяют пять базовых компонентов адреса:

  • протокол или приложение;
  • имя узла;
  • порт TCP/IP (необязательно);
  • каталог (необязательно);
  • имя файла (чувствительно к смене регистра символов, часто завершается расширением ".htm" или ".html").

Типичный URL-адрес с указанием его компонентов приведен на рис. А.

 Основы Web-хостинга

В таблице 21.1 перечислены протоколы, которые наиболее часто упоминаются в URL-адресах.

Таблица 22.1. Протоколы URL

Протокол

Назначение

Пример

http

Доступ к файлам с помощью протокола HTTP

http://admin.com/index.html

https

Доступ к файлам с помощью протокола HTTP/SSL

https://admin.com/order.shtml

ftp

Доступ к файлам с помощью протокола FTP

ftp://ftp.xor.com/adduser.tar.gz

mailto

Отправка электронного сообщения по указанному адресу

mailto:sa-book@admin.com

News

Доступ к группам новостей Usenet

news:alt.cooking

telnet

Регистрация на удаленном компьютере

telnet://spot.acme.com

Ldap

Доступ к службе каталогов LDAP

ldap://ldap.bigfoot.com:389/cn=Herb

File

Доступ к локальному файлу (не Internet)

file://etc/syslog.conf

 

Принцип работы HTTP

 

HTTP — это удивительно простой клиент-серверный протокол, не хранящий информации о состоянии сеанса. В парадигме HTTP инициатором подключения всегда становится клиент (обычно броузер). Клиент запрашивает у сервера "содержимое" заданного URL-адреса. Сервер отвечает, передавая поток данных либо возвращая сообщение об ошибке. Затем соединение закрывается (это справедливо для HTTP версий 0.9 и 1.0; в HTTP 1.1 клиент может запросить другой объект).

Поскольку протокол HTTP является довольно простым, к Web-броузеру можно легко подключиться с помощью программы telnet. Для этого достаточно установить связь с портом 80 выбранного Web-сервера. После установления соединения сервер готов принимать HTTP-команды. Чаще всего при этом используется команда GET, которая запрашивает содержимое документа. Обычно она задается в формате GET /, а возвращается корневой документ, как правило, начальная страница, сервера. Протокол HTTP чувствителен к регистру символов, поэтому при вводе команд используйте заглавные литеры.

% telnet localhost 80

Trying 127.0.0.1...

Connected to localhost.xor.com.

Escape character is ""]'.

GET /

<далее следует содержимое файла index.html>

Connection closed by foreign host.

 

 

CGI-сценарии: создание динамического Web-содержимого

 

Работая со статическими документами, HTTP-сервер способен выдавать пользователям и страницы, создаваемые "на лету". Например, если требуется отобразить текущие время и температуру, сервер вызывает сценарий, обеспечивающий предоставление данной информации. Такие сценарии зачастую создаются с помощью CGI (Common Gateway Interface — единый шлюзовый интерфейс).

Интерфейс CGI является не языком программирования, а, скорее, спецификацией, описывающей процесс обмена информацией между HTTP-сервером и другими программами. Чаще всего CGI-сценарии представляют собой программы, написанные на языке Perl или С и предназначенные специально для взаимодействия с HTTP-сервером. Хотя на самом деле подойдет практически любой язык программирования, поддерживающий операции ввода-вывода в режиме реального времени. Даже фанаты языка FORTRAN найдут применение своим знаниям при работе в Internet!

Как правило, CGI-сценарии больше интересуют Web-разработчиков и программистов. Но один из основных аспектов функционирования сценариев не обходит стороной и системных администраторов. Мы имеем в виду обеспечение безопасности. Поскольку CGI-сценарии получают доступ к файлам, сетевым соединениям и прочим механизмам перемещения данных из одного места в другое, выполнение этих сценариев несет потенциальную угрозу компьютеру, на котором выполняется HTTP-сервер. В конечном счете, CGI-сценарий позволяет любому пользователю выполнять программы на сервере. Поэтому для CGI-сценариев должна применяться такая же система безопасности, как и для других сетевых программ. Дополнительная информация по обеспечению безопасности CGI-сценариев находится по адресу www.w3.org/Security/Faq/www-security-faq.html.

 

Распределение нагрузки

 

Довольно трудно предсказать, сколько обращений (запросов к одному объекту, такому как текстовый файл или изображение) либо операций просмотра страниц (запросов всех объектов на одной просматриваемой странице) может обработать единственный сервер. Все зависит от операционной системы, типа ее настройки, архитектуры системного аппаратного обеспечения, а также от организации Web-узла (в частности от того, содержатся ли там чисто статические HTML-страницы, выполняются ли запросы к базе данных и производятся ли математические вычисления). Только непосредственное измерение производительности и уточнение фактических параметров узла, использующего реальное аппаратное обеспечение, позволит ответить на данный вопрос. Иногда подсказку могут дать пользователи, создающие подобные узлы с помощью аналогичного аппаратного обеспечения. Но ни в коем случае не стоит полагаться на цифры, указываемые поставщиками UNIX-систем.

Вместо показателя производительности одного сервера лучше сосредоточиться на показателе масштабируемости. Убедитесь в том, что вы и ваша команда работаете по плану, который позволяет распределять нагрузку узла между несколькими серверами. Простейшим способом распределения трафика является использование коммерческого аппаратного обеспечения, скажем Load Director компании Cisco или Alteon ACEswitch. Подобные системы ориентируются на параметры, задаваемые администратором, в частности на время отклика отдельного сервера и время доступности. Благодаря распределению нагрузки увеличивается производительность и отказоустойчивость сети.


 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page