Servidor web

Un servidor web es software y hardware que utiliza HTTP (Protocolo de transferencia de hipertexto) y otros protocolos para responder a las solicitudes de los clientes realizadas a través de la World Wide Web. El trabajo principal de un servidor web es mostrar el contenido del sitio web mediante el almacenamiento, procesamiento y entrega de páginas web a los usuarios. Además de HTTP, los servidores web también admiten SMTP (Protocolo simple de transferencia de correo) y FTP (Protocolo de transferencia de archivos), que se utilizan para correo electrónico, transferencia de archivos y almacenamiento.

El hardware del servidor web está conectado a Internet y permite intercambiar datos con otros dispositivos conectados, mientras que el software del servidor web controla cómo un usuario accede a los archivos alojados. El proceso del servidor web es un ejemplo del modelo cliente / servidor. Todas las computadoras que alojan sitios web deben tener software de servidor web.

Los servidores web se utilizan en el alojamiento web o el alojamiento de datos para sitios web y aplicaciones basadas en web, o aplicaciones web.

¿Cómo funcionan los servidores web?

Se accede al software del servidor web a través de los nombres de dominio de los sitios web y garantiza la entrega del contenido del sitio al usuario solicitante. El lado del software también consta de varios componentes, con al menos un servidor HTTP. El servidor HTTP puede comprender HTTP y URL. Como hardware, un servidor web es una computadora que almacena software de servidor web y otros archivos relacionados con un sitio web, como documentos HTML, imágenes y archivos JavaScript.

Cuando un navegador web, como Google Chrome o Firefox, necesita un archivo alojado en un servidor web, el navegador solicitará el archivo por HTTP. Cuando el servidor web recibe la solicitud, el servidor HTTP aceptará la solicitud, buscará el contenido y lo enviará de vuelta al navegador a través de HTTP.

Más específicamente, cuando un navegador solicita una página de un servidor web, el proceso seguirá una serie de pasos. Primero, una persona especificará una URL en la barra de direcciones de un navegador web. El navegador web obtendrá la dirección IP del nombre de dominio, ya sea traduciendo la URL a través de DNS (Sistema de nombres de dominio) o buscando en su caché. Esto llevará el navegador a un servidor web. Luego, el navegador solicitará el archivo específico del servidor web mediante una solicitud HTTP. El servidor web responderá enviando al navegador la página solicitada, nuevamente, a través de HTTP. Si la página solicitada no existe o si algo sale mal, el servidor web responderá con un mensaje de error. A continuación, el navegador podrá mostrar la página web.

También se pueden alojar varios dominios en un servidor web.

Ejemplos de usos del servidor web

Los servidores web a menudo forman parte de un paquete más grande de programas relacionados con Internet e intranet que se utilizan para:

  • enviar y recibir correos electrónicos;
  • descargar solicitudes de archivos del Protocolo de transferencia de archivos (FTP); y
  • construcción y publicación de páginas web.

Muchos servidores web básicos también admitirán secuencias de comandos del lado del servidor, que se utilizan para emplear secuencias de comandos en un servidor web que pueden personalizar la respuesta al cliente. La secuencia de comandos del lado del servidor se ejecuta en la máquina del servidor y, por lo general, tiene un amplio conjunto de funciones, que incluye acceso a la base de datos. El proceso de scripting del lado del servidor también utilizará páginas Active Server (ASP), preprocesador de hipertexto (PHP) y otros lenguajes de scripting. Este proceso también permite la creación dinámica de documentos HTML.

Servidores web dinámicos frente a estáticos

Se puede utilizar un servidor web para ofrecer contenido estático o dinámico. Estático se refiere al contenido que se muestra tal cual, mientras que el contenido dinámico se puede actualizar y cambiar. Un servidor web estático constará de una computadora y un software HTTP. Se considera estático porque el servidor enviará archivos alojados tal cual a un navegador.

Los navegadores web dinámicos constarán de un servidor web y otro software, como un servidor de aplicaciones y una base de datos. Se considera dinámico porque el servidor de aplicaciones se puede utilizar para actualizar cualquier archivo alojado antes de enviarlo a un navegador. El servidor web puede generar contenido cuando se lo solicita a la base de datos. Aunque este proceso es más flexible, también es más complicado.

Software de servidor web común y superior en el mercado

Hay varios servidores web comunes disponibles, algunos incluyen:

  • Servidor HTTP Apache. Desarrollado por Apache Software Foundation, es un servidor web gratuito y de código abierto para Windows, Mac OS X, Unix, Linux, Solaris y otros sistemas operativos; necesita la licencia de Apache.
  • Servicios de información de Internet de Microsoft (IIS). Desarrollado por Microsoft para plataformas Microsoft; no es de código abierto, pero se utiliza ampliamente.
  • Nginx. Un servidor web de código abierto popular para administradores debido a su escasa escalabilidad y utilización de recursos. Puede manejar muchas sesiones concurrentes debido a su arquitectura impulsada por eventos. Nginx también se puede utilizar como servidor proxy y equilibrador de carga.
  • Lighttpd. Un servidor web gratuito que viene con el sistema operativo FreeBSD. Se considera rápido y seguro, y consume menos energía de la CPU.
  • Servidor web Sun Java System. Un servidor web gratuito de Sun Microsystems que puede ejecutarse en Windows, Linux y Unix. Está bien equipado para manejar sitios web medianos a grandes.

Los servidores web líderes incluyen Apache, Internet Information Services (IIS) de Microsoft y Nginx - motor X pronunciado. Otros servidores web incluyen el servidor NetWare de Novell, el servidor web de Google (GWS) y la familia de servidores Domino de IBM.

Las consideraciones al elegir un servidor web incluyen qué tan bien funciona con el sistema operativo y otros servidores; su capacidad para manejar la programación del lado del servidor; características de seguridad; y las herramientas de publicación, motor de búsqueda y creación de sitios que lo acompañan. Los servidores web también pueden tener diferentes configuraciones y establecer valores predeterminados. Para crear un alto rendimiento, un servidor web, un alto rendimiento y una baja latencia ayudarán.

Prácticas de seguridad del servidor web

Hay muchas prácticas de seguridad que las personas pueden establecer en torno al uso del servidor web que pueden hacer que la experiencia sea más segura. Algunos ejemplos de prácticas de seguridad pueden incluir procesos como:

  • un proxy inverso, que está diseñado para ocultar un servidor interno y actuar como intermediario para el tráfico que se origina en un servidor interno;
  • restricción de acceso a través de procesos como la limitación del acceso del servidor web a las máquinas de la infraestructura o el uso de Secure Socket Shell (SSH);
  • mantener los servidores web parcheados y actualizados para ayudar a garantizar que el servidor web no sea susceptible a vulnerabilidades;
  • monitoreo de la red para asegurarse de que no haya ninguna actividad no autorizada; y
  • El uso de un firewall y SSL como firewall puede monitorear el tráfico HTTP, mientras que tener una capa de conexión segura (SSL) puede ayudar a mantener la seguridad de los datos.