El internet

Internet es un aspecto omnipresente en la informática moderna. Incluso pequeños scripts de uso simple interactúan frecuentemente con servicios remotos para enviar o recibir datos. El rico conjunto de herramientas de Python para trabajar con los protocolos web lo hace muy adecuado para programar aplicaciones basadas en web, ya sea como cliente o servidor.

El módulo urllib.parse manipula cadenas URL, dividiendo y combinando sus componentes, y es útil en clientes y servidores.

El módulo urllib.request implementa una interfaz para recuperar contenido de forma remota.

Las solicitudes HTTP POST suelen estar codificadas «form encoded» con urllib. Datos binarios enviados a través de un POST deben codificarse con base64 primero, para cumplir con el estándar de formato de mensaje.

Clientes bien educados que acceden a muchos sitios como una araña o un rastreador debería usar urllib.robotparser para asegurarse que tienen permiso antes de colocar una carga pesada en el servidor remoto.

Para crear un servidor web personalizado con Python, sin requerir marcos externos, use http.server como punto de partida. Éste maneja el protocolo HTTP, por lo que la única personalización necesaria es el código de aplicación para responder a las solicitudes entrantes.

El estado de la sesión en el servidor se puede gestionar a través de cookies creadas y analizadas por el módulo http.cookies. Soporte completo para la caducidad, la ruta, el dominio y otras configuraciones de cookies hacen que sea fácil configurar la sesión

El módulo uuid se usa para generar identificadores para recursos que necesitan valores únicos. UUIDs son buenos para generar valores Uniform Resource Name (URN) automáticamente, donde el nombre del recurso debe ser único, pero no necesita transmitir ningún significado.

La biblioteca estándar de Python incluye soporte para dos mecanismos de control de ejecución remota de procesos basados en la web. El esquema de codificación de la notación JavaScript de objetos (JSON) utilizada en comunicación AJAX e interfaces REST está implementada en json. Funciona igualmente bien en el cliente o el servidor. Bibliotecas completas de servidor y cliente XML-RPC también se incluyen en xmlrpc.client y xmlrpc.server respectivamente.