Cómo funciona un email desde Enter hasta notificación

Clase 2 de 32Fundamentos de Ingeniería de Software

Resumen

Entender la ingeniería de software empieza por ver el recorrido real de un email. Aquí se conectan hardware, sistema operativo, navegador, APIs, protocolos y servidores. Con un mapa claro de eventos, HTTP, DNS, SMTP y notificaciones, ganarás confianza para explicar cómo funciona Internet y qué papel juega cada capa.

¿Cómo transforma el hardware tu tecla en una orden?

Cuando presionas Enter en el teclado, ocurre una cadena precisa. Una señal eléctrica viaja por la tarjeta madre, la interpreta la CPU, sube al sistema operativo y termina en el navegador que tiene el foco. Ese flujo permite que un evento active el envío del correo.

  • La CPU procesa señales eléctricas y operaciones matemáticas donde se ejecuta el código.
  • Los drivers traducen señales de hardware para el sistema operativo.
  • El estado y el foco definen a qué app se entrega el evento.

¿Qué rol cumplen CPU, tarjeta madre y drivers?

  • Tarjeta madre: rutas por donde viajan señales de dispositivos.
  • CPU: centro de procesamiento que recibe la señal de Enter.
  • Drivers: capas de software que entienden el dispositivo y su señal.

¿Por qué los eventos disparan acciones en front end?

  • Un evento es la señal que provoca una acción: Enter, click, touch, tap o rotación.
  • En móviles, el acelerómetro genera un evento de rotación para cambiar la pantalla.
  • En el navegador, JavaScript escucha el evento y ejecuta la lógica de enviar.

¿Cómo viajan los datos por la web con APIs y protocolos?

El navegador usa front end con HTML, CSS y JavaScript. Un evento de Enter dispara código que encapsula el correo y lo envía a un servidor mediante un API. Esa interfaz estandariza cómo se comunican aplicaciones, como acordar “el valor del dinero” para intercambiar información sin hablar directamente.

¿Qué es un API y cómo Ajax envía datos?

  • Un API permite que programas se entiendan con reglas comunes.
  • El navegador ofrece Ajax (Asynchronous JavaScript and XML) para enviar datos sin recargar.
  • Los datos del usuario se encapsulan en formatos como XML o JSON (JavaScript Object Notation).
  • Se envían a un API REST usando HTTP.

¿Qué partes tiene una URL y qué hace DNS?

  • Protocolo: HTTP, HTTPS, FTP, SSH, BitTorrent.
  • Dominio: nombre legible como gmail.com que se resuelve con DNS.
  • Ruta: la instrucción del servidor, por ejemplo, /login o /enviar.
  • DNS traduce nombres a IP para ubicar el servidor. Un comando como ping muestra la IP que responde, que puede variar por ubicación para ser más rápido.

¿Por qué HTTPS cifra la conexión?

  • La S en HTTPS indica cifrado con llaves en el servidor.
  • Protege contra interceptaciones durante el viaje de la conexión.
  • Solo tú y el servidor pueden leer los datos.

¿Qué sucede en el servidor y cómo llega la notificación al teléfono?

Al llegar al servidor, Linux recibe la señal desde la red: Ethernet convierte electricidad en datos, TCP/IP encapsula la comunicación y HTTP es atendido por un servidor como Nginx o Apache. El código del lado del servidor en Java, PHP, Python o Go procesa la orden, guarda datos en una base como MySQL, Oracle o Postgres, y gestiona el envío del email.

¿Cómo procesa Linux una petición HTTP?

  • Drivers de red interpretan la electricidad y la pasan a Ethernet.
  • TCP/IP arma los paquetes para HTTP.
  • Nginx o Apache reciben la solicitud y la entregan al código.
  • El backend usa la URL para saber qué hacer y persiste datos en la base.

¿Cómo se envía y recibe un correo con SMTP/POP3?

  • El email se envía por protocolos distintos a HTTP: SMTP para envío y POP/POP3 para recepción.
  • Servidores de correo como Postfix clasifican el destinatario y guardan el mensaje en la bandeja.
  • En la práctica moderna intervienen llaves de Kim, verificaciones SPF, listas blancas y negras, y honey pods para combatir abusos.
  • Si ambos lados usan el mismo proveedor, a veces basta con actualizar la base de datos y notificar, sin hablar protocolos externos.

¿Cómo funcionan las notificaciones en iOS y qué papel tienen TCP y UDP?

  • Consultar al servidor cada rato es ineficiente, por eso existen servidores de notificaciones.
  • Un iOS Notification Server mantiene una conexión constante con el teléfono y sabe su Apple ID o Google ID y su IP.
  • Usa UDP cuando no necesita esperar respuesta, a diferencia de TCP, que sí espera confirmación.
  • Cuando el servidor de email reporta “hay nuevo correo”, el servidor de notificaciones envía el aviso que ves en pantalla.
  • En móviles, un SoC integra CPU, memoria y almacenamiento, gestionando estas señales de forma compacta.

¿Te gustaría comentar qué parte te sorprendió más: los eventos en JavaScript, el viaje por HTTP/HTTPS, o la orquestación con Linux, bases de datos y servidores de notificaciones?