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:
- Escoita peticións no porto TCP indicado (por defecto, para HTTP é o 80 e para HTTPS o 443).
- Recibe unha petición.
- Busca o recurso solicitado.
- 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.
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, ...