Qué es un Servidor Web ?

Qué es un Servidor Web ?

Muchos de nosotros, tenemos una vaga idea de los qué es y de lo que hace realmente, y sí, puede que con ello sea más que suficiente para nuestro día a día, pero nunca está de más profundizar en temas como estos. Y más aún si eres un webmaster o bien planeas convertirte en uno próximamente, ya que sin lugar a dudas, más de una vez te encontrarás con los términos tratados el día de hoy.

Es por ello que hoy estaremos profundizando en este tema y poco a poco a medida que vayas leyendo el post, comenzarás a entender lo importante que es y sobretodo la tarea que realiza. Además de algunos otros detalles relevantes, procesos y tareas que si bien no vemos se llevan a cabo.

 

¿Qué es un Servidor Web?

Un Servidor Web o también muchas veces conocido como Servidor HTTP, no es más que un programa informático. La diferencia existe en que no es un programa como los que vemos y utilizamos día a día, sino que éste se encuentra corriendo del lado del servidor y se encarga de realizar conexiones, que podrán ser bidireccionales o bien unidireccionales con el cliente (el cual muchas veces es nuestra propia PC) y retornarle a éste una respuesta a una petición que ha realizado. La cual, al final de cuentas será lo que nosotros veremos en nuestro navegador.

luxwebhosting--diseo-de-paginas-web-a-nivel-profesional
También cabe destacar, que para poder enviar y recibir los datos el servidor Web cuenta con un protocolo. En la mayoría de los casos, se utiliza el tan conocido protocolo HTTP (Hypertext Transfer Protocol) el cual corre por defecto en el puerto TCP 80. Este famoso y tan utilizado protocolo lo desarrollaron las instituciones W3C y IETF y es utilizado para trasferir datos en Internet.

Lo que pretende este protocolo es facilitar la comunicación tanto entre servidores como clientes y proxis, por lo que se encarga de definir una sintaxis, que asegura que sin importar cual de ellos estés utilizando, la comunicación pueda ser establecida y los datos enviados puedan ser descifrados por ambas partes. Este protocolo no guarda información de las consultas y respuestas realizadas con anterioridad, por lo que es catalogado como un protocolo sin estado.

HTTP tiene definido además, ciertos métodos de peticiones, más comúnmente conocido como “verbos”, de los cuales los más utilizados son “HEAD“, “POST“, “GET“, “PUT” y “DELETE“. Igualmente HTTP, a lo largo del tiempo y en cada una de sus versiones, ha ido añadiendo más métodos, y en la actualidad cuenta con una lista bastante extensa. Ya que sin lugar a duda, el hecho de poder abarcar más tipos de peticiones y respuestas, lo hace más flexible y ayuda a asegurar una mejor comunicación.

Por otro lado, cada uno de los verbos define una acción a realizar sobre un recurso, el cual puede ser por ejemplo un archivo, imagen, etc; que se encuentra en el servidor con el cual nos estamos comunicando. Por ejemplo, si deseamos obtener una imagen, realizaríamos una petición GET junto con la ruta de la imagen y la versión del protocolo que nos encontramos utilizando.

 

Métodos de peticiones HTTP

HEAD

La petición HEAD, es básicamente lo mismo que GET, a diferencia de que solamente nos trae los encabezados, omitiendo el cuerpo de nuestro sitio web. Es decir que solamente nos traerá los headers y el estatus de la URL. Es muy útil para poder obtener ciertos datos de un sitio web y a la vez ahorrar en cuanto envío de información se trata.

GET

El método GET es utilizado para retornar cierta información de un servidor en específico. Al realizar una petición de este tipo, solo nos encontramos pidiendo información, es decir que una petición de este tipo nunca debería de modificar el recurso, sino simplemente retornarlo tal y como se encuentra actualmente.

POST

Las peticiones POST son, al contrario de GET, utilizadas para enviar información al servidor. Por ejemplo, podemos subir archivos, enviar datos de clientes, etc. Es muy común que con dicha petición se cree un nuevo recurso, aunque es en realidad una petición muy general, es decir que con ella los datos serán enviados, pero no necesariamente un recurso será creado, sino que el servidor hará con los datos lo que crea oportuno. Se podrá crear un recurso, eliminar o no hacer nada.

Ahora bien, dado que este es posiblemente uno de los métodos más complejos y que además debe contener un cuerpo de mensaje, veamos un poco más a detalle en qué consiste y cómo se compone una petición POST.

 

Composición de una petición POST

Algunas de las cabeceras que encontraremos al enviar peticiones POST serán:

  • Petition type: indica el tipo de petición que se realiza.
  • Referer: devela la URL desde la cual la petición fue realizada.
  • Content-Length: muestra el largo en bytes de los datos que se envían en el cuerpo de la petición.
  • Origin: muestra la URL de Origen que realizó la petición, es decir la URL de la página web.
  • User-Agent: indica el identificador del Browser utilizado por el usuario para realizar la petición.
  • Content-Type: indica el MIME de los datos que nos encontramos enviando en la petición.
  • Accept: se envía el formato MIME que se espera obtener en la respuesta.
  • Accept-Language: indica el tipo de código del lenguaje que la respuesta deberá enviar.
  • Accept-Charset: muestra la codificación esperada en la respuesta del servidor.
  • Accept-Encoding: incluye el tipo codificación o bien compresión que se espera obtener en respuesta. Esta opción no es enviada por todos los navegadores.

Cabe destacar que estos son solamente algunos de los HEADERS que podemos encontrar en una petición POST.

PUT

El método PUT es utilizado para reemplazar los datos de cierto recurso con los enviados en ella. Es decir, que estaremos actualizando un recurso, eliminando los datos viejos y colocando los nuevos enviados en la petición.

DELETE

Con DELETE nos encargaremos de eliminar el recurso, el cual se encontrará especificado en la URL misma con al que nos encontramos realizando la petición.

 

Conclusión

Como vemos algo tan sencillo como acceder a un sitio web o bien enviar un formulario lleva consigo un proceso mucho más complejo, como será la comunicación con el servidor, el envío de datos, cabeceras, etc. Sin darnos cuenta, estos procesos se están realizando a cada instante, y ésta información es enviada y recibida por el cliente y servidor constantemente cada vez que accedemos a un sitio web, enviamos información y demás.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *