Applications réseau

HTTP

Le “Hypertext Transfer Protocol” (HTTP) est un protocole d’application pour les systèmes d’information distribués, collaboratifs et hypermédia. HTTP est le fondement de la communication de données pour le World Wide Web.

Requests

Le module urllib2 de la bibliothèque standard Python fournit la plupart des fonctionnalités HTTP dont vous avez besoin, mais l’API est complètement cassée. Il a été créé pour une autre période - et un web différent. Il nécessite une énorme quantité de travail (même avec les surcharges de méthode) pour effectuer la plus simple des tâches.

Requests prend la main sur tout le travail effectué sur HTTP par Python - rendant votre intégration avec des services Web parfaite. Il n’y a pas besoin d’ajouter manuellement les chaînes de requête à vos URL, ou à encoder vos données POST comme des formulaires. Keep-alive et le pooling de connexion HTTP sont 100% automatiques, motorisés par urllib3, qui est encapsulée dans Requests.

Systèmes distribués

ZeroMQ

ØMQ (écrit aussi ZeroMQ, 0MQ ou ZMQ) est une bibliothèque de messaging asynchrone haute performance destinée à une utilisation dans des applications distribuées scalables ou concurrentes. Il fournit une queue de messages, mais contrairement à un middleware orienté message, un système ØMQ peut fonctionner sans un broker de message dédié. La bibliothèque est conçue pour avoir une API familière dans le style des sockets.

RabbitMQ

RabbitMQ est un logiciel open source de type broker de messages qui implémente Advanced Message Queuing Protocol (AMQP). Le serveur RabbitMQ est écrit dans le langage de programmation Erlang et est construit sur le framework Open Telecom Platform pour le clustering et le failover. Des bibliothèques clientes pour s’interfacer avec le broker sont disponibles pour tous les principaux langages de programmation.