Internet Information Services
| Разработчик | |
|---|---|
| Операционная система | |
| Последняя версия |
7.5 |
| Лицензия | |
| Сайт |
IIS (Internet Information Services, до версии 5.1 в Internet Information Server) в проприетарный набор серверов для нескольких служб Интернета от компании Майкрософт. IIS распространяется с операционными системами семейства Windows NT.
Основным компонентом IIS является веб-сервер, который позволяет размещать в Интернете сайты. IIS поддерживает протоколы HTTP, HTTPS, FTP, POP3, SMTP, NNTP. По данным компании Netcraft на октябрь 2011 года, более 21 млн сайтов обслуживаются веб-сервером IIS, что составляет 12.46% от общего числа веб-сайтов.[1]
Содержание |
[править] Версии IIS
| Номер версии | Выпущена в составе | Год |
|---|---|---|
| 1.0 | Windows NT 3.51 | 1995 |
| 2.0 | Windows NT 4.0 | 1996 |
| 3.0 | Пакет обновления 3 для Windows NT 4.0 | 1997 |
| 4.0 | Пакет Option Pack для Windows NT 4.0 | 1998 |
| 5.0 | Windows 2000 | 2000 |
| 5.1 | Windows XP Professional | 2001 |
| 6.0 | Windows Server 2003 | 2003 |
| 7.0 | Windows Vista; Windows Server 2008 | 2006 |
| 7.5 | Windows 7; Windows Server 2008 R2 | 2009 |
[править] Служба WWW в составе IIS
Основным компонентом IIS является веб-сервер в служба WWW (называемая также W3SVC), которая предоставляет клиентам доступ к сайтам по протоколам HTTP и, если произведена настройка, HTTPS.
Один сервер IIS может обслуживать несколько сайтов (IIS 6.0 и выше). Каждый сайт имеет следующие атрибуты:
- IP-адрес сайта;
- TCP-порт, на котором служба WWW ожидает подключений к данному сайту;
- Заголовок узла (Host header name) в значение заголовка Host запроса HTTP, указывающее обычно DNS-имя сайта.
Таким образом, например, один сервер с одним IP-адресом может обслуживать на одном TCP-порту несколько сайтов. Для этого необходимо создать несколько DNS-записей, указывающих на IP-адрес сервера, и различать сайты по заголовкам узла.
Для каждого сайта указывается домашний каталог в каталог в файловой системе сервера, соответствующий «корню» сайта. Например, если сайту www.example.com сопоставлен домашний каталог D:\example, то на запрос ресурса с адресом http://www.example.com/index.htm веб-сервер вернёт файл D:\example\index.htm.
[править] Архитектура службы WWW
В IIS 6.0, доступном в составе систем Windows Server 2003, служба WWW претерпела серьёзные изменения. Был добавлен новый режим обработки запросов, называемый режимом изоляции рабочих процессов (англ. worker process isolation mode). В этом режиме все веб-приложения, обслуживаемые сервером, работают в разных процессах, что повышает стабильность и безопасность системы. Кроме того, для приёма запросов HTTP был создан новый драйвер http.sys, который работает в режиме ядра, что ускоряет обработку каждого запроса.
Все запросы к статическому содержимому, не требующие исполнения скриптов, исполняются самим драйвером http.sys в ядре, что сближает веб-сервер IIS с серверами режима ядра.
При этом запросы к динамическому содержимому исполняются рабочим процессом и загруженными в его адресное пространство модулями. С точки зрения пути исполнения запросов не существует центрального процесса, что повышает надежность в случае отказа, вызванного ошибкой в скрипте или ином модуле исполнения. Рабочие процессы автоматически перезапускаются при возникновении ошибок.
Протокол SSL поддерживается отдельным процессом HTTP SSL, который служит мостом между протоколом TCP и драйвером http.sys.
[править] Безопасность в службе WWW
Веб-сервер IIS предоставляет несколько способов разграничения доступа к сайтам и веб-приложениям. Служба WWW в составе IIS отличается от других веб-серверов тем, что функции обеспечения безопасности в ней тесно интегрированы с системой Windows NT, на основе которой она работает. В частности, чтобы получить доступ к защищённому ресурсу, посетитель должен ввести имя и пароль пользователя, существующего в системе Windows, на которой установлен IIS (или в домене Active Directory, если сервер принадлежит к домену). После этого пользователь работает с сайтом так же, как если бы он выполнил интерактивный вход в систему на сервере. К нему применяются установленные файловой системой NTFS разрешения на доступ к файлам и каталогам. Эта особенность IIS удобна для внутренних сайтов предприятий, однако практически неприменима для открытых сайтов Интернета, где невозможно создавать пользователя Windows для каждого зарегистрированного посетителя сайта. Поэтому в последнем случае разработчикам сайтов и веб-приложений обычно приходится использовать собственные механизмы ограничения доступа.
Определённый пользователь Windows сопоставляется с каждым посетителем сайта даже в том случае, когда ограничение доступа не требуется. Этот режим называется режимом анонимного доступа. В этом случае посетитель представляется на сервере как специальный пользователь, имя которого обычно имеет формат IUSR_xxxx (где xxxx в имя компьютера, на котором установлен IIS, в седьмой версии этот специальный пользователь не содержит имени компьютера, то есть просто IUSR). Этому пользователю должен быть разрешён доступ к ресурсам, которые открыты анонимным посетителям.
Служба WWW поддерживает три основных метода аутентификации, то есть определения личности пользователя по имени и паролю:
- Базовая аутентификация (basic authentication) в имя и пароль передаются по сети открытым текстом.
- Сжатая аутентификация (digest authentication) в пароль обрабатывается хеш-функцией перед отправкой по сети, что делает невозможным его прочтение в случае перехвата злоумышленником.
- Встроенная аутентификация Windows (integrated Windows authentication) в выполняется попытка входа на сервер с теми же учётными данными, под которыми работает браузер пользователя.
[править] Реализация веб-приложений для IIS
Веб-сервер IIS поддерживает несколько различных технологий создания веб-приложений:
- ASP.NET в разработанная Microsoft технология; для IIS это в основное на сегодняшний день[2] средство создания веб-приложений и веб-служб. IIS 6.0 поставляется вместе с операционными системами, в которые также изначально входит .NET Framework, так что поддержка ASP.NET как будто уже встроена в IIS 6.0; для более ранних версий необходимо отдельно загрузить и установить .NET Framework.
- ASP в предшествовавшая ASP.NET технология создания динамических веб-страниц на основе сценариев. Входит в поставку IIS начиная с версии 3.0.
- CGI в стандартная межплатформенная низкоуровневая технология создания динамических веб-страниц.
- FastCGI в клиент-серверный протокол взаимодействия веб-сервера и приложения.
- ISAPI в низкоуровневая технология, аналогичная интерфейсу модулей Apache, предоставляющая полный доступ ко всем возможностям IIS, возможность разработки веб-приложений в машинном коде и возможность переопределения части функций IIS и добавления к нему функций, как связанных с генерацией контента, так и не связанных с этим. Подсистема исполнения скриптов ASP и подсистема ASP.NET выполнены как модули ISAPI.
- SSI в включение в одни страницы текста из других страниц. Строго говоря, веб-приложением не является, поскольку IIS поддерживает лишь ограниченный набор возможностей и без того малофункционального SSI. В частности, IIS5 поддерживает только статическое включение и игнорирует команды условного ветвления.
Сам сервер поддерживает только CGI, FastCGI[3], ISAPI и SSI. Все остальные технологии являются надстройками, работающими через CGI, FastCGI или ISAPI.
При помощи CGI приложения для IIS могут разрабатываться на основе практически любых, в том числе сторонних, инструментов, допускающих запись в стандартный поток вывода и чтение переменных среды в Perl, C/С++ и даже средствами интерпретатора командной строки Cmd.exe.
Технология ISAPI позволяет, с одной стороны, создавать специальные приложения для IIS, требующие особенно тесного взаимодействия с механизмом сервера, а с другой стороны является удобной платформой для организации эффективного взаимодействия IIS с другими технологиями разработки веб-приложений в например, PHP и Perl.
[править] Почтовые возможности
IIS поддерживает работу SMTP/POP3 сервисов. В современных версиях Microsoft Exchange Server реализация протоколов SMTP, POP3 и IMAP выполнена в виде подсистем к IIS, заменяющих поставляемые с IIS почтовые подсистемы.
[править] Примечания
- в‘ October 2011 Web Server Survey (англ.). Архивировано из первоисточника 25 августа 2011. Проверено 19 октября 2011.
- в‘ Мэтью Мак-Дональд, Марио Шпушта. Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов
- в‘ FastCGI для IIS (technical preview 2)
[править] Литература
- Станек Уильям Р. Internet Information Services (IIS) 7.0. Справочник администратора. в СПб.: Русская редакция, 2009. в 528 с. в ISBN 978-5-7502-0383-3
- Адамc Крис Администрирование сервера IIS 7. в М.: Бином, 2010. в 362 с. в ISBN 978-5-9518-0367-2
[править] См. также
[править] Ссылки
- Официальный сайт (англ.)
- MSDN IIS 7.0 (рус.) в Обзор веб-сервера для операционной системы Windows Vista.
- IIS 6.0 Documentation (англ.) в документация по IIS 6.0 на сайте Windows Server TechCenter.
- Internet Information Services 7.0 FAQ (англ.)
- PHP on IIS7
- Технический центр по IIS
- Понимание установки в IIS 7.0
- Установка IIS7 в Windows Vista и Windows 7
- Доклад о расширении возможностей IIS7 подручными средствами
- Доклад "Усовершенствования IIS 7.0: производительность"
- Доклад "Усовершенствования IIS 7.0: безопасность"
- Доклад об установке и настройке IIS 7.0

