Network Applications

https://d33wubrfki0l68.cloudfront.net/65b7c24312e1c39260b3b50ab4a00576b49df1fe/be87f/_images/34364815780_bea6614025_k_d.jpg

HTTP

The Hypertext Transfer Protocol (HTTP) is an application protocol fordistributed, collaborative, hypermedia information systems. HTTP is thefoundation of data communication for the World Wide Web.

Requests

Python’s standard urllib2 module provides most of the HTTP capabilities youneed, but the API is thoroughly broken. It was built for a different time —and a different web. It requires an enormous amount of work (even methodoverrides) to perform the simplest of tasks.

Requests takes all of the work out of Python HTTP — making your integrationwith web services seamless. There’s no need to manually add query strings toyour URLs, or to form-encode your POST data. Keep-alive and HTTP connectionpooling are 100% automatic, powered by urllib3, which is embedded withinRequests.

Distributed Systems

ZeroMQ

ØMQ (also spelled ZeroMQ, 0MQ or ZMQ) is a high-performance asynchronousmessaging library aimed at use in scalable distributed or concurrentapplications. It provides a message queue, but unlike message-orientedmiddleware, a ØMQ system can run without a dedicated message broker. Thelibrary is designed to have a familiar socket-style API.

RabbitMQ

RabbitMQ is an open source message broker software that implements the AdvancedMessage Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlangprogramming language and is built on the Open Telecom Platform framework forclustering and failover. Client libraries to interface with the broker areavailable for all major programming languages.

原文: https://docs.python-guide.org/scenarios/client/