2014-12-21 13 views
6

Sebbene conosca sia i server HTTP che i loop di eventi, sto avendo qualche problema ad afferrare il funzionamento interno di Python asyncio.creazione di un server HTTP minimo con asyncio

Come esercizio di apprendimento, ho cercato di scrivere un server HTTP minimale (solo facendo eco al metodo di richiesta, URI, intestazioni e corpo), senza dipendenze aggiuntive. Ho esaminato aiohttp e aiowsgi come riferimento, ma ho difficoltà a capire cosa sta succedendo lì - in parte perché la complessità percepita dei protocolli, dei trasporti, ecc. È un po 'schiacciante. Quindi sono bloccato perché non so da dove iniziare.

È ingenuo aspettarsi che si tratti solo di poche righe di codice per stabilire la connessione, utilizzare il flusso di testo in entrata e inviare nuovamente un altro flusso di testo?

risposta

4

Puoi dare un'occhiata a picoweb come esempio di server HTTP molto semplice (e molto limitato).

Ma, certo, quando cercherete di implementare un server web con funzionalità complete otterrete qualcosa come aiohttp - HTTP è uno standard complesso (anche se forse complicato).

+0

Grazie - è abbastanza vicino a quello che stavo cercando. 'start_server' in particolare era il pezzo mancante per me. – AnC

+0

Sicuro. Gli esempi banali sono buoni per l'apprendimento. Ma come co-autore di * aiohttp * suppongo di usare [aiohttp.web] (http://aiohttp.readthedocs.org/en/v0.12.0/web.html) per il codice di produzione. –

Problemi correlati