ํ† ๋„ค์ด๋„ 6.1.0 ๋ฆด๋ฆฌ์Šค


ํ† ๋„ค์ด๋„ 6.1.0 ๋ฆด๋ฆฌ์Šค

ํญํ’ Python์œผ๋กœ ์ž‘์„ฑ๋œ ๋น„์ฐจ๋‹จ ์›น ์„œ๋ฒ„ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. Tornado๋Š” ๊ณ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ์ˆ˜๋งŒ ๊ฐœ์˜ ๋™์‹œ ์˜๊ตฌ ์—ฐ๊ฒฐ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์žฅ๊ธฐ๊ฐ„ ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•œ ๊ธด ํด๋ง ์š”์ฒญ, WebSocket ๋ฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์ด์ƒ์ ์ธ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. Tornado๋Š” ๋น„๋™๊ธฐ ๋„คํŠธ์›Œํฌ ์ฝ”์–ด์™€ ์ฝ”๋ฃจํ‹ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ, HTTP ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฒ„์ „์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ:

  • ์ด๊ฒƒ์€ Python 3.5๋ฅผ ์ง€์›ํ•˜๋Š” ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค. ํ–ฅํ›„ ๋ฒ„์ „์—๋Š” Python 3.6 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด์ œ Windows, MacOS ๋ฐ Linux(amd64 ๋ฐ arm64)์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํœ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

httpํด๋ผ์ด์–ธํŠธ

  • user_agent๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์€ User-Agent Tornado/$VERSION์ž…๋‹ˆ๋‹ค.
  • tornado.simple_httpclient๋Š” 303 ๋ฆฌ๋””๋ ‰์…˜ ํ›„์— ํ•ญ์ƒ GET์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • request_timeout ๋ฐ/๋˜๋Š” connect_timeout์„ XNUMX์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋น„ํ™œ์„ฑํ™”

httputil

  • ํ—ค๋” ๊ตฌ๋ฌธ ๋ถ„์„์ด ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • parse_body_arguments๋Š” ์ด์ œ ๋ถ€๋ถ„ ์ด์Šค์ผ€์ดํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„ASCII ์ž…๋ ฅ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

์›น

  • RedirectHandler.get์€ ์ด์ œ ๋ช…๋ช…๋œ ์ธ์ˆ˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • 304 ์‘๋‹ต์„ ๋ณด๋‚ผ ๋•Œ ์ด์ œ ๋” ๋งŽ์€ ํ—ค๋”๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค(ํ—ˆ์šฉ ํฌํ•จ).
  • Etag ํ—ค๋”๋Š” ์ด์ œ ๊ธฐ๋ณธ์ ์œผ๋กœ MD512 ๋Œ€์‹  SHA-5๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

websocket

  • ์ด์ œ ์—ฐ๊ฒฐ์ด ๋‹ซํžˆ๋ฉด ping_interval ํƒ€์ด๋จธ๊ฐ€ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.
  • websocket_connect๋Š” ์ด์ œ ์ •์ง€ํ•˜๋Š” ๋Œ€์‹  ๋ฆฌ๋””๋ ‰์…˜ํ•  ๋•Œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru