Tornado — ΡΡΠΎ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Python. Tornado Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΠΊΠΈ long poll Π·Π°ΠΏΡΠΎΡΠΎΠ², WebSockets ΠΈ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠ΅Π±ΡΡΡΠΈΡ Π΄ΠΎΠ»Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. Tornado ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²Π΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, HTTP-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΊΠΎΡΡΡΠΈΠ½.
ΠΠΎΠ²ΠΎΠ΅ Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠΏΡΡΠΊ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ Python 3.5, Π΄Π»Ρ Π±ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Python 3.6+
- binary wheels ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Windows, MacOS ΠΈ Linux (amd64 ΠΈ arm64)
httpclient
- ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ User-Agent Tornado/$VERSION, Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ user_agent Π½Π΅ ΡΠΊΠ°Π·Π°Π½
- tornado.simple_httpclient Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ GET ΠΏΠΎΡΠ»Π΅ 303 ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡΠ°
- ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌ-Π°ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ»Ρ Π² request_timeout ΠΈ/ΠΈΠ»ΠΈ connect_timeout
httputil
- ΡΡΠΊΠΎΡΠ΅Π½ ΠΏΠ°ΡΡΠΈΠ½Π³ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°
- parse_body_arguments ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ non-ASCII Π²Π²ΠΎΠ΄ Ρ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΌ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
web
- RedirectHandler.get ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ
- ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ 304 ΠΎΡΠ²Π΅ΡΠΎΠ² ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² (Π²ΠΊΠ»ΡΡΠ°Ρ Allow)
- Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Etag ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SHA-512 Π²ΠΌΠ΅ΡΡΠΎ MD5
websocket
- ΡΠ°ΠΉΠΌΠ΅Ρ ping_interval ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
- websocket_connect ΠΏΡΠΈ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Π²ΠΌΠ΅ΡΡΠΎ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru