Tornado

Screenshot Software:
Tornado
Mga detalye ng Software:
Bersyon: 4.3 Na-update
I-upload ang petsa: 10 Dec 15
Nag-develop: Facebook
Lisensya: Libre
Katanyagan: 9

Rating: 3.0/5 (Total Votes: 2)

Sa simula Facebook ay binuo gamit ang PHP at MySQL, ngunit bilang ng trapiko at laki ng mga network ay nadagdagan, kaya ginawa ng kanyang mga kinakailangan para sa isang mas mahusay at mas mabilis na paghahatid ng nilalaman sa real-time.

na ito na humantong sa koponan ng Facebook upang hanaping mabuti sa iba pang mga teknolohiya at mga wika sa labas PHP, at sa lalong madaling panahon na nakabukas ang mga kumpanya na ito tanawin na Python, isang programming language na ginagamit ng Google upang bumuo ng kanyang search engine.

Ang mga pagsisikap ng pangkat nagresulta sa isang produkto na tinatawag na buhawi, isang Python framework partikular na idinisenyo upang gumana sa mga raw HTTP koneksyon sa isang simpleng asynchronous non-pagharang paraan.

buhawi ay inspirasyon ng iba pang mga kasangkapan tulad ng Web.py at Google webapp, ngunit kabilang din pati mga karagdagang tampok.

Sa namamalagi sa gitna ng buong balangkas ng isang malakas na HTTP server, na kung saan ay pinahusay ng isang suite ng mga modules para sa pagharap sa i18n nilalaman, string manipulasyon, output generation, asynchronous operasyon, third-party code, mga tala, at iba pa.

Bukod Cassandra , buhawi ay isa sa mga pinaka-matagumpay na bukas sourced aplikasyon ng Facebook sa petsa.

Ano ang bagong sa paglabas :

  • Bagong module: tornado.locks at tornado.queues

Ano ang bagong sa bersyon 4.2:

  • Bagong module: tornado.locks at tornado.queues

Ano ang bagong sa bersyon 4.1:

  • Ang tornado.web.stream_request_body decorator nagpapahintulot sa mga malalaking mga file upang maging na-upload na may limitadong paggamit ng memory.
  • coroutines ay mas mabilis na ngayon at ginagamit nang husto sa buong buhawi mismo. Higit pamamaraan ngayon bumalik Futures, kabilang ang karamihan iostream pamamaraan at RequestHandler.flush.
  • Maraming mga paraan masapawan user-ngayon ay pinahihintulutan upang bumalik sa isang Future para sa daloy control.
  • HTTP kaugnayan-code na-share sa pagitan ng tornado.httpserver, tornado.simple_httpclient at tornado.wsgi modules, ang paggawa ng suporta para sa mga tampok tulad ng mas pare-pareho gzip encoding chunked at. HTTPServer ngayon ay gumagamit ng bagong interface delegado ng nilinaw sa tornado.httputil bilang karagdagan sa kanyang lumang interface single-callback.
  • Bagong module tornado.tcpclient lumilikha TCP koneksyon sa mga di-blocking DNS, SSL handshaking, at suporta para sa IPv6.

Ano ang bagong sa bersyon 3.2.2:

  • Ang token XSRF ay naka-encode na ngayon sa isang random mask sa bawat kahilingan. Ito ay ginagawa itong ligtas na isama sa compressed mga pahina nang hindi pagiging mahina laban sa mga PAGLABAG atake. Nalalapat ito sa karamihan ng mga application na gumagamit ng parehong mga xsrf_cookies at mga pagpipilian gzip (o may gzip inilapat sa pamamagitan ng isang proxy).
  • Kung buhawi 3.2.2 ay tumakbo sa parehong oras bilang mga mas lumang bersyon sa parehong domain, may ilang mga potensyal na para sa mga isyu sa mga magkakaibang mga bersyon cookie. Ang xsrf_cookie_version setting Application = 1 ay maaaring gamitin para sa isang palampas panahon upang makabuo ng mga mas lumang format cookie sa mas bagong mga server.
  • tornado.platform.asyncio ay katugma sa trollius bersyon 0.3 ngayon.

