Mientras que muchos podemos conocer y estar familiarizados con el término “servidor”, existe uno muy parecido pero que no todo el mundo conoce, y por supuesto se trata de lo que llamamos servidor web.
Que la similitud no nos engañe, pues un servidor y un servidor web son cosas distintas, aunque cabe mencionar que están muy relacionados, de hecho uno forma parte del otro, y ahora te vamos a contar de qué trata todo esto exactamente.
Si estás haciéndote preguntas tales como: ¿Qué es exactamente un servidor web? ¿Para qué sirve? ¿Son todos los servidores web iguales? Entonces este post es para ti, sigue leyendo para conocer todo esto y mucho más.
¿Qué es un Servidor Web?
Para empezar, tenemos que entender qué es un servidor. Básicamente, un servidor es una computadora. Sí, similar a la que tienes en casa, aunque con un propósito muy diferente, ya que los servidores están orientados al alojamiento de sitios web principalmente, aunque pueden tener muchas otras funciones distintas, pero ese es un tema para otro día.
Como decíamos, los servidores se usan para almacenar información, la cual es enviada al navegador de cada usuario que accede a un sitio web. Para poder realizar este proceso es necesario que dentro del servidor exista un software particular, que obviamente es el servidor web.
Un servidor web es, dicho en forma sencilla, un software diseñado para despachar sitios web y corre dentro del servidor. Así de simple.
Lo que hace el servidor web (conocido como “webserver” en inglés) es despachar el contenido de un sitio web al usuario que lo ha solicitado, para que este pueda verlo a través de su navegador de Internet.
Diferencia entre servidor y servidor web
Cuando hablamos de un servidor podemos hablar de los servicios que corren en un equipo informático. O bien del equipo informático en general, es decir, un ordenador potente, constantemente conectado a Internet que corre servicios (o servidores) con el fin de despachar la información que se le solicita.
Un servidor en si es la máquina, es decir, el equipo que hospeda/aloja al servidor web, puede ser Apache, Nginx o LiteSpeed por ejemplo.
Esa es la principal diferencia, el servidor puede hospedar muchos servicios (incluido pero no limitado a un servidor web) como servidor de almacenamiento en la nube, archivos, imágenes, bases de datos, DNS, correo, etc.
Características
Existen muchos servidores web ahí fuera. Entre ellos podemos encontrar varias características comunes y en algunos casos exclusivas, según cada webserver claro.
- Seguridad: los servidores web modernos deben ser seguros, no solo en sus propias configuraciones internas, sino también a la hora de limitar conexiones, permitir autenticación con contraseña y despachar un sitio web. Para que nuestro sitio web sea bien visto es buena idea instalar un certificado SSL, el cual debe ser configurado del lado del webserver para que este pueda usarlo y así servir nuestra página de forma más segura.
- Plataforma: la mayoría de los servidores web son multiplataforma, es decir, son compatibles con distintos sistemas operativos, como puede ser el caso de Windows Server, distribuciones basadas en Linux o en Unix y MacOS. Linux es el sistema operativo más utilizado a nivel de servidores, siendo Windows Server su mayor competidor.
- Despacho de contenido: esta es la tarea principal del servidor web. Par del contenido disponible para ser despachado o servidor al usuario es lo que conocemos como contenido estático, es decir, el contenido que no cambia, dentro de lo cual podemos encontrar por ejemplo imágenes, videos, documentos, etc. Por otro lado tenemos el llamado contenido dinámico, que es el que cambia basándose en las preferencias y acciones del usuario, este contenido se genera en el momento y se basa principalmente en scripts.
- Hosting virtual: se trata de una tecnología muy usada por muchos proveedores de web hosting, la cual permite que bajo un mismo webserver e IP se alojen varios sitios web distintos. Así es, no es necesario montar un servidor web para cada sitio, con uno es posible despachar incluso cientos de páginas y aplicaciones web.
¿Cómo funciona un servidor web?
Recordemos que el rol principal del servidor web es, básicamente, mostrar contenido al usuario. ¿Pero cómo llegamos a eso exactamente? Es decir, si nosotros solo escribimos el nombre de un sitio en el navegador y le damos a Enter al cabo de unos segundos estaremos viendo el sitio en cuestión. ¿Qué es ese proceso en realidad?
Primero que nada, en cada equipo o computadora funciona un servicio de DNS, el cual es usado para detectar la ubicación de dominios en Internet.
Mediante este sistema, nuestra computadora es capaz de saber a cuál servidor debe pedir el contenido de un sitio web puntual. De esta forma, al intentar acceder a un sitio web, comienza un proceso largo que explicaremos a continuación.
En cuanto le damos al Enter tras escribir la dirección se ejecutará una búsqueda DNS, la cual dará como resultado una IP: esta IP es la dirección del servidor que aloja el sitio. Tras conseguir la IP, nuestro equipo enviará una solicitud al servidor en cuestión.
La solicitud llega al servidor y es atendida por el servidor web, el cual basándose en su configuración se encargará de buscar el contenido del sitio web en cuestión dentro del disco. Una vez el contenido es encontrado, el mismo se envía al navegador del usuario. Como parte de este proceso, el servidor web despacha el contenido estático y dinámico necesario.
Como resultado final tras el despacho de la información, veremos en nuestro navegador el sitio en cuestión. Leer todo esto quizá te haya llevado un minuto o dos, pero en realidad es un proceso que si sale bien no demora más que unos pocos segundos, es muchísimo más rápido de lo que parece.
Protocolos HTTP
Los servidores web realizan muchas de sus tareas por medio de protocolos. Los protocolos son, básicamente, un conjunto de normas que el servidor web sigue para operar y poder despachar el contenido de la web al usuario.
A grandes rasgos se suele hablar de tres protocolos con los que trabaja un webserver: HTTP, HTTP/2 y HTTPS. Veamos en qué consiste cada uno de ellos.
HTTP: es sin dudas uno de los protocolos más conocidos, incluso quienes no trabajan en informática seguramente lo conozcan si usan Internet a menudo, pues se suele ver con frecuencia su uso en la barra de direcciones del navegador.
HTTP es uno de los protocolos más viejos y más utilizados de Internet y su función principal es la transferencia de datos en Internet. Este protocolo dicta las reglas que los servidores y navegadores utilizan a la hora de comunicarse. Dicho de otra forma, HTTP es un protocolo usado tanto para la solicitud como para el envío de datos a través de Internet.
HTTP/2 es la segunda versión principal del protocolo HTTP, en cierta forma lo podemos considerar como un sucesor de este último. Como es de esperarse, esta nueva versión incluye las características básicas de su predecesor, pero obviamente también introduce algunas nuevas.
La llegada de HTTP/2 hace ya algunos años trajo consigo varias novedades, como es el caso de la compresión de cabeceras, del server push y las conexiones únicas. Quizá la ventaja más notoria de HTTP/2 frente a su predecesor es la velocidad, ya que en los mejores casos se pueden ver mejoras de hasta un 60% en la carga de sitios web.
HTTPS es otro protocolo muy importante y se enfoca principalmente en la seguridad, brindado algunas mejoras en ese sentido frente al HTTP a partir del cual surgió. La característica principal de HTTPS es que permite realizar las mismas funciones que HTTP pero de forma segura, es decir mediante una codificación de datos.
Este protocolo se utiliza en conjunta con los famoso certificados SSL, que son utilizados para mejorar la seguridad de un sitio web al encriptar el contenido que sea envía y recibe a través del mismo.
Hasta hace algunos años el uso de HTTPS no estaba tan extendido como hoy en día, ya que solamente lo usaban sitios que manejaran información sensible, como páginas de tiendas online o bancos, pero actualmente su uso es favorecido y bien visto por buscadores como Google, por lo tanto está mucho más extendido.
Diferencias entre Servidor web local vs Servidor web Remoto
Si nos adentramos un poco más en el mundo de los servidores web veremos que a veces se hablan de servidores web locales y servidores web remotos. ¿De qué se trata exactamente?
Los servidores web locales suelen usarse solamente en una computadora local (por ejemplo en la oficinas, universidades, etc.) o bien por medio de una red local. Su uso está orientado principalmente a realizar pruebas, es muy raro que se utilice un servidor web local para despachar sitios a Internet.
Mediante los web servers locales podemos realizar todas las pruebas que necesitemos sin miedo a poder romper algo crítico, y sumado a esto no vamos a necesitar utilizar un dominio web para acceder a un sitio, ya que podremos hacerlo directamente vía localhost en nuestro navegador o escribiendo una dirección interna.
También al contrario que un server remoto, uno local no debe preocuparse por ciertas limitantes como pueden ser la cantidad de transferencia o de espacio en disco, pues eso estará limitado directamente por nuestra conexión a Internet y nuestro disco duro local.
El servidor web remoto es justamente lo contrario a uno local: no se encuentra en nuestra computadora ni en una red local, sino en un Datacenter, donde una empresa se encarga de cuidarlo de por nosotros.
Los servidores remotos son usados cuando queremos que nuestro sitio web sea visible para todos, es decir, que no sea necesario estar conectado localmente para poder acceder.
El detalle con este tipo de servicios es que suelen estar limitados en términos de espacio y transferencia según el plan de hosting que tengamos contratado (alojamiento web tradicional, servidores dedicados, hosting en la nube informática, hosting gratuito, etc).
Cabe mencionar además que los servidores web remotos se usan principalmente en sitios que ya están en producción, aunque también se pueden montar allí sitios para hacer pruebas de ser necesario.
Tipos de servidores web más populares
Existen en el mercado muchos servidores web distintos, aunque claro hay algunos que son más usados que otros. A continuación vamos a ver cuáles son algunos de los web server más utilizados hoy en día.
- Apache: durante mucho tiempo ha sido el servidor web más utilizado a nivel mundial, gracias en gran parte a que es fácil de montar y configurar, aunque hace ya un tiempo que viene perdiendo territorio frente a algunos de sus grandes competidores. Aun así, conserva una cuota de mercado importante y lo seguirá haciendo durante muchos años más.
- Nginx: es quizá el mayor responsable en la caída de la cuota de mercado de Apache. Nginx llega con requerimientos técnicos un poco más complejos que su competidor, aunque a cambio nos brinda una mejor velocidad, lo cual en el mundo del hosting es algo que es muy bien visto y en general es razón suficiente para cambiar un servidor web por otro. Quizá su mayor desventaja sea la falta de compatibilidad para las reglas de Apache que usan otros sitios, haciendo que pasar a de uno a otro no sea sencillo, aunque siempre es posible traducirlas al lenguaje propio de Nginx.
- IIS: es el servidor web desarrollado por Microsoft y que lleva muchos años acompañando a su sistema operativo para servidores: Windows Server. IIS no presenta ventajas frente a Nginx o a Apache.
De hecho se podría decir que la razón principal para utilizarlo es si necesitamos alojar un sitio en .NET, aunque también hay usuarios que lo prefieren por tener un entorno gráfico más amigable. - LiteSpeed: ha estado dando mucho de qué hablar en los últimos años, y es que todo lo que Apache hace se ha visto que LiteSpeed lo puede hacer mejor. No solo es compatible con las reglas de htaccess que Apache utiliza, sino que además consume menos recursos y brinda un mayor rendimiento.
En términos de seguridad no tiene desventajas ni ventajas frente a sus competidores, de hecho probablemente su única desventaja real es que se trata de un software licenciado (de pago), contrario a otros como Apache o Nginx que son gratuitos. Suele utilizarse mucho para potenciar soluciones de alto tráfico en la nube informática.
Resumen
Si querías aprender más sobre servidores web entonces viniste al lugar adecuado, pues en este artículo hemos tocado muchos temas importantes relacionados con ello.
Hemos visto que es un servidor web y para qué sirve, también nos tomamos un momento para ver sus principales características.
También cubrimos en qué consiste el funcionamiento de un servidor web, así como también los principales protocolos usados y las diferencias cuando se habla de servidores web remotos y locales, sin olvidar un pequeño vistazo a varios de los servidores web más utilizados en el mercado.
Todo esto nos brinda un conocimiento más que sólido para que podamos comenzar a investigar el tema más en profundidad si nos interesa, y representa una buena base si necesitamos saber sobre servidores web a grandes rasgos, sin adentrarnos demasiado en muchas cuestiones técnicas que a veces no son fáciles de comprender.