Fundamentos de la programación de redes en Python
Fundamentos de la programación de redes en Python
Resumen:
Introducción
El libro «Fundamentos de la programación de redes en Python» (título original Foundations of Python Network Programming) es una guía clásica que durante más de una década ha ayudado a los desarrolladores a dominar los detalles del trabajo con protocolos de red en el lenguaje Python. Los autores, Brandon Rhodes y John Goerzen, reconocidos expertos en Python y tecnologías de red, crearon un manual práctico que cubre tanto conceptos básicos (sockets, TCP/UDP) como temas avanzados (HTTP, SMTP, SSH, SSL/TLS). A pesar de que el libro se publicó en 2014, su contenido sigue siendo relevante para Python 3 y las aplicaciones de red modernas.
De qué trata este libro
El libro está estructurado como una inmersión progresiva en el mundo de la programación de redes. Comienza con lo básico: qué son los sockets, cómo funcionan TCP y UDP, cómo establecer conexiones y transferir datos. Luego, los autores pasan a protocolos y bibliotecas de más alto nivel que Python proporciona para trabajar con ellos. Se presta especial atención a los ejemplos prácticos: cada sección incluye código funcional que se puede ejecutar y modificar de inmediato.
Temas principales del libro
- Sockets y capa de transporte: creación de clientes y servidores TCP y UDP, manejo de errores, tiempos de espera, entrada/salida no bloqueante.
- HTTP y servicios web: escritura de clientes y servidores HTTP, trabajo con las bibliotecas
http.clientyurllib, análisis de encabezados, cookies, autenticación. - Correo electrónico: envío y recepción de correos a través de SMTP, POP3, IMAP, trabajo con archivos adjuntos MIME.
- SSH y seguridad: uso de la biblioteca
paramikopara la administración remota de servidores, configuración de túneles SSH. - SSL/TLS: cifrado de conexiones, trabajo con certificados, creación de sockets seguros.
- Multihilo y asincronía: uso de hilos, procesos y la biblioteca
asynciopara crear servidores escalables. - Protocolos de capa de aplicación: DNS, FTP, Telnet, así como la escritura de protocolos propios sobre TCP/UDP.
Para quién es este libro
El libro está dirigido a desarrolladores que ya conocen los fundamentos de Python (sintaxis, funciones, clases) y desean profundizar en la programación de redes. Será útil para:
- Desarrolladores Backend que crean servicios web, API y microservicios.
- Ingenieros de redes que automatizan la configuración de equipos y el monitoreo.
- Especialistas en DevOps que escriben scripts para la administración e implementación de servidores.
- Estudiantes y profesores que estudian redes de computadoras de forma práctica.
Qué aprenderá el lector
Después de leer el libro, podrá:
- Crear clientes y servidores TCP y UDP desde cero.
- Trabajar con solicitudes y respuestas HTTP, incluyendo REST API.
- Enviar y recibir correos electrónicos mediante programación.
- Establecer conexiones SSH y ejecutar comandos en máquinas remotas.
- Garantizar la seguridad de las conexiones de red mediante SSL/TLS.
- Escribir servidores asíncronos que manejen miles de conexiones.
- Comprender el funcionamiento interno de protocolos y bibliotecas populares.
Puntos fuertes del libro
- Enfoque práctico: cada ejemplo se puede ejecutar y probar de inmediato. El código está escrito en el estilo de Python 3 y se adapta fácilmente a las versiones modernas.
- Explicación profunda: los autores no solo muestran cómo usar las bibliotecas, sino que también explican cómo funcionan los protocolos a nivel de paquetes.
- Estructura: el libro está dividido lógicamente en capítulos, de lo simple a lo complejo. Se puede leer secuencialmente o usar como referencia.
- Actualidad: a pesar del año de publicación, los principios fundamentales de las redes