Ano ang bagong sa bersyon 3.2.1:

  • Ang format sign-halaga na ginagamit ng RequestHandler.set_secure_cookie at RequestHandler.get_secure_cookie ay nagbago upang maging mas ligtas. Ito ay isang disruptive pagbabago. Ang pag-andar secure_cookie kumuha ng bagong mga parameter bersyon upang suportahan ang mga transition sa pagitan ng mga format ng cookie.
  • Ang bagong format cookie Inaayos ng isang kahinaan na maaaring naroroon sa mga application na gumagamit ng maramihang mga cookies kung saan ang pangalan ng isa cookie ay isang prefix ng pangalan ng iba.
  • Upang mabawasan pagkaputol, tatanggapin ang cookies sa mga mas lumang format sa pamamagitan ng default hanggang e-expire ang mga ito. Ang mga aplikasyon na maaaring maging mahina maaaring tanggihan ang lahat ng cookies sa mga mas lumang format sa pamamagitan ng pagpasa min_version = 2 hanggang RequestHandler.get_secure_cookie.

Ano ang bagong sa bersyon 3.2:

  • pagtatakda default_handler_class New application ay maaaring gamitin upang madaling-set up ng mga custom 404 mga pahina.
  • New Autoreload setting ng application, compiled_template_cache, static_hash_cache, at serve_traceback ay maaaring magamit upang makontrol ang mga indibidwal na mga aspeto ng pag-debug mode.
  • Bagong pamamaraan RequestHandler.get_query_argument at RequestHandler.get_body_argument at bagong katangian HTTPRequest.query_arguments at HTTPRequest.body_arguments payagan ang access sa mga argumento na walang intermingling mga mula sa query string sa mga mula sa katawan kahilingan.
  • RequestHandler.decode_argument at mga kaugnay na mga pamamaraan sa ngayon itaas ang isang HTTPError (400) sa halip ng UnicodeDecodeError kapag hindi ma-decoded ang argumento.
  • RequestHandler.clear_all_cookies tumatanggap na ngayon ng domain at path argumento, tulad ng clear_cookie.
  • Ngayon ay posible upang tukuyin handler sa pamamagitan ng pangalan kapag ginagamit ang URLSpec class.
  • tumatanggap na ngayon ng Application 4-tuples upang tukuyin ang pangalan ng parameter (na dati na kinakailangan sa paggawa sa isang URLSpec bagay sa halip ng isang tuple).
  • Mga Fixed isang hindi tamang mensahe ng error kapag pamamaraan handler nagbabalik ng halaga na iba sa None o isang Future.
  • Exceptions ay hindi na naka-log sa dalawang beses kapag gumagamit ng parehongasynchronous at @ gen.coroutine.

Ano ang bagong sa bersyon 3.1:

  • Maraming reference cycles ay nasira up sa buong pakete, na nagpapahintulot sa mga para sa mas mahusay na koleksyon ng basura sa CPython.
  • Silenced ang ilang mga mensahe log kapag koneksyon ay binuksan at agad na sarado (ie port Sinusuri), o iba pang mga sitwasyon na may kaugnayan sa closed na koneksyon.
  • Iba't ibang mga maliit speedups: HTTPHeaders case normalization, UIModule proxy bagay, precompile ilang regexes
  • .

Ano ang bagong sa bersyon 3.0.2:

  • tornado.auth.TwitterMixin ngayon nagde-default sa bersyon 1.1 ng Twitter API, sa halip ng bersyon 1.0 na kung saan ay hindi na ipinagpatuloy sa Hunyo 11. Ito rin ay gumagamit na ngayon HTTPS kapag nakikipag-usap sa Twitter.
  • Mga Fixed isang potensyal na memory tumagas sa isang mahabang hanay ng gen.coroutine o gen.engine function.

Ano ang bagong sa bersyon 3.0:

  • Ang `` callback`` argument sa maraming asynchronous pamamaraan ay ngayon opsyonal, at ang mga pamamaraan magbalik ng `.Future`. Ang `module tornado.gen` nauunawaan na ngayon` `Futures``, at ang mga pamamaraan ay maaaring gamitin nang direkta nang walang isang` .gen.Task` wrapper.
  • Bagong function `.IOLoop.current` nagbabalik ang` .IOLoop` na tumatakbo sa kasalukuyang thread (kumpara sa `.IOLoop.instance`, na nagbabalik karaniwang ang pangunahing thread ng) IOLoop isang tiyak na thread ni (.
  • New klase `tornado.netutil.Resolver` nagbibigay ng isang asynchronous interface na resolution DNS.
  • New klase `tornado.process.Subprocess` bumabalot` subprocess.Popen` sa `.PipeIOStream` access sa descriptors file ng bata.
  • `.IOLoop` ngayon ay may isang static` configure & # x3c; .Configurable.configure & # x3e; `paraan tulad ng isa sa` .AsyncHTTPClient`, na kung saan ay maaaring gamitin upang piliin ang isang `.IOLoop` pagpapatupad na iba sa mga default. * `.IOLoop` Maaari na ngayong opsyonal na gumamit ng isang monotonic clock kung magagamit.

Ano ang bagong sa bersyon 2.4.1:

  • Mga Fixed isang memory tumagas sa tornado.stack_context na lalo na malamang na may mahabang tumatakbo @ gen.engine function.
  • tornado.auth.TwitterMixin gumagana na ngayon sa Python 3.
  • Nakatakdang ng isang bug kung saan IOStream.read_until_close sa isang streaming callback kung minsan ay pumasa sa huling tipak ng data na ang pangwakas na callback sa halip na ang streaming callback.

Ano ang bagong sa bersyon 2.4:

  • Mga Fixed Python 3 mga bug sa tornado.auth, tornado.locale , at tornado.wsgi.
  • OAuthMixin tumatanggap na ngayon & quot; oob & quot; bilang callback_uri.
  • ngayon ay nagbalik din OpenIDMixin ang claimed_id field para sa user.
  • tornado.platform.twisted sequence shutdown ay ngayon mas compatible.
  • Ang configuration ng pag-log na ginamit sa tornado.options ngayon ay mas mapagparaya ng string non-ascii byte.

Ano ang bagong sa bersyon 2.3:

  • `Sinusuportahan na ngayon ng tornado.httpclient.HTTPClient` parehong constructor argumento keyword bilang `AsyncHTTPClient`.
  • Ang `` max_clients`` argument keyword sa `AsyncHTTPClient.configure` gumagana na ngayon.

  • Sinusuportahan na ngayon
  • `tornado.simple_httpclient` ang` `OPTIONS`` at` `pamamaraan PATCH`` HTTP.
  • `tornado.simple_httpclient` ay mas mahusay na tungkol sa pagsasara ng sockets nito sa halip ng Aalis ang mga ito para sa koleksyon ng basura.
  • `tama nakumpirma tornado.simple_httpclient` SSL certificate para sa mga URL na naglalaman ng IPv6 literals (apektado bug na ito Python 2.5 at 2.6).
  • `hindi na nagsasama tornado.simple_httpclient` basic auth credential sa` `Host`` header kapag ang mga credentials ay nakuha mula sa URL.
  • `hindi na binabago tornado.simple_httpclient` sa diksyunaryo header tumatawag-ibinigay, na naging dahilan ng mga problema kapag ang mga sumusunod na pag-redirect.
  • `Sinusuportahan na ngayon ng tornado.curl_httpclient` certificate ng client ang SSL (gamit ang parehong` `client_cert`` at` `client_key`` argumento bilang` tornado.simple_httpclient`.

Ano ang bagong sa bersyon 2.2.1:

  • Pag-aayos ng Security:
  • `tornado.web.RequestHandler.set_header` ngayon maayos sanitizes halaga ng input upang maprotektahan laban sa header iniksyon, malakas na tugon, at iba pa (ito ay palaging tinangka upang gawin ito, ngunit ang mga check ay hindi tama). Tandaan na ang pag-redirect, ang pinaka-malamang na ang pinagmulan ng naturang mga bug, ay protektado ng isang hiwalay na check sa `RequestHandler.redirect`.
  • Mga bug fix:
  • configuration kulay na mga pag-log in `tornado.options` ay katugma sa Python 3.2.3 (at 3.3).

Ano ang bagong sa bersyon 2.2:.

  • Na-update at pinalawak WebSocket support
  • Pinahusay na compatibility sa bridge Baluktot / buhawi.
  • error Template na ngayong bumuo ng mas mahusay na mga bakas stack.
  • Mas mahusay na exception paghawak sa `tornado.gen`.

Ano ang bagong sa bersyon 2.1.1:

  • Bug pag-aayos:
  • Mga Fixed paghawak ng mga sarado mga koneksyon sa mga `` epoll`` (ie Linux) `` IOLoop``. Noong nakaraan, sarado na koneksyon ay maaaring ma-shut down ng masyadong maaga, kung saan madalas ipinahayag bilang & quot; Stream ay sarado & quot; eksepsiyon sa `` SimpleAsyncHTTPClient``.
  • Mga Fixed isang kaso kung saan chunked kasagutan ay maaaring sarado maaga, na humahantong sa pinutol output.
  • `` ulat ngayon IOStream.connect`` error mas patuloy sa pamamagitan ng pag-log at ang malapit na callback (ito ay nakakaapekto eg koneksyon sa localhost sa FreeBSD).
  • `` muli tumatanggap IOStream.read_bytes`` parehong `` int`` at `` long`` argumento.
  • `` hindi na tumatakbo PeriodicCallback`` paulit-ulit na kapag `` makumpleto mas mabilis IOLoop`` iteration kaysa sa resolution ng `` time.time () `` (unang-una ng isang problema sa Windows).

Ano ang bagong sa bersyon 2.1.0:

  • Diginotar ay inalis mula sa default na CA certificate file ginagamit ng `SimpleAsyncHTTPClient`
  • Upang mapadali ang ilang mga advanced multi-proseso pangyayari, `` HTTPServer`` ay may isang bagong paraan `` add_sockets``, at socket-opening code ay magagamit nang hiwalay bilang `tornado.netutil.bind_sockets`.
  • Suporta para sa mga secure na cookies na isinulat ng mga pre-1.0 release ng buhawi ay inalis na.
  • suporta Windows ay napabuti.

Ano ang bagong sa bersyon 2.0.0:

  • Major mga pagbabago:
  • Template output ay awtomatikong nakatakas sa pamamagitan ng default.
  • Ang default AsyncHTTPClient pagpapatupad ay simple_httpclient ngayon.
  • Python 3.2 ay suportado na ngayon.
  • paurong compatibility:
  • Template autoescaping ay pinagana sa pamamagitan ng default. Aplikasyon-upgrade mula sa isang nakaraang release ng buhawi dapat alinman huwag paganahin autoescaping o iakma ang kanilang mga template upang gumana sa mga ito. Para sa karamihan ng mga application, ang pinakamadaling paraan upang gawin ito ay upang pumasa autoescape = Wala sa Application constructor.
  • Ang mga aplikasyon na nais na magpatuloy sa paggamit ng curl_httpclient halip ng simple_httpclient maaaring gawin ito sa pamamagitan ng pagtawag AsyncHTTPClient.configure (& quot; tornado.curl_httpclient.CurlAsyncHTTPClient & quot;) sa simula ng proseso. Ang mga gumagamit ng Python 2.5 ay marahil nais na gamitin curl_httpclient bilang sumusuporta lamang simple_httpclient SSL sa Python 2.6 +.
  • Python 3 compatibility kasangkot maraming mga pagbabago sa buong codebase, upang ang mga gumagamit ay hinihikayat upang masubukan ang kanilang mga application mas maigi kaysa sa karaniwan kapag-upgrade sa release na ito.
  • Iba pang mga pagbabago sa bersyon 4.1:
  • Mga template suporta ng ilang bagong mga direktiba: - {% autoescape ...%} upang makontrol tumatakas pag-uugali - {% raw ...%} para unescaped output - {% module ...%} para sa pagtawag UIModules * {% module Template (path, ** kwargs)%} ay maaari na ngayong gamitin upang tumawag sa isa pang template na may isang malayang namespace.
  • Ang lahat ng iostream callback ay ngayon tumakbo nang direkta sa IOLoop pamamagitan add_callback.
  • HTTPServer Sinusuportahan na ngayon ng IPv6 kung saan available. Upang hindi paganahin, ipasa pamilya = socket.AF_INET sa HTTPServer.bind ().
  • HTTPClient Sinusuportahan na ngayon ng IPv6, maisasaayos sa pamamagitan allow_ipv6 = bool sa HttpRequest. allow_ipv6 default sa false on simple_httpclient at totoo sa curl_httpclient.
  • Maaaring gamitin RequestHandlers isang encoding na iba sa utf-8 para sa mga parameter ng query sa pamamagitan ng pinakamahalaga decode_argument ().

  • pagpapabuti
  • Performance, lalo na para sa mga application na gumagamit ng maraming mga IOLoop timeout.
  • HTTP paraan OPTION hindi na nangangailangan ng isang token XSRF.
  • JSON output (RequestHandler.write (dict)) ngayon nagtatakda Content-Type sa application / json.
  • ETag pagkwenta ay maaari na ngayong ma-customize o hindi pinagana sa pamamagitan ng pinakamahalaga RequestHandler.compute_etag.
  • USE_SIMPLE_HTTPCLIENT kapaligiran variable ay hindi na suportado. Gamitin AsyncHTTPClient.configure halip.

Ano ang bagong sa bersyon 1.2.1:

  • Ang release na ito ay naglalaman lamang ng dalawang maliit na mga pagbabago na may kaugnayan sa bersyon 1.2:
  • FacebookGraphMixin ay na-update upang gumana sa isang kamakailan-lamang na pagbabago sa Facebook API.
  • Pagpapatakbo ng & quot; setup.py install & quot; ay hindi na pagtatangka upang awtomatikong i-install pycurl. Ito ay hindi mahusay na gumagana sa platform kung saan ang pinakamahusay na paraan upang i-install pycurl ay sa pamamagitan ng isang bagay tulad ng apt-get halip ng easy_install. Ito ay isang mahalagang upgrade kung ikaw ay gumagamit FacebookGraphMixin, ngunit kung hindi man ay maaaring ligtas na ito ay hindi pinansin.

Ano ang bagong sa bersyon 1.2.0:

  • Ang release na ito ay kinabibilangan ng mga paurong-tugma pagbabago sa seguridad mula sa bersyon 1.1.1.
  • Upang halatang palitan tornado.httpclient.AsyncHTTPClient gamit ang bagong pagpapatupad, maaari mong itakda ang kapaligiran variable USE_SIMPLE_HTTPCLIENT = 1
  • Request logging ay tapos na ngayon sa pamamagitan ng Application sa halip na ang RequestHandler. Nagla-log-uugali ay maaaring ma-customize sa pamamagitan ng alinman sa pinakamahalaga Application.log_request sa isang subclass o sa pamamagitan ng pagdaan log_function bilang isang setting Application.

Ano ang bagong sa bersyon 1.1.1:

  • buhawi 1.1.1 ay isang paurong-hindi tugma sa seguridad update na Inaayos ng XSRF kahinaan.

Ano ang bagong sa bersyon 1.1:

  • Mga Pagbabago:
  • RequestHandler.async_callback at mga kaugnay na function sa iba pang mga klase ay hindi na kinakailangan sa karamihan ng mga kaso (bagaman ito ay hindi nakakapinsala sa patuloy
  • gamit ang mga ito). Uncaught eksepsiyon ay magiging sanhi na ngayon ang kahilingan na maging sarado kahit sa isang callback. Kung gusto mong malaman kung paano ito gumagana, tingnan ang bagong tornado.stack_context module.
  • Ang bagong tornado.testing module ay naglalaman ng pag-for-based IOLoop testing unit asynchronous code.
  • AsyncHTTPClient ay muling isinusulat (ang bagong pagpapatupad ay magagamit bilang AsyncHTTPClient2 sa buhawi 1.0; sa parehong mga pangalan ay suportado para sa paurong
  • compatibility).
  • Ang module tornado.auth ay nagkaroon ng isang bilang ng mga update, kabilang ang suporta para sa OAuth 2.0 at ang Facebook Graph API, at pag-upgrade sa Twitter at Google suporta sa OAuth 1.0a.
  • Ang module WebSocket ay bumalik at sumusuporta sa pinakabagong bersyon (76) ng mga WebSocket protocol. Tandaan na ang interface ng module na ito ay naiiba mula sa mga WebSocket module na lumitaw sa pre-1.0 na bersyon ng buhawi.
  • Bagong paraan RequestHandler.initialize () ay maaaring mapatungan sa subclasses upang gawing simple paghawak argumento mula URLSpecs. Ang pagkakasunod-sunod ng mga pamamaraan na tinatawag na sa panahon ng pagsisimula ay nakatala sa http://tornadoweb.org/documentation#overriding-requesthandler-methods
  • get_argument () at mga kaugnay na mga pamamaraan sa ngayon gumagana sa PUT kahilingan sa karagdagan sa POST.
  • Sinusuportahan na ngayon ng module httpclient proxies HTTP.
  • Kapag HTTPServer ay tatakbo sa SSL mode, ang SSL pagkakamay ay di-blocking ngayon.
  • Maraming mga pag-aayos ng mas maliit na bug at mga update babasahin

  • mga tala
  • paurong-compatibility:
  • Habang ang karamihan ng mga gumagamit ng buhawi ay hindi dapat magkaroon sa pakikitungo sa mga module stack_context direkta, gumagamit ay maaaring kailangan ng mga manggagawa sa thread pool at mga katulad na constructs gamitin stack_context.wrap at / o NullContext upang maiwasan ang memory paglabas.
  • Gumagana Ang bagong AsyncHTTPClient pa rin na may libcurl bersyon 7.16.x, ngunit ito ay gumaganap ng mas mahusay na kapag pareho libcurl at pycurl ay hindi bababa sa bersyon 7.18.2.
  • OAuth transaksyon na nagsimula sa ilalim ng mga nakaraang bersyon ng auth module ay hindi maaaring makumpleto sa ilalim ng bagong module. Ito ay sumasaklaw lamang sa mga unang proseso ng pahintulot; minsan sa isang awtorisadong token ay ibinibigay token na gumagana sa alinmang bersyon.

Mga kinakailangan

  • Python 2.6 o mas mataas na

Katulad na software

Colony
Colony

12 May 15

Apache MyFaces
Apache MyFaces

12 May 15

Total.js
Total.js

1 Mar 15

Vert.x
Vert.x

10 Dec 15

Iba pang mga software developer ng Facebook

Mga komento sa Tornado

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!
Maghanap ayon sa kategorya