...

Iis что это за программа

What Is Internet Information Services (IIS)

IIS stands for Internet Infomation Services. In simple terms, it is a Microsoft Windows HTTP Web Server with support for protocols such as HTTPS, FTP, SMTP, FTPS, among others. IIS hosts websites, web applications, and services needed by users.

Internet Information Services Basic Architecture

  • Internet Service Application Programming Interface (ISAPI): application interface for the Microsoft web server. Enables programmers to develop web-based applications that process much more quickly as they are more integrated with the web server.
  • Modules: modifies and enhances the functionality provided by IIS. They can provide URL rewrite, authentication, tracing capabilities, compression, and much more.
  • HTTP.sys: listens for HTTP requests and routes them to the appropriate handler. In addition, it caches requests and can queue requests until they can be serviced by the corresponding worker process. It runs in kernel mode, having full access to all hardware and system data.
  • Windows Activation Service (WAS): It starts the worker process for the application pool to which the request was made. It requests the configuration information from the configuration store(applicationHost.config). It runs in user mode, code executed in this mode cannot access hardware or reference memory.
  • World Wide Web Publishing Service: component of IIS on Microsoft Windows Server Operating Systems that allows users to publish their content on the internet. It receives the configuration information from the WAS, such as application pool and site configuration, and uses this to configure the HTTP.sys. It runs in user mode.
  • Application Pool: defines a group of one or more worker processes, configured with common settings that serve requests to one or more applications that are assigned to that application pool. It is a logical grouping of web applications that will execute in a common process. They provide better security, reliability, and availability.
  • Worker Process(w3wp.exe): provide the execution environment for all websites and applications configured in IIS. It processes the requests and returns a response to the HTTP.sys for the configured IIS application pool.

How A Request Is Processed:

  1. The request comes in.
  2. Request enters the HTTP.sys driver.
  3. HTTP.sys contacts Windows Activation Services (WAS) which request the configuration in the “applicationHost.config”(IIS configuration) file.
  4. WWW Publishing Service receives this configuration and uses it to configure the HTTP.sys.
  5. Windows Activation Services (WAS) initializes a worker process for the application pool to which the request was made.
  6. The worker process returns a response to the HTTP.sys.
  7. HTTP.sys receives the response from the worker process and passes it to the client.
  8. The client receives a response.

Key Takeaways:

  • Internet Information Services (IIS) is a web server.
  • Modules can modify and enhance the functionality provided by IIS.
  • HTTP.sys is the driver that intercepts HTTP requests and routes them to the appropriate handler.
  • An Application Pool defines a group of one or more worker processes, configured with common settings that serve requests to one or more applications that are assigned to that application pool.
  • Worker processes provide the execution environment for all websites and applications configured in IIS. The name of the IIS worker process is ‘w3wp.exe’.

As a rule of thumb, each website should have its own application pool and one worker process (1:1:1). Although it is true you can have multiple worker processes within an application pool, this can lead to unusual behavior.

After you create a website and assign it an application pool, go to the ‘IIS Manager’, ‘Application Pools’, select the App Pool for your website, ‘Advanced Settings’, and check that the ‘Maximum Worker Processes’ is set to ‘1’.

Обзор веб-сервера IIS

Веб-серверы IIS 7 и более поздних версий имеют полностью модульную архитектуру, которая обеспечивает три основных преимущества:

  • Компонентизация
  • Расширение среды
  • Интеграция ASP.NET

Компонентизация

Все функции веб-сервера теперь управляются как автономные компоненты , которые можно легко добавлять, удалять и заменять. Это обеспечивает несколько ключевых преимуществ по сравнению с предыдущими версиями IIS:

  1. Защитите сервер, уменьшив зону направлений атак. Уменьшение контактной зоны является одним из наиболее эффективных способов защиты серверной системы. С помощью IIS можно удалить все неиспользуемые функции сервера, достигнув минимально возможной контактной зоны при сохранении функциональности приложения.
  2. Повышение производительности и сокращение объема памяти. Удалив неиспользуемые функции сервера, можно также уменьшить объем памяти, используемой сервером, и повысить производительность за счет уменьшения объема кода компонента, который выполняется при каждом запросе к приложению.
  3. Создание пользовательских или специализированных серверов. Выбрав определенный набор функций сервера, можно создать пользовательские серверы, оптимизированные для выполнения определенных функций в топологии приложения, таких как пограничное кэширование или балансировка нагрузки. Вы можете добавить пользовательские функции для расширения или замены существующих функций с помощью собственных или сторонних серверных компонентов, созданных на основе новых API расширяемости. Компонентная архитектура обеспечивает долгосрочные преимущества для сообщества IIS: она упрощает разработку новых функций сервера, так как они необходимы как в корпорации Майкрософт, так и среди сторонних разработчиков.

В iis также реализована эффективная модель активации процессов HTTP, представленная в IIS 6.0 с пулами приложений. Модель активации процесса HTTP доступна не только для веб-приложений, получающих запросы или сообщения по любому протоколу. Эта независимая от протокола служба называется службой активации процессов Windows (WAS). Windows Communication Foundation (WCF) поставляется с адаптерами протоколов, которые могут использовать возможности WAS, повышая надежность и использование ресурсов служб WCF.

Расширение среды

Разработчики могут использовать модульную архитектуру IIS для создания мощных серверных компонентов, которые расширяют или заменяют существующие функции веб-сервера и добавляют ценность для веб-приложений, размещенных в IIS.

Ниже приведены причины для разработки служб IIS.

  1. Расширение возможностей веб-приложений. Расширение СЛУЖБ IIS позволяет веб-приложениям использовать функциональные возможности, которые во многих случаях не могут быть легко предоставлены на уровне приложения. Используя ASP.NET IIS или собственную расширяемость C++, разработчики могут создавать решения, которые добавляют ценность для всех компонентов приложения, таких как пользовательские схемы проверки подлинности, мониторинг и ведение журнала, фильтрация безопасности, балансировка нагрузки, перенаправление содержимого и управление состоянием.
  2. Улучшенные возможности разработки. Совершенно новая модель расширяемости C++ устраняет большинство проблем, которые ранее преследовали разработку ISAPI, представляя упрощенный объектно-ориентированный API, который способствует написанию надежного серверного кода. Кроме того, улучшенная интеграция Visual Studio еще больше улучшает возможности разработки для IIS.
  3. Используйте все возможности ASP.NET.ASP.NET интеграция позволяет быстро разрабатывать серверные модули с помощью знакомых интерфейсов ASP.NET 2.0 и многофункциональных служб ASP.NET приложений. ASP.NET модули могут предоставлять службы для ASP, CGI, статических файлов и других типов контента и могут полностью расширять сервер без ограничений, присутствующих в предыдущих версиях IIS.

Интеграция ASP.NET

СЛУЖБЫ IIS позволяют веб-приложениям в полной мере использовать мощные функции и расширяемость ASP.NET 2.0. ASP.NET функции, включая проверку подлинности на основе форм, членство, состояние сеанса и многие другие, можно использовать для всех типов содержимого, обеспечивая единый интерфейс для всего веб-приложения. Разработчики могут использовать знакомые ASP.NET модели расширяемости и многофункциональные API.NET для создания функций сервера IIS, которые так же эффективны, как и те, которые написаны с помощью собственных API C++.

Воспользуйтесь ссылками ниже, чтобы начать изучение аспектов конфигурации IIS, ознакомьтесь с лабораторией по началу работы и скачиванию комплектов с ресурсами, доступными на IIS.NET.

Начать обучение

  • Общие сведения о модулях IIS
  • Интеграция ASP.NET со службами IIS
  • Как воспользоваться преимуществами интегрированного конвейера IIS
  • Пример комплексной расширяемости
  • Создание настраиваемого сервера
  • Разработка модуля с помощью .NET
  • Разработка собственного модуля (C\C++)

Начало работы

  • Ознакомительные выпуски и виртуальные лаборатории Windows Server 2008 R2 ( https://www.microsoft.com/server-cloud/windows-server/2008-r2-trial.aspx )

Скачиваемые файлы

  • Начальный комплект управляемого модуля
  • Собственный (C\C++) Начальный комплект модуля

An incredible web server that’s built around you.

Internet Information Services (IIS) for Windows® Server is a flexible, secure and manageable Web server for hosting anything on the Web. From media streaming to web applications, IIS’s scalable and open architecture is ready to handle the most demanding tasks.

Evaluate IIS today, with a free trial edition of Windows Server.

Control

Centralized Web Farm Management

Deploy and manage Web sites and applications across large farms of Web servers from a central place.

Delegated Remote Management

Delegate site configuration management and publishing remote users.

Powerful Admin Tools

Configure and manage IIS 7 using a rich set of command-line, UI and programmatic APIs.

Reliability

Scalable Web Infrastructure

Dynamically scale web farm capacity with HTTP-based load balancing and intelligent request routing.

Dynamic Caching and Compression

Improve performance by enabling high-speed dynamic caching and compression.

Rich Diagnostic Tools

Find and fix issues quickly and easily with powerful diagnostic tools.

Security

Enhanced Server Protection

Maximize web server security through reduced server footprint and automatic application isolation.

Secure Content Publishing

Publish web content more securely using standards based protocols.

Access Protection

Protect your server from unauthorized access.

Choice

ASP.NET and PHP Support

Develop and deploy ASP.NET and PHP applications on the same server.

Modular and Extensible Web Server

Extend and customize IIS.

Integrated Media Platform

Deliver high fidelity experiences efficiently.

Learn

Go check out the Learn Center to get the latest information on IIS, stay up to date, and troubleshoot.

Expand with Extensions

Add new features to IIS today by downloading the official IIS extensions from Microsoft.

  • This site is managed for Microsoft by Neudesic, LLC. | © 2023 Microsoft. All rights reserved.
  • Privacy Statement
  • Terms of Use
  • Contact Us
  • Hosted on Microsoft Azure
  • Advertise with Us
  • Manage cookies
  • California Consumer Privacy Act (CCPA) Opt-Out Icon
  • Follow us on:
  • Twitter
  • Facebook
  • Microsoft
  • Feedback on IIS

При подготовке материала использовались источники:
https://adrianjnkns.medium.com/what-is-internet-information-services-iis-f7aea766f8a6
https://learn.microsoft.com/ru-ru/iis/get-started/introduction-to-iis/iis-web-server-overview
https://www-iis.azureedge.net/overview

Оцените статью