O que é um servidor web IIS e para que serve?

Partilhar

Junte-se a nós neste pequeno artigo onde vamos falar sobre o que é um servidor web IIS e para que serve, além de abordarmos outras questões relacionadas com este serviço da Microsoft.

O mundo da informática está cheio de todos os tipos de software: programas de utilizador final, aplicações móveis, software de servidor, etc. Existem centenas de tipos de licença para todos estes programas, por isso às vezes é difícil identificar o tipo de software, para que serve ou para que finalidade foi desenvolvido.

E atenção, embora estes dois últimos pontos pareçam o mesmo, não é bem assim. Uma coisa é o objetivo do desenvolvimento de um produto ou serviço e outra bem diferente é a forma como afinal é utilizado.

Assim, decidimos concentrar-nos num dos produtos da Microsoft que é amplamente desconhecido para muitos e analisar o que é o servidor web IIS e para que serve.

 

O que é um servidor web IIS e para que serve?

A primeira coisa que devemos dizer é que IIS significa Internet Information Services ou seja, Serviços de Informação na Internet. Um nome um pouco pretensioso, talvez… Para um simples servidor de páginas web?

O IIS é geralmente conhecido como o servidor web (HTTP/HTTPS) do gigante de Redmond, mas esta é uma visão muito simplista, já que este pode fornecer outros serviços como NNTP, FTP ou até mesmo uma versão simplificada do SMTP.

É preciso dizer que o objetivo real da versão simplificada do SMTP (Simple Mail Transfer Protocol) não é servir como um serviço de correio normal, ou seja, não foi pensado para que os utilizadores se comuniquem entre si, enviando e recebendo e-mails, mas sim para que as aplicações web hospedadas no servidor IIS sejam capazes de enviar e-mails informativos. Isto ocorre principalmente pelo facto de conter um serviço SMTP, mas não um serviço POP ou IMAP.

Imagem. Consola de administração do servidor web IIS (Internet Information Sevices Manager).
Imagem. Consola de administração do servidor web IIS (Internet Information Sevices Manager).

 

Um pouco de história sobre o servidor web IIS:

O servidor web IIS foi desenvolvido pela Microsoft numa linguagem de programação popular, mas complexa: C++, tendo lançado a sua primeira versão produtiva em 1995 sob uma licença de software proprietário.

Ao longo destes anos foram-se acrescentando diferentes funcionalidades e solucionando alguns problemas, sobretudo de performance e de segurança.

Adicionalmente, devemos ter em conta que o PowerShell é cada vez mais importante no mundo da administração de sistemas Microsoft e o caso do IIS não é exceção, tornando cada vez mais importante o conhecimento desta ferramenta.

NOTA: Para saber mais sobre o uso do PowerShell no IIS é recomendável consultar o seguinte link: Microsoft.

Durante o seu tempo de existência, a popularidade do servidor web IIS tem flutuado, apresentando agora uma clara tendência descendente em relação a outros servidores web tradicionais, como o Apache Web Server ou o Nginx, sobre o qual falamos há alguns meses no artigo Escolher um Servidor Web: Apache versus Nginx.

Imagem. Evolução de Web Servers (Fonte: Netcraft); parte I.
Imagem. Evolução de Web Servers (Fonte: Netcraft); parte I.

 

Esta clara tendência descendente pode ser vista no gráfico seguinte, que também mostra as tendências mencionadas no parágrafo anterior. Como o caso em questão é o Internet Information Server, devemos dizer que em 2007 era cerca de 40%, mas atualmente tem cerca de 10% de market share em termos de servidores web produtivos.

 

Imagem. Evolução de Web Servers (Fonte: Netcraft); parte II.
Imagem. Evolução de Web Servers (Fonte: Netcraft); parte II.

NOTA: Fonte consultada para o gráfico de evolução dos Servidores Web – Netcraft: https://news.netcraft.com/archives/2023/01/27/january-2023-web-server-survey.html

Embora se deva ter em conta que, neste caso, estamos a falar de servidores web que prestam serviço à intranet da empresa e à Internet, o que faz do IIS um servidor polivalente que ainda detém uma quota de mercado significativa.

 

Funcionamento por módulos do servidor web IIS:

Para o seu funcionamento, o IIS utiliza um modelo baseado num único processo que responde a todas as solicitações feitas ao servidor. Este é um modelo bem diferente daquele que é usado no Apache, que divide as solicitações entre diferentes threads.

Pode parecer que isto gera um engarrafamento quando as solicitações aumentam, mas na verdade algumas operações são delegadas a outras threads, ou subprocessos. Isto reduz o volume de trabalho, garantindo o processamento e resposta a todas as solicitações, assumindo a função de “organizador” encarregado de atribuir a cada um o seu trabalho e recolhê-lo posteriormente para entregar a cada pedido o que este solicitou.

Esta forma de trabalhar resolve (de certa forma) o problema do engarrafamento que mencionámos acima, gerando um modelo de gestão simultânea em que as requisições são continuamente recebidas, encaminhadas, recebem-se respostas dos processos responsáveis e encaminham-se para o solicitante original. Desta forma, obtém-se um melhor desempenho do servidor.

Extrapolando a forma como estes pedidos são encaminhados para os diferentes processos, podemos ver que o processo de processamento de um pedido de cliente seria o seguinte:

Imagem. Processamento de pedidos HTTP no servidor web IIS.
Imagem. Processamento de pedidos HTTP no servidor web IIS.
  1. O cliente inicia um pedido HTTP e o stack HTTP recebe o pedido.
  2. O stack de protocolos HTTP contacta com o Windows Activation Service (WAS) e lê a configuração.
  3. O Windows Activation Service (WAS) solicita informações de configuração do armazenamento de configuração.
  4. O serviço WWW recebe as informações de configuração do serviço e recolhe informações como o pool de aplicações ou configuração do site.
  5. O serviço WWW usa as informações de configuração recolhidas para configurar a forma como o protocolo HTTP deve responder ao cliente (HTTP.sys).
  6. O Windows Activation Service (WAS) inicia um processo de trabalho para a aplicação que iniciou o pedido.
  7. O pedido é processado e o pool de aplicações dá uma resposta ao stack de protocolos HTTP.
  8. Por fim, a resposta é enviada ao cliente.

 

Versões do IIS, compatibilidade e suporte:

O nosso velho amigo, o servidor web IIS, está connosco desde 1995. Está quase a fazer 30 anos!

Desde o seu surgimento com o Windows NT 3.51 Service Pack 3, passou por algumas versões que, sejamos honestos, nem sempre estiveram à altura.

A maioria dessas versões já não são suportadas, principalmente por estarem vinculadas a sistemas operativos que também não são suportados. Para o Windows Server 2012 e Windows 8, além de todos os seus sucessores, ainda temos suporte e até data marcada para o término desse suporte.

A tabela a seguir mostra a correspondência das versões do servidor web IIS com os sistemas operativos que os alojam e a data de término do suporte, exceto nos casos em que esse suporte já não existe, cuja indicação é “Sem Suporte”.

Versão do IIS Sistemas Operativos Compatíveis Fim do Suporte
IIS 1.0. Windows NT 3.51 Service Pack 3. Sem Suporte.
IIS 2.0. Windows NT 4.0. Sem Suporte.
IIS 3.0. Windows NT 4.0 Service Pack 3. Sem Suporte.
IIS 4.0. Windows NT 4.0 Option Pack. Sem Suporte.
IIS 5.0. Windows 2000. Sem Suporte.
IIS 5.1. Windows XP Professional. Sem Suporte.
IIS 6.0. Windows Server 2003 y Windows XP Professional x64 Edition. Sem Suporte.
IIS 7.0. Windows Vista (Solo Business y Ultimate) y Windows Server 2008. Sem Suporte.
IIS 7.5. Windows 7 y Windows Server 2008 R2. Sem Suporte.
IIS 8.0. Windows 8 y Windows Server 2012. 10 de outubro de 2023.
IIS 8.5. Windows 8.1 y Windows Server 2012 R2. 10 de outubro de 2023.
IIS 10. Windows Server 2016. 12 de janeiro de 2027.
IIS 10.0. Windows 10, Windows 11, Windows Server 2019 y Windows Server 2022. 9 de janeiro 2029.

Tabela. Versões do servidor web IIS, correspondência com SO e data final de suporte.

 

Conclusões:

Como vimos neste artigo, o servidor web IIS é um servidor que não é usado apenas para gerar páginas HTML, mas também para exibir arquivos via WebDav ou para distribuir ficheiros via FTP.

É um servidor que, embora hoje em dia não contenha o volume de servidores web do passado, é muito útil ter em mente como opção quando queremos criar um site sem pagar licenças adicionais ou até sem instalar software, já que hoje em dia o servidor web IIS está incluído no servidor da Microsoft e mesmo nas versões cliente, embora geralmente esteja “desativado”.

Se quiser aprender a implementar o IIS, consulte estes dois tutoriais:

Também pode obter mais informação no site do projeto.

Obrigado por acompanhar-nos!

Categorias:Cloud e sistemas

Outros artigos que podem interessar-lhe

21 de Fevereiro de 2024
Como empresa de software, é possível que tenha sentido atração pela reputação, variedade de serviços e solidez de algum
21 de Fevereiro de 2024
Para muitas empresas de software, ter uma infraestrutura própria significa independência e controlo, bem como uma potencial fonte de
21 de Fevereiro de 2024
Para um ISV, escolher o fornecedor de serviços cloud ideal é uma decisão crucial que pode impactar a satisfação