Tornado

Скріншот програми:
Tornado
Дані програми:
Версія: 4.3 оновлений
Дата завантаження: 10 Dec 15
Розробник: Facebook
Ліцензія: Безкоштовно
Популярність: 144

Rating: 2.7/5 (Total Votes: 3)

На початку Facebook був побудований з використанням PHP і MySQL, але, як трафіку і розміру мережі збільшилася, так і зробили свої вимоги для швидкого і кращого доставки контенту в режимі реального часу.

Це призвело команду Facebook, щоб копатися в інших технологій і мов за межами PHP, і компанія незабаром повернули погляд на Python, мова програмування, що використовується Google для створення своєї пошукової системи.

Зусилля команди привели в продукті під назвою Tornado, рамки Python, спеціально розроблений для роботи з сирими з'єднань HTTP в простій асинхронної Неблокуючий чином.

Торнадо був натхненний іншими інструментами, як Web.py і Google, веб-додаток, але також включає в себе додаткові функції, а також.

У центрі всього рамках проживає потужний сервер HTTP, який посилюється набором модулів для роботи з вмістом i18n, рядками, покоління вихідний, асинхронних операцій, сторонньому коді, журналів і так далі.

Крім Кассандра , Торнадо є одним з найуспішніших відкритих джерел додатків Facebook на сьогоднішній день.

Що нового У цьому випуску

  • Нові модулі: tornado.locks і tornado.queues

Що нового у версії 4.2:

  • Нові модулі: tornado.locks і tornado.queues

Що нового у версії 4.1:

  • The tornado.web.stream_request_body декоратор дозволяє великі файли, щоб бути завантажено з обмеженою використання пам'яті.
  • співпрограмами тепер швидше і широко використовуються у всьому самої Tornado. Більше методів тепер повернемося ф'ючерси, у тому числі більшості методів IOStream і RequestHandler.flush.
  • Багато користувачем перевизначити методи в даний час дозволено повернутися в майбутнє для управління потоком.
  • HTTP-код, пов'язаний з тепер розподіляється між tornado.httpserver, tornado.simple_httpclient і tornado.wsgi модулів, що робить підтримку таких функцій, як фрагментовані і кодування GZIP більш послідовним. HTTPServer тепер використовує нові інтерфейси, визначені делегатів у tornado.httputil на додаток до своєї старої одного інтерфейсу зворотного виклику.
  • Новий модуль tornado.tcpclient створює з'єднання TCP з Неблокуючий DNS, SSL рукостискання, і підтримку IPv6.

Що нового у версії 3.2.2:

  • Маркер XSRF тепер кодується з випадковим маски на кожен запит. Це робить його безпечним для включення в стислих сторінок, не будучи уразливими до порушення атаки. Це відноситься до більшості додатків, що використовують обидва xsrf_cookies і варіанти GZIP (або GZIP застосовується за дорученням).
  • Якщо Торнадо 3.2.2 запускається в той же час, як більш старих версій на тому ж домені, є деякий потенціал для запитань з різними версіями печива. Встановлення програм xsrf_cookie_version = 1 може бути використаний протягом перехідного періоду, щоб генерувати старий формат куки на нових серверів.
  • tornado.platform.asyncio тепер сумісний з Trollius версії 0.3.

Що нового у версії 3.2.1:

  • Формат підписав значення використовується RequestHandler.set_secure_cookie і RequestHandler.get_secure_cookie змінилася, щоб бути більш безпечним. Це незворотних змін. Функції secure_cookie прийняти нові параметри версії для підтримки переходів між форматами печива.
  • Новий формат печиво усуває вразливість, яка може бути присутнім в додатках, що використовують кілька печиво, де ім'я одного печива є префіксом імені іншого.
  • Щоб звести до мінімуму порушення, печиво в старому форматі будуть прийматися за замовчуванням, поки вони не застаріють. Додатки, які можуть бути уразливі може відхилити всі куки в старому форматі, передаючи MIN_VERSION = 2 RequestHandler.get_secure_cookie.

Що нового у версії 3.2:

  • Новий додаток налаштування default_handler_class можуть бути використані для легко налаштувати користувальницький 404 сторінок.
  • Нью налаштування програми автоперезагрузка, compiled_template_cache, static_hash_cache і serve_traceback можуть бути використані для управління окремими аспектами режимі налагодження.
  • Нью методи RequestHandler.get_query_argument і RequestHandler.get_body_argument і нові атрибути HTTPRequest.query_arguments і HTTPRequest.body_arguments дозволити доступ до аргументів без змішання тих з рядка запиту з тими, з тілом запиту.
  • RequestHandler.decode_argument і пов'язані методи в даний час підняти HTTPError (400) замість UnicodeDecodeError, коли аргумент не може бути декодована.
  • RequestHandler.clear_all_cookies тепер приймає аргументи домену та шлях, як clear_cookie.
  • Це тепер можна вказати обробники по імені при використанні класу URLSpec.
  • Застосування тепер приймає 4-кортежів, щоб вказати параметр ім'я (які раніше необхідну створення об'єкта URLSpec замість кортежу).
  • Виправлена ​​неправильне повідомлення про помилку, коли методи-обробники повертають значення, ніж None чи майбутнє.
  • Винятку не буде записана двічі при використанні какasynchronous і @ gen.coroutine.

