segunda-feira, 14 de julho de 2008

Arquitetura WEB(Servidor WEB) - Parte 2

Sobre a arquitetura WEB, esquematizada na Imagem 1, já escrevemos sobre o Navegador e a URL, também já fizemos um exemplo básico do HTML. Agora vamos conhecer o servidor WEB.


Imagem 1 - Arquitetura Web

O servidor WEB é o responsável por aceitar requisições HTTP(Request) de navegadores e enviar respostas HTTP(Response), que contêm internamente o recurso solicitado, podendo ser páginas HTML, imagens e outros tipos de recursos.

Existem diversos servidores Web, os mais populares hoje em dia são o Apache(Apache HTTP Server) e o IIS(Microsoft Internet Information Services), a Imagem 2 mostra uma lista de servidores com maior quantidade de sites números baseados no mês de junho de 2008, pesquisa esta feita pela Netcraft.

Imagem 2 - Números de sites por servidor WEB.
Fonte Netcraft.

Apesar da diversidade de servidores WEB, muitos deles implementam algumas funcionalidades em comum, como por exemplo:
  • Comunicação através de HTTP
  • Comunicação através de HTTPs(Trafega informações criptografadas, de forma segura)
  • Log das informações de requisições e respostas
  • Autenticação e opcionalmente autorização para ter acesso a determinado recurso
  • Resposta de documentos estáticos(HTML, JPG, GIF, PDF e outros)
  • Resposta de documentos dinâmicos(ASP.NET, CGI, JSP ou outros)
  • Compressão de conteúdos(GZIP)
O Microsoft Internet Information Services 7 também implementa o protocolo FTP(Filte Transfer Protocol), que é um protocolo em cima do TCP/IP usado para transferência de arquivos.

O IIS atualmente na versão 7.0 tem as seguintes versões por versão do Windows:
  • IIS 1.0, Windows NT 3.51
  • IIS 2.0, Windows NT 4.0
  • IIS 3.0, Windows NT 4.0 Service Pack 3
  • IIS 4.0, Windows NT 4.0 Option Pack
  • IIS 5.0, Windows 2000*
  • IIS 5.1, Windows XP Professional*
  • IIS 6.0, Windows Server 2003 e Windows XP* Professional x64 Edition**
  • IIS 7.0, Windows Vista e Windows Server 2008**
* - Suportam o ASP.NET, limite de 10 conexões simultaneas
(Versão aconselhada para utilização em desenvolvimento)
** - Suportam o ASP.NET
(Versão aconselhada para utilização em produção)

Referências:
http://en.wikipedia.org/wiki/Web_server
http://technet.microsoft.com/en-us/library/cc268242(TechNet.10).aspx
http://www.iis.net/
http://blogs.msdn.com/david.wang/archive/2006/04/12/HOWTO-Maximize-the-Number-of-Concurrent-Connections-to-IIS6.aspx