Saltar al contenido principal

Servidores web

Un servidor web é un programa que procesa unha aplicación do lado do servidor. O servidor e o cliente comunícanse xeralmente utilizando o protocolo HTTP ou HTTPS para as comunicacións. O termo pode referirse tanto ao sistema completo (a máquina) como ao software que acepta e supervisa ditas peticións.

Un servidor web básico ten un esquema de funcionamento moi simple, baseado en executar indefinidamente as seguinte secuencia de operacións:

  1. Escoita peticións no porto TCP indicado (por defecto, para HTTP é o 80 e para HTTPS o 443).
  2. Recibe unha petición.
  3. Busca o recurso solicitado.
  4. Envía o recurso utilizando a mesma conexión na que recibiu a petición ou devolve o erro 404 se non o atopa.

Os servidores están deseñados para manexar múltiples solicitudes e poden escalar horizontalmente para manexar un maior volume de tráfico. Isto lógrase mediante a implantación de técnicas como os balanceadores de carga.

Escalibilidade

A escabilidade refírese a capacidade dun sistema para manexar o crecemento e adaptarse a demanda crecente de recursos, xa sexa en termos de usuarios, tráfico, datos ou calquera outra métrica relevantes. E polo tanto, a capacidade dun sistema para manter o rendemento e capacidade de resposta a medida que aumentan os requirimentos.

Existen dous tipos:

  • Vertical: refírese a aumentar a capacidade dun sistema a base de engadir recursos adicionais nunha soa instancia.
  • Horizontal: implica engadir máis instancias dun sistema en paralelo, distribuíndo a carga de traballo entre elas.

Para este propósito podemos atopar, entre outros, o seguinte software:

  • Apache: de código aberto, para o que existen versións tanto para Windows como para Linux. É o servidor web máis utilizado na actualidade.

  • Nginx: Tamén de código aberto, que resulta moi apropiado para aqueles sitios web que reciben un gran número de peticións nun curto espazo de tempo, e que está gañando terreo, sendo o segundo servidor web máis utilizado nos sitios activos na actualidade.

Servidor web de desenvolvemento

Un servidor web de desenvolvemento é un contorno de servidor deseñado especificamente para o desenvolvemento e a proba de aplicacións web. Proporciona un lugar para probar e depurar código antes de implantalo nun contorno de produción.

Este topo de servidor web está configurado localmente no equipo do programador. Proporciona unha infraestrutura similar a dun servidor web en produción, pero con algunhas diferenzas:

  • Acceso local: o servidor web executase no equipo do programador. Isto facilita a edición e proba de código sen necesidade de cargar os arquivos nun servidor remoto.
  • Contorno de proba: este configurase para simular un contorno de produción. Isto inclúe variables de contorno, configuración de base de datos e outras dependencias externas.
  • Ferramentas de depuración: inclúen ferramentas que permiten os programadores inspeccionar o estado e o comportamento da aplicación en tempo real. Estas inclúen rexistros de erros, consolas de depuración, ...