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.
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.
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.
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:
- O cliente inicia um pedido HTTP e o stack HTTP recebe o pedido.
- O stack de protocolos HTTP contacta com o Windows Activation Service (WAS) e lê a configuração.
- O Windows Activation Service (WAS) solicita informações de configuração do armazenamento de configuração.
- 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.
- 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).
- O Windows Activation Service (WAS) inicia um processo de trabalho para a aplicação que iniciou o pedido.
- O pedido é processado e o pool de aplicações dá uma resposta ao stack de protocolos HTTP.
- 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:
- Como instalar um servidor web IIS
- Como instalar e configurar um servidor FTP no Windows (IIS) (em inglês)
Também pode obter mais informação no site do projeto.
Obrigado por acompanhar-nos!