Що нового у версії 3.1:

  • Багато посилання циклів були розбиті протягом упаковці, що дозволяє для більш ефективного збору сміття на CPython.
  • глушником деякі повідомлення журналу при з'єднання відкриті і негайно закриті (тобто сканування портів), або інші ситуації, пов'язані з закритими сполуками.
  • Різні дрібні прискорень: HTTPHeaders справу нормалізації, UIModule проксі-об'єкти, прекомпілірованние деякі регулярні вирази
  • .

Що нового у версії 3.0.2:

  • tornado.auth.TwitterMixin тепер за замовчуванням версії 1.1 в API Twitter, а не версії 1.0, яка в даний час припинено 11 червня Він також використовує HTTPS в даний час, коли розмовляє з Twitter.
  • Виправлена ​​потенційна витік пам'яті з довгого ланцюга gen.coroutine або gen.engine функцій.

Що нового у версії 3.0:

  • Параметр `` callback`` аргумент багатьох асинхронних методів Тепер необов'язково, і ці методи повертають `.Future`. Модуля `tornado.gen` тепер понімает`` Futures``, і ці методи можуть бути використані безпосередньо, без оберткі` .gen.Task`.
  • Нова функція `.IOLoop.current` возвращает` .IOLoop`, який працює в поточному потоці (на відміну від` .IOLoop.instance`, який повертає зазвичай) IOLoop основного потоку конкретного потоку (.
  • Новий клас `tornado.netutil.Resolver` забезпечує асинхронний інтерфейс з резолюцією DNS.
  • Новий клас `` tornado.process.Subprocess` обгортання subprocess.Popen` з `.PipeIOStream` доступу до файлових дескрипторів дитини.
  • `.IOLoop` тепер має статіческій` налаштувати і # x3c; .Configurable.configure & # x3e;` метод, як один на '.AsyncHTTPClient`, які можуть бути використані для вибору `реалізацію .IOLoop` інший, ніж за замовчуванням. * `.IOLoop` Тепер можуть додатково використовувати монотонне годинник, якщо є.

Що нового у версії 2.4.1:

  • Виправлена ​​витік пам'яті в tornado.stack_context, що було особливо ймовірно з функціями давно працює @ gen.engine.
  • tornado.auth.TwitterMixin тепер працює на Python 3.
  • Виправлена ​​помилка, в якій IOStream.read_until_close з потоковим зворотного виклику іноді проходять останню порцію даних до кінцевого зворотного виклику замість потокового зворотного виклику.

Що нового у версії 2.4:

  • Виправлені помилки Python 3 в tornado.auth, tornado.locale і tornado.wsgi.
  • OAuthMixin тепер приймає і Quot; OOB & Quot; як callback_uri.
  • OpenIDMixin тепер повертає claimed_id поле для користувача.
  • tornado.platform.twisted послідовність відключення зараз більш сумісно.
  • Конфігурація реєстрації використовується в tornado.options тепер більш терпимі НЕ-ASCII байт рядка.

Що нового у версії 2.3:

  • `tornado.httpclient.HTTPClient` тепер підтримує той же конструктор ключові аргументи як `AsyncHTTPClient`.
  • Параметр `` max_clients`` ключове слово аргумент `AsyncHTTPClient.configure` тепер працює.
  • `tornado.simple_httpclient` тепер поддержівает`` OPTIONS`` і` `PATCH`` HTTP методи.
  • `tornado.simple_httpclient` краще про закриття своїх гнізд, а не залишати їх для збору сміття.
  • `tornado.simple_httpclient` правильно перевіряє сертифікати SSL для URL-адрес, що містять літерали IPv6 (Ця помилка впливає Python 2.5 і 2.6).

  • не «LI>` tornado.simple_httpclient` більше не включає в себе основні авторизації в облікові дані В` `заголовку Host``, коли ці облікові дані, витягнуті з URL.
    не «LI>` tornado.simple_httpclient` більше не змінює викликає поставляється словник заголовка, який викликав проблеми, коли після перенаправлення.
  • `tornado.curl_httpclient` тепер підтримує клієнтські сертифікати SSL (використовуючи той же`` client_cert`` і` `client_key`` аргументи як` tornado.simple_httpclient`.

Що нового у версії 2.2.1:

  • виправлення безпеки:
  • `tornado.web.RequestHandler.set_header` тепер правильно дезінфікує вхідні значення для захисту від ін'єкції заголовка, відповіді розщеплення, і т.д. (це завжди намагалися зробити це, але чек був неправильним). Зверніть увагу, що перенаправляє, найбільш імовірним джерелом таких помилок охороняються окремому перевірки в `RequestHandler.redirect`.
  • виправлення:
  • Конфігурація реєстрації Кольорові в `tornado.options` сумісний з Python 3.2.3 (і 3.3).

Що нового у версії 2.2 :.

  • Оновлений і розширений підтримка WebSocket
  • Покращена сумісність в міст кручений / Tornado.
  • помилки шаблону Тепер генерувати більш трасування стека.
  • Краще обробка виключень в `tornado.gen`.

Що нового у версії 2.1.1:

  • виправлення:
  • Виправлена ​​обробка замкнутих зв'язків з `` epoll`` (тобто Linux) `` IOLoop``. Раніше закриті сполуки можуть бути закриті занадто рано, які найчастіше проявляється у вигляді & Quot; потік закритий і Quot; виключення в `` SimpleAsyncHTTPClient``.
  • Виправлена ​​помилка, в якій поблочного відповіді можуть бути закрита передчасно, що призводить до укороченим виробництва.
  • `` IOStream.connect`` тепер повідомляє помилки більш послідовно за допомогою реєстрації та тісній зворотного виклику (наприклад, це стосується з'єднань на локальний на FreeBSD).
  • `` IOStream.read_bytes`` знову приймає і `` int`` і `` long`` аргументи.

  • не «LI>` `PeriodicCallback`` більше не працює, коли неодноразово` `IOLoop`` ітерації виконується швидше, ніж дозвіл` `time.time ()` `(в основному проблеми на Windows).

Що нового у версії 2.1.0:

  • DigiNotar був видалений з файлу сертифікатів CA за замовчуванням використовується `SimpleAsyncHTTPClient`
  • Щоб полегшити деякі додаткові сценарії декількох процесів, `` HTTPServer`` має новий метод `` add_sockets`` і гніздо-відкриття код доступний окремо як `tornado.netutil.bind_sockets`.
  • Підтримка захищених печиво, написаних заздалегідь 1,0-релізи Торнадо був видалений.
  • Підтримка ОС Windows була покращена.

Що нового у версії 2.0.0:

  • Основні зміни:
  • шаблон виводу автоматично втік за замовчуванням.
  • реалізація за замовчуванням AsyncHTTPClient тепер simple_httpclient.
  • Python 3.2 тепер підтримує.
  • Зворотна сумісність:
  • Шаблон autoescaping включена за замовчуванням. Оновлення додатків з попередньої версії Tornado повинні або відключити autoescaping або адаптувати свої шаблони для роботи з ним. Для більшості додатків, найпростіший спосіб зробити це, щоб пройти autoescape = None в конструктор додатків.
  • Додатки, які хочуть продовжувати використовувати curl_httpclient замість simple_httpclient може зробити за телефоном (AsyncHTTPClient.configure & Quot; tornado.curl_httpclient.CurlAsyncHTTPClient & Quot;) на початку процесу. Користувачі Python 2.5, ймовірно, хочете використовувати в якості curl_httpclient simple_httpclient підтримує тільки SSL на Python 2.6 +.
  • Python 3 Сумісність участь багато змін по всьому коді, так що користувачі будуть заохочувати протестувати свої програми більш ретельно, ніж зазвичай при оновленні до цієї версії.
  • Інші зміни у версії 4.1:
  • В шаблони кілька нових директив: - {% autoescape ...%}, щоб контролювати поведінку втечі - {% сирої ...%} для виходу немаскірованном - {% модуль ...%} для виклику UIModules * {% модуль Шаблон (шлях, ** kwargs)%} тепер може бути використаний для виклику іншого шаблону з незалежним імен.
  • Всі зворотні виклики IOStream тепер працювати безпосередньо на IOLoop допомогою add_callback.
  • HTTPServer тепер підтримує IPv6 де доступні. Щоб відключити, пройти сім'я = socket.AF_INET в HTTPServer.bind ().
  • HTTPClient тепер підтримує IPv6, конфігурується за допомогою allow_ipv6 = BOOL на HTTPRequest. allow_ipv6 замовчуванням до помилкових на simple_httpclient і правда на curl_httpclient.
  • RequestHandlers можете використовувати кодування, ніж UTF-8 для параметрів запиту за допомогою перевизначення decode_argument ().

  • поліпшення
  • Продуктивність, особливо для додатків, які використовують багато IOLoop тайм-аути.

  • не «LI> HTTP метод ВАРІАНТИ більше не потрібно маркер XSRF.
  • Вихід JSON (RequestHandler.write (DICT)) тепер встановлює Content-Type для додатків / JSON.
  • обчислення Etag тепер можуть бути налаштовані або відключені за допомогою перевизначення RequestHandler.compute_etag.

  • не «LI> змінна USE_SIMPLE_HTTPCLIENT середу більше не підтримується. Використання AsyncHTTPClient.configure замість цього.

Що нового у версії 1.2.1:

  • Цей реліз містить тільки два невеликих змін в порівнянні з версією 1.2:
  • FacebookGraphMixin був оновлений для роботи з недавньою зміною до API Facebook.
  • Запуск & Quot; setup.py встановити і Quot; більше не буде намагатися автоматично встановити pycurl. Це не працює добре на платформах, де найкраще встановити pycurl здійснюється через щось на зразок APT-отримати замість easy_install. Це важливий оновлення, якщо ви використовуєте FacebookGraphMixin, але в іншому випадку він може бути проігноровано.

Що нового у версії 1.2.0:

  • Цей реліз включає в себе назад-несумісне зміна безпеки від Версія 1.1.1.
  • Щоб прозоро замінити tornado.httpclient.AsyncHTTPClient з цією новою реалізації, ви можете встановити змінну середовища USE_SIMPLE_HTTPCLIENT = 1
  • Запит реєстрації тепер виконується за допомогою додатка, а чим RequestHandler. Вхід поведінка може бути налаштована або перевизначення Application.log_request в підкласі або проходження log_function як налаштування додатків.

Що нового у версії 1.1.1:

  • Торнадо 1.1.1 є зворотної сумісності безпеки оновлення, що усуває вразливість XSRF.

Що нового у версії 1.1:

  • Зміни:

  • не «LI> RequestHandler.async_callback і пов'язані функції в інших класах більше не потрібен в більшості випадків (хоча це не нешкідливо для продовження
  • їх використання). Тепер Неперехваченние виключення викличе запит повинен бути закритий навіть у функції зворотного виклику. Якщо вам цікаво, як це працює, побачити новий модуль tornado.stack_context.
  • Новий модуль tornado.testing містить підтримку для модульного тестування асинхронного IOLoop основі коду.
  • AsyncHTTPClient був переписаний (нова реалізація була доступна AsyncHTTPClient2 в Торнадо 1,0; обидві назви підтримуються для зворотного
  • сумісність).
  • Модуль tornado.auth була ряд оновлень, включаючи підтримку OAuth 2.0 і Facebook Graph API і оновлення Twitter і Google підтримки OAuth 1.0a.
  • Модуль WebSocket повернувся, і підтримує останню версію (76) протоколу WebSocket. Зверніть увагу, що інтерфейс цього модуля відрізняється від модуля WebSocket, яка з'явилася в попередніх версій 1.0 торнадо.
  • Новий метод RequestHandler.initialize () можна перевизначити в підкласах для спрощення обробки аргументів з URLSpecs. Послідовність методів називається під час ініціалізації документально в http://tornadoweb.org/documentation#overriding-requesthandler-methods
  • get_argument () і пов'язані з ними методи в даний час працюють на запити PUT на додаток до POST.
  • Модуль HttpClient підтримує HTTP-проксі.
  • Коли HTTPServer виконується в режимі SSL, діалогу SSL тепер без блокування.
  • Багато виправлень помилок менше і поновлення документації

  • Примітки
  • Зворотна сумісність:
  • У той час як більшість користувачів Торнадо не повинні мати справу з модулем stack_context безпосередньо, користувачі робочих пулів потоків і аналогічних конструкцій, можливо, буде потрібно використовувати stack_context.wrap та / або NullContext, щоб уникнути витоку пам'яті.
  • Новий AsyncHTTPClient і раніше працює з Libcurl версія 7.16.x, але він виконує краще, коли обидва Libcurl і pycurl, принаймні версія 7.18.2.
  • OAuth угоди почали попередніх версій модуля Ідент не може бути завершена в рамках нового модуля. Це відноситься тільки до первісного процесу авторизації; як тільки авторизований маркер видається, що маркер працює з будь-якої версії.

Вимоги

  • Python 2.6 або вище

Схожі програми

Express
Express

26 Jul 16

batman.js
batman.js

12 May 15

Epitome
Epitome

13 Apr 15

Serenade.js
Serenade.js

28 Feb 15

Інші програми розробника Facebook

MoochSpot
MoochSpot

15 Dec 14

Presto
Presto

25 Feb 15

Tornado

Коментар не знайдено
додати коментар
Включіть картинки!
Пошук за категоріями