Servidores de aplicaciones web

Contenido complementario

Un servidor web es un ordenador que se conecta a la Red con el software apropiado para establecer las diferentes comunicaciones necesarias, y que ofrece diferentes servicios interactuando con el resto de los servidores web que también están conectados a Internet.

Un servidor web puede ofrecer, entre otros, los servicios siguientes:

  • Correo electrónico (intercambio de mensajes).
  • Servicio de news (tablón de anuncios y foros de discusión).
  • Servicio proxy (privacidad en el acceso a un servidor concreto, velocidad de transferencia).
  • Servicio IRC, chat.
  • Servicio FTP (transferencia de ficheros).
  • Servicio HTTP (el más común de todos, permite el acceso a las páginas web).

Ver diapositiva

El más utilizado es, sin duda, el servidor HTTP, que se encargará de servir las peticiones de usuario de los documentos web. Estos servidores ejecutan las peticiones gracias al protocolo HTTP (HyperText Transfer Protocol), que se encarga de gestionar el intercambio de información entre el cliente web y el servidor HTTP, y crean un sistema globalizador de distribución de información que denominamos web.



Ver diapositiva

Su funcionamiento es muy sencillo y se basa principalmente en diferentes operaciones de solicitud y respuesta, donde un cliente web establece una conexión con el servidor enviándole los datos de su petición. Entonces, el servidor web procesa la petición y responde al cliente. Las peticiones pueden apuntar a un objeto o un recurso, ya sea una página web, un fichero, un CGI, etc., que se reconocen gracias a su dirección URL (Uniform Resource Locator).

El conjunto de petición/respuesta HTTP se denomina transacción. El protocolo HTTP utiliza la conexión TCP/IP, que mantendrá sólo en el tiempo que dure la transacción para cortarla una vez que se haya efectuado. Después, ni el cliente ni el servidor son capaces de "recordar" el último estado de la conexión. Para paliar en parte este problema, los programadores de servidores han implementado el uso de la memoria caché de conexión, por la cual el servidor no cierra la conexión justo al acabar la respuesta a la petición. De esta manera, el servidor puede responder más ágilmente a una nueva consulta del cliente.

En la "conversación" que establecen, los servidores y los clientes pueden enviarse información referente al formato de la respuesta de manera dinámica, con lo que se permite un intercambio de información que no se adecue estrictamente a los estándares. El proceso es muy simple, ya que el servidor puede incluir en la cabecera HTTP de la respuesta una información, denominada metainformación, relativa al documento que envía al cliente. Éste, por su parte, puede hacer uso de esta información para interpretar mejor y de forma más rápida los datos de la respuesta. Además, el protocolo HTTP es totalmente transparente y podemos "leer" su estado de transacción en la parte baja del navegador para determinar también el estado de la red y la velocidad de las comunicaciones.

Las cabeceras HTTP pueden contener información relativa a los documentos u objetos que envían por web. Si por cualquier motivo no se puede interpretar esta información, se obvia y continúa la interpretación del resto de la información.

Una vez que el servidor ha interpretado los diferentes códigos de la solicitud del cliente, devuelve un código numérico que informa sobre el estado de la operación en una primera línea del mensaje de respuesta que interpretará el cliente. Estos códigos normalmente no aparecen en la pantalla cliente, ya que se trata de información que prepara la cabecera de la respuesta. Sólo en casos de error en los que el servidor no puede dar respuesta a lo que pide el cliente aparece en pantalla el tipo de error de manera codificada.

Contenido complementario

Básicamente, existen cinco tipos de mensajes de estado como respuesta del servidor, que se organizan a partir del primer dígito del código numérico para designar una respuesta concreta:

  • 1xx: se trata de mensajes de carácter informativo que de momento no se han utilizado.

  • 2xx: son mensajes asociados con operaciones realizadas de manera correcta.

  • 3xx: son mensajes de redireccionamiento que informan de la necesidad de ejecutar operaciones complementarias para completar la operación de respuesta.

  • 4xx: son básicamente errores de cliente, de manera que la solicitud tiene alguna anomalía (como, por ejemplo, un URL mal transcrito o erróneo). Son mensajes que nos avisan de que se ha abortado nuestra petición. El mensaje que se visualiza más a menudo en pantalla es 404 Not found...

  • 5xx: estos errores afectan a algún proceso interno del servidor e indican que ha sido imposible dar respuesta a la solicitud del cliente.
Arriba