ํญํ 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