Learn

284 artículosCategoría: Todo
Red

Qué son servidores y clientes

Cuando ves un sitio web, tu PC o smartphone no se limita a mostrar una pantalla.

En realidad, un navegador o una aplicación envía una solicitud a un servidor en internet, y el servidor devuelve los datos necesarios.

En esta situación, el lado que envía la solicitud se llama cliente, y el lado que recibe la solicitud y devuelve una respuesta se llama servidor.

Gran parte de la comunicación web se construye sobre esta relación cliente-servidor.

Dicho de forma simple, la forma básica de la comunicación web es esta:

El cliente solicita. El servidor responde.

Este artículo ordena la relación entre el "lado que solicita" y el "lado que responde", que es la base de la comunicación web.

Qué significa ver un sitio web

Cuando abres un sitio web en un navegador, aparece una página en la pantalla.

Sin embargo, esa página no estaba dentro de tu dispositivo desde el principio.

El navegador se comunica con el servidor del sitio web y obtiene los datos necesarios para mostrar la página.

Por ejemplo, supón que abres una página de artículo.

En ese momento, el navegador envía al servidor una solicitud:

"Dame los datos de esta página."

El servidor recibe esa solicitud y devuelve los datos necesarios para mostrar la página.

El navegador lee los datos devueltos y muestra en la pantalla texto, imágenes, botones, diseño y elementos similares.

En otras palabras, ver un sitio web se compone del siguiente flujo.

  1. El navegador envía una solicitud al servidor
  2. El servidor recibe la solicitud
  3. El servidor devuelve los datos necesarios
  4. El navegador muestra en la pantalla los datos recibidos

Desde tu punto de vista, puede parecer que simplemente abriste una página.

Pero detrás de escena se producen "solicitudes" y "respuestas" entre el cliente y el servidor.

Qué es un cliente

Un cliente es el lado que envía solicitudes en una comunicación.

Al ver un sitio web, tu navegador es el cliente.

Por ejemplo, navegadores como Chrome, Safari, Firefox y Edge envían solicitudes a servidores para poder mostrar sitios web.

El navegador pide al servidor:

"Dame los datos necesarios para mostrar esta página."

Luego usa los datos devueltos por el servidor para mostrar la página web en la pantalla.

Es decir, un navegador no es simplemente una aplicación de visualización.

Es un cliente que envía solicitudes al servidor de un sitio web y muestra los datos devueltos.

Las aplicaciones también pueden ser clientes

Los navegadores no son lo único que puede ser cliente.

Las aplicaciones de smartphone y las aplicaciones de PC también son clientes cuando envían solicitudes a servidores.

Por ejemplo, cuando abres una aplicación de redes sociales, se muestran cronología, notificaciones, perfiles, imágenes, videos e información similar.

Toda esa información no estaba dentro del smartphone desde el principio.

La aplicación envía solicitudes a un servidor y recibe del servidor los datos más recientes.

Por ejemplo, una aplicación de redes sociales puede enviar al servidor solicitudes como estas.

  • Dame los datos de la cronología
  • Comprueba si hay notificaciones nuevas
  • Dame el perfil de esta persona usuaria
  • Dame los datos de esta imagen o video

El servidor devuelve los datos necesarios en respuesta.

Luego la aplicación muestra en la pantalla los datos recibidos.

Las aplicaciones de notas en la nube, aplicaciones de chat, juegos en línea, aplicaciones para compartir archivos y aplicaciones similares funcionan del mismo modo.

Solicitan a servidores los datos necesarios y operan usando los datos que vuelven.

En otras palabras, "cliente" no significa solo "navegador".

El lado que envía solicitudes en una comunicación es el cliente.

Qué es un servidor

Un servidor es el lado que recibe solicitudes y devuelve los datos necesarios en una comunicación.

En un sitio web, el servidor tiene los datos necesarios para mostrar el sitio.

Por ejemplo, sitios de noticias, motores de búsqueda, redes sociales, tiendas en línea y servicios similares reciben solicitudes de los navegadores y aplicaciones de las personas usuarias, y devuelven datos en respuesta.

Los datos devueltos por un servidor incluyen, por ejemplo, lo siguiente.

  • HTML
  • CSS
  • JavaScript
  • Imágenes
  • Videos
  • Texto del cuerpo de artículos
  • Información de productos
  • Información de personas usuarias

HTML son datos que representan el texto y la estructura de una página.

CSS son datos usados para determinar la apariencia, como tamaño del texto, color y colocación.

JavaScript son datos usados para crear comportamientos cuando se pulsan botones y procesos que ocurren en la página.

Las imágenes y los videos son datos multimedia que se muestran dentro de la página.

El navegador lee estos datos devueltos por el servidor y los muestra en la pantalla como una página web.

Una página puede implicar varias solicitudes

Al abrir una página web, el navegador no siempre se comunica una sola vez y termina.

Pueden hacer falta varias piezas de datos para mostrar la página.

Por ejemplo, al abrir una página de artículo, el navegador primero obtiene los datos principales de la página.

Después puede obtener además el CSS que da forma a la apariencia de la página, el JavaScript que crea comportamientos en la página, imágenes dentro del artículo y datos similares.

En otras palabras, aunque para ti parezca que abriste una sola página, puede haber varias solicitudes ocurriendo detrás de escena.

Por ejemplo, pueden producirse solicitudes como estas.

  • Dame los datos principales de la página
  • Dame los datos de diseño
  • Dame el archivo de imagen
  • Dame los datos para el comportamiento de la página
  • Dame los comentarios o notificaciones más recientes

El servidor devuelve los datos necesarios para cada solicitud.

El navegador combina los datos devueltos y los muestra en la pantalla como una sola página web.

Las páginas web se entienden mejor si se piensa en ellas como "datos devueltos por el servidor que el navegador ensambla y muestra".

Dónde están los datos de un sitio web

Los datos de un sitio web están, básicamente, del lado del servidor.

Cuando abres un sitio web, el navegador se conecta al servidor y obtiene los datos necesarios.

Luego el navegador muestra los datos obtenidos en la pantalla.

En otras palabras, ver un sitio web significa que el cliente va a buscar datos en el servidor y los muestra en tu propio dispositivo.

Sin embargo, las imágenes ya cargadas y algunos archivos pueden guardarse temporalmente en tu dispositivo.

Esto se usa, por ejemplo, para acelerar la visualización cuando vuelves a abrir la misma página.

Aun así, la estructura básica no cambia.

Los datos del sitio web están del lado del servidor, y el cliente los obtiene cuando los necesita.

Un servidor no siempre es una sola máquina

En esta página, por comodidad, se ha explicado "servidor" como si fuera una sola entidad.

Sin embargo, en servicios web reales, un servidor no es necesariamente una sola máquina física.

Un sitio web pequeño puede funcionar en un solo servidor.

Pero los grandes servicios web reciben accesos simultáneos de muchas personas usuarias.

Por eso, el procesamiento puede repartirse entre varios servidores.

Por ejemplo, las funciones pueden dividirse de las siguientes maneras.

  • Un servidor que devuelve páginas web
  • Un servidor que entrega imágenes y videos
  • Un servidor que gestiona información de personas usuarias
  • Un servidor que maneja bases de datos
  • Un mecanismo que distribuye el acceso entre varios servidores

Hoy también es común operar servicios web usando la nube.

En la nube, quien opera un servicio web no prepara directamente máquinas físicas, sino que usa un entorno de servidor proporcionado por un proveedor de nube.

Además, a veces se usan CDN para entregar imágenes, videos, CSS, JavaScript y datos similares.

Una CDN es un mecanismo que coloca datos en varios lugares y los entrega desde una ubicación cercana a la persona usuaria.

Esto puede hacer que las páginas se muestren más rápido y reducir la carga del servidor original.

Sin embargo, no hace falta memorizar la estructura detallada desde el principio.

El primer punto importante es que un servidor tiene el rol de recibir solicitudes de clientes y devolver los datos necesarios.

Y en servicios web reales, ese rol puede estar sostenido no solo por una máquina, sino también por varios servidores, la nube, CDN y sistemas similares.

Cliente y servidor se determinan por el rol

Clientes y servidores no se determinan solo por el tipo de máquina.

Lo importante es el rol que cumplen en la comunicación.

El lado que envía la solicitud es el cliente.

El lado que recibe la solicitud y devuelve la respuesta es el servidor.

Por ejemplo, tu PC suele actuar como cliente cuando ves sitios web.

Sin embargo, si publicas un servicio web en esa PC y haces que acepte conexiones de otros dispositivos, esa PC también puede actuar como servidor.

En otras palabras, clientes y servidores se entienden mejor como "roles en la comunicación", no como "nombres de dispositivos".

Una perspectiva importante para pensar el anonimato

La relación entre cliente y servidor es importante al pensar el anonimato.

Esto se debe a que, en la comunicación web, tu navegador o aplicación básicamente envía solicitudes al servidor de destino.

El servidor recibe solicitudes del cliente.

Por esa razón, cierta información puede ser visible para el lado del sitio web.

Por ejemplo, el lado del sitio web puede ver información como la siguiente.

  • La dirección IP visible como origen de la conexión
  • Hora de acceso
  • La página solicitada
  • Información sobre el navegador o dispositivo
  • Información relacionada con cookies

El punto importante aquí es que la información visible para la otra parte cambia según si "tu dispositivo se conecta directamente a ese sitio web", si "usas una , , proxy o herramienta similar" y si "el sitio de destino usa una CDN".

Por ejemplo, al conectarte directamente a un sitio web, el servidor de destino puede ver la dirección IP asignada a tu conexión a internet.

En cambio, al pasar por una VPN, Tor o una ruta similar, el lado del sitio web puede ver una dirección IP de VPN, de salida de Tor o de proxy, en lugar de tu dirección IP original.

Además, cuando se usan cookies, un sitio web puede identificar accesos del mismo navegador.

Sin embargo, qué se ve y en qué medida cambia según la ruta de comunicación, la configuración del navegador, los mecanismos del lado del sitio web, si se usa HTTPS, cómo se usan las cookies y factores similares.

Lo que conviene entender en este punto no son los detalles de las tecnologías de seguimiento.

El primer punto importante es la estructura en la que el cliente envía una solicitud al servidor, y el servidor recibe esa solicitud.

Como existe esta estructura, aparece la pregunta de "qué es visible para el servidor de destino".

Para entender el anonimato, primero hay que captar esta relación cliente-servidor.

Resumen

Un cliente es el lado que envía solicitudes en una comunicación.

Navegadores web, aplicaciones de smartphone, aplicaciones de PC y software similar se vuelven clientes cuando envían solicitudes a servidores.

Un servidor es el lado que recibe solicitudes y devuelve los datos necesarios.

Los datos de un sitio web se almacenan generalmente del lado del servidor, y los navegadores y aplicaciones obtienen del servidor los datos necesarios.

Al ver una página web, el navegador pide al servidor: "Dame los datos de esta página."

El servidor devuelve HTML, CSS, JavaScript, imágenes y datos similares.

El navegador lee los datos recibidos y los muestra en la pantalla.

Además, en servicios web reales, un servidor no es necesariamente una sola máquina física.

Pueden usarse varios servidores, la nube, CDN y sistemas similares.

Aun así, lo básico no cambia.

El cliente solicita y el servidor responde.

Esta es la estructura básica de la comunicación web.

Al pensar en el anonimato, hay que tomar esta estructura como premisa y pensar qué es visible para el servidor de destino.

Herramientas relacionadas

Public IP Check

WhatIsMyIP

Recurso externo relacionado con este artículo. Ábrelo solo si encaja con tu situación y tu modelo de amenaza.

Por qué aparece aquí: Puede ayudar con el tema del artículo, pero está fuera de Anonymity Sense y conviene revisarlo antes de usarlo.

URL : https://www.whatismyip.com/

Abrir sitio externo
WebRTC Leak Test

BrowserLeaks WebRTC

Recurso externo relacionado con este artículo. Ábrelo solo si encaja con tu situación y tu modelo de amenaza.

Por qué aparece aquí: Puede ayudar con el tema del artículo, pero está fuera de Anonymity Sense y conviene revisarlo antes de usarlo.

URL : https://browserleaks.com/webrtc

Abrir sitio externo
Anonymous communication

Tor Project

Recurso externo relacionado con este artículo. Ábrelo solo si encaja con tu situación y tu modelo de amenaza.

Por qué aparece aquí: Puede ayudar con el tema del artículo, pero está fuera de Anonymity Sense y conviene revisarlo antes de usarlo.

URL : https://www.torproject.org/

Abrir sitio externo
VPN service

Proton VPN

Recurso externo relacionado con este artículo. Ábrelo solo si encaja con tu situación y tu modelo de amenaza.

Por qué aparece aquí: Puede ayudar con el tema del artículo, pero está fuera de Anonymity Sense y conviene revisarlo antes de usarlo.

URL : https://protonvpn.com/

Abrir sitio externo
VPN service

Mullvad VPN

Recurso externo relacionado con este artículo. Ábrelo solo si encaja con tu situación y tu modelo de amenaza.

Por qué aparece aquí: Puede ayudar con el tema del artículo, pero está fuera de Anonymity Sense y conviene revisarlo antes de usarlo.

URL : https://mullvad.net/

Abrir sitio externo

Artículos relacionados