Servidor Apache HTTP

Servidor Apache HTTP Descrição da imagem page.png padrão do Apache. Em formação
Desenvolvido por Apache Software Foundation
Primeira versão 1995
Última versão 2.4.46 (5 de agosto de 2020)
Versão avançada 2.5.0-alpha (8 de novembro de 2017)
Depósito svn.apache.org/repos/asf/httpd/httpd
Escrito em VS
Sistema operacional Multi plataforma
línguas inglês
Modelo servidor web
Licença Licença Apache versão 2.0
Local na rede Internet httpd.apache.org

O software livre Apache HTTP Server ( Apache ) é um servidor HTTP criado e mantido dentro da Apache Foundation . Até abril de 2019, era o servidor HTTP mais popular da World Wide Web . Ele é distribuído sob os termos da licença Apache .

Histórico

Apache apareceu em Abril de 1995. No início, essa era uma coleção de correções e adições ao servidor NCSA HTTPd 1.2, que era de domínio público e o servidor HTTP mais popular na época. Desta origem, muitas pessoas afirmam que o nome Apache vem de um servidor com remendos , ou "um servidor com remendos ". Posteriormente, o Apache foi completamente reescrito, portanto, na versão 2, não há vestígios de NCSA HTTPd.

Inicialmente, o Apache era a única alternativa séria e gratuita ao servidor HTTP da Netscape ( iPlanet , agora Sun ONE ). Desde aAbril de 1996, de acordo com o estudo em andamento da Netcraft , o Apache se tornou o servidor HTTP mais popular da Internet .

Participação de mercado do Apache:

O Apache versão 2 possui vários avanços importantes em relação à versão 1, incluindo suporte para várias plataformas ( Windows , Linux e UNIX , entre outros), suporte para processos leves do UNIX , uma nova API e suporte a IPv6 .

A Apache Foundation ( Apache Software Foundation ou ASF ) foi criada em 1999 a partir do grupo Apache ( Apache Group ) que criou o servidor em 1995 . Desde então, muitos outros softwares úteis para a World Wide Web foram desenvolvidos junto com o servidor HTTP.

Disponibilidade

O Apache funciona principalmente em sistemas operacionais UNIX ( Linux , Mac OS X , Solaris , BSD e UNIX ) e Windows . A versão do Windows só é considerada estável a partir da versão 1.2 do Apache. O Apache é usado por muitos produtos, incluindo WebSphere da IBM , bem como Oracle Corporation .

Características

O Apache é projetado para oferecer suporte a muitos módulos, dando-lhe funcionalidades adicionais: interpretação de Perl , PHP , Python e Ruby , servidor proxy , Interface de gateway comum , Server Side Includes , reescrita de URL , negociação de conteúdo, protocolos de comunicação adicionais, etc. No entanto, deve-se notar que a existência de muitos módulos Apache complica a configuração do servidor web. Na verdade, as melhores práticas recomendam carregar apenas módulos úteis: muitas vulnerabilidades de segurança que afetam apenas os módulos do Apache são descobertas regularmente.

As possibilidades de configuração do Apache são um recurso carro-chefe. O princípio é baseado em uma hierarquia de arquivos de configuração, que podem ser gerenciados de forma independente. Esse recurso é particularmente útil para hosts que podem servir aos sites de vários clientes usando um único servidor HTTP . Para os clientes, essa funcionalidade é tornada visível pelo arquivo .htaccess .

Dentre as ferramentas que auxiliam na manutenção do Apache, os arquivos de log podem ser analisados ​​por meio de diversos scripts e softwares livres como AWStats , Webalizer ou W3Perl . Diversas interfaces gráficas facilitam a configuração do servidor.

Alguns módulos interessantes

Modos Prefork, Worker e Event

Esses dois modos principais de operação alteram notavelmente o desempenho do servidor HTTP.

Historicamente, o Apache funciona no prefork , o que significa que um processo pai iniciado com direitos estendidos ( raiz ) inicia processos filho, cada um dos quais tratará de um certo número de solicitações do cliente. No entanto, no Linux, a multiplicação de processos causa um aumento no consumo de recursos (memória, descritores de arquivo).

No modo de trabalho , o Apache inicia threads que irão lidar com as solicitações de entrada. A diferença é que este é um modo mais preventivo no qual o processo pai prepara os recursos para seus threads. Módulos desenvolvidos por terceiros, ou bibliotecas usadas por esses módulos, podem não ser projetados para funcionar em um ambiente multi-threaded; neste caso, eles podem ser uma fonte de mau funcionamento se forem usados ​​com o modo de trabalho .

Desde a versão 2.4, o módulo de evento está disponível em produção. Isso é derivado do modo de trabalho , exceto que os threads não apenas atendem a uma conexão do cliente, mas podem executar várias tarefas independentemente da conexão. Assim, as noções de KeepAlivesão melhor gerenciadas no sentido de que um thread não espera mais que a conexão seja encerrada para servir a outro. Mais claramente, o thread atende a um pedido e não a uma conexão.

Módulos: prefork.c, worker.c, event.c

Módulos proxy

Através do mod_proxy, entre outros, é possível usar o Httpd Server como um Proxy real .

Um dos usos mais interessantes consiste no balanceamento de carga , seja no contexto de alta disponibilidade, seja para obter melhor desempenho. As habilidades de proxy reverso são suficientemente desenvolvidas para um lançamento suave na produção a partir da versão 2.1.

Módulos: mod_proxy, mod_proxy_balancer, mod_proxy_http, mod_proxy_ajp, mod_proxy_connect

Notas e referências

  1. (em) Daniel Ruggeri, Apache HTTP Server 4.2.46 Released  " ,7 de agosto de 2020(acessado em 7 de agosto de 2020 )
  2. "  https://github.com/apache/httpd/releases/tag/2.5.0-alpha  " (acessado em 4 de setembro de 2019 )
  3. (en-GB) “  Pesquisa de servidor da Web de abril de 2019 | Netcraft News  ” , em news.netcraft.com (acessado em 15 de janeiro de 2020 )
  4. "  Informações sobre o projeto do servidor HTTP Apache  " [ arquivo15 de abril de 1997] ,15 de abril de 1997
  5. "  Perguntas frequentes sobre o servidor Apache  " [ arquivo de6 de janeiro de 1997] (acessado em 15 de janeiro de 2017 )
  6. Pesquisa de servidor da Web de fevereiro de 2005 encontra 40 milhões de sites no Apache  " .
  7. news.netcraft.com/ .
  8. PHP 5.2 usado por 23% dos sites em fevereiro de 2008 .
  9. Netcraft: Pesquisa de servidor da Web de fevereiro de 2008 .
  10. Servidores da Web: 72,45% do market share para Apache , publicado em 16 de dezembro de 2008, artigo citando SecuritySpace como fonte.
  11. Netcraft: maio 2014 Levantamento Web Server , publicada em 1 st maio de 2014.
  12. (em) "  Quantos sites ativos existem?  " , Netcraft
  13. (em) "  Pesquisa de servidor da Web de janeiro de 2015  " , Netcraft,15 de janeiro de 2015(acessado em 27 de janeiro de 2015 )
  14. "  Estatísticas na internet francesa. udomo.fr  ” , em www.udomo.fr (acessado em 12 de fevereiro de 2017 )

Apêndices

Artigos relacionados

links externos