แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ Tornado 6.1.0


แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ Tornado 6.1.0

แž–แŸ’แž™แžปแŸ‡แž€แŸ†แž”แžปแžแžแŸ’แž”แžผแž„ แž‚แžบโ€‹แž‡แžถโ€‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“โ€‹แž”แž˜แŸ’แžšแžพโ€‹แž”แžŽแŸ’แžŠแžถแž‰โ€‹แžŠแŸ‚แž›โ€‹แž˜แžทแž“โ€‹แž”แžถแž“โ€‹แž‘แž”แŸ‹แžŸแŸ’แž€แžถแžแŸ‹ แž“แžทแž„โ€‹แž€แŸ’แžšแž”แžแŸแžŽแŸ’แžŒโ€‹แžŠแŸ‚แž›โ€‹แž”แžถแž“โ€‹แžŸแžšแžŸแŸแžšโ€‹แž€แŸ’แž“แžปแž„โ€‹ Python แŸ” แž–แŸ’แž™แžปแŸ‡แž€แŸ†แž”แžปแžแžแŸ’แž”แžผแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžแŸ’แž–แžŸแŸ‹ แž“แžทแž„แžขแžถแž…แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž‡แžถแž”แŸ‹แž‚แŸ’แž“แžถแžšแžถแž”แŸ‹แž˜แŸ‰แžบแž“แžŠแŸ‚แž›แž’แŸ’แžœแžพแžฑแŸ’แž™แžœแžถแž€แŸ’แž›แžถแž™แž‡แžถแžŠแŸ†แžŽแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แžŠแŸแž›แŸ’แžขแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แžŸแŸ†แžŽแžพแžŸแŸ’แž‘แž„แŸ‹แž˜แžแžทแžšแž™แŸˆแž–แŸแž›แžœแŸ‚แž„ WebSockets แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แžŽแŸ’แžแžถแž‰แžŠแŸ‚แž›แž‘แžถแž˜แž‘แžถแžšแž€แžถแžšแžแž—แŸ’แž‡แžถแž”แŸ‹แž™แžผแžšแžขแž„แŸ’แžœแŸ‚แž„แž‘แŸ…แž€แžถแž“แŸ‹แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž˜แŸ’แž“แžถแž€แŸ‹แŸ—แŸ” Tornado แž˜แžถแž“แž€แŸ’แžšแž”แžแŸแžŽแŸ’แžŒแž‚แŸแž แž‘แŸ†แž–แŸแžš แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž—แŸ’แž‰แŸ€แžœ HTTP แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแž“แŸ…แž›แžพแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž“แŸƒแžŸแŸ’แž“แžผแž›แž”แžŽแŸ’แžแžถแž‰แžขแžŸแž˜แž€แžถแž› แž“แžทแž„แž”แžŽแŸ’แžŽแžถแž›แŸแž™ coroutine แŸ”

แžแŸ’แž˜แžธแž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ†แžŽแŸ‚แž“แŸแŸ‡แŸ–

  • แž“แŸแŸ‡แž‚แžบแž‡แžถแž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž…แžปแž„แž€แŸ’แžšแŸ„แž™แžŠแžพแž˜แŸ’แž”แžธแž‚แžถแŸ†แž‘แŸ’แžš Python 3.5 แž€แŸ†แžŽแŸ‚แž“แžถแž–แŸแž›แžขแž“แžถแž‚แžแž“แžนแž„แžแŸ’แžšแžผแžœแž€แžถแžš Python 3.6+
  • แžฅแžกแžผแžœแž“แŸแŸ‡แž€แž„แŸ‹แž‚แŸ„แž›แž–แžธแžšแž˜แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Windows, MacOS แž“แžทแž„ Linux (amd64 แž“แžทแž„ arm64)

แžขแžแžทแžแžทแž‡แž“ http

  • แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜แž…แŸ†แž–แŸ„แŸ‡ User-Agent Tornado/$VERSION แž”แŸ’แžšแžŸแžทแž“แž”แžพ user_agent แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แž‡แžถแž€แŸ‹
  • tornado.simple_httpclient แžแŸ‚แž„แžแŸ‚แž”แŸ’แžšแžพ GET แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธ 303 แž”แŸ’แžแžผแžšแž‘แžทแžŸ
  • แž”แžทแž‘แž€แžถแžšแžขแžŸแŸ‹แž–แŸแž›แžŠแŸ„แž™แž€แŸ†แžŽแžแŸ‹ request_timeout แž“แžทแž„/แžฌ connect_timeout แž‘แŸ…แžŸแžผแž“แŸ’แž™

httputil

  • แž€แžถแžšแž‰แŸ‚แž€แž”แž‹แž˜แž€แžแžถแžแŸ’แžšแžผแžœแž”แžถแž“แž–แž“แŸ’แž›แžฟแž“
  • parse_body_arguments แžฅแžกแžผแžœแž“แŸแŸ‡แž‘แž‘แžฝแž›แž™แž€แž€แžถแžšแž”แž‰แŸ’แž…แžผแž›แžŠแŸ‚แž›แž˜แžทแž“แž˜แŸ‚แž“แž‡แžถ ASCII แž‡แžถแž˜แžฝแž™แž€แžถแžšแž‚แŸแž…แž…แŸแž‰แžŠแŸ„แž™แž•แŸ’แž“แŸ‚แž€

แž”แžŽแŸ’แžŠแžถแž‰

  • RedirectHandler.get แžฅแžกแžผแžœแž“แŸแŸ‡แž‘แž‘แžฝแž›แž™แž€แžขแžถแž‚แžปแž™แž˜แŸ‰แž„แŸ‹แžŠแŸ‚แž›แž˜แžถแž“แžˆแŸ’แž˜แŸ„แŸ‡
  • แž“แŸ…แž–แŸแž›แž•แŸ’แž‰แžพ 304 แž€แžถแžšแž†แŸ’แž›แžพแž™แžแž” แž”แž‹แž˜แž€แžแžถแž…แŸ’แžšแžพแž“แžฅแžกแžผแžœแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แžšแž€แŸ’แžŸแžถแž‘แžปแž€ (แžšแžฝแž˜แž‘แžถแŸ†แž„แžขแž“แžปแž‰แŸ’แž‰แžถแž)
  • แž”แž‹แž˜แž€แžแžถ Etag แžฅแžกแžผแžœแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžŠแŸ„แž™แž”แŸ’แžšแžพ SHA-512 แž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™ MD5 แžแžถแž˜แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜

แžšแž“แŸ’แž’แž”แžŽแŸ’แžแžถแž‰

  • แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž€แŸ†แžŽแžแŸ‹แž˜แŸ‰แŸ„แž„ ping_interval แžฅแžกแžผแžœแž“แŸแŸ‡แžˆแž”แŸ‹แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž€แžถแžšแžแž—แŸ’แž‡แžถแž”แŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžทแž‘
  • websocket_connect แžฅแžกแžผแžœแž“แŸแŸ‡แž”แžŽแŸ’แžแžถแž›แžฑแŸ’แž™แž˜แžถแž“แž€แŸ†แž แžปแžŸแž“แŸ…แž–แŸแž›แž”แž‰แŸ’แž‡แžผแž“แž”แž“แŸ’แžแž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™แž€แžถแžšแž”แž„แŸ’แž€แž€

แž”แŸ’แžšแž—แž–: linux.org.ru