Tornado

Skjermbilde programvare:
Tornado
Prog.varedetaljer:
Versjon: 4.3 Oppdatert
Last opp dato: 10 Dec 15
Utvikler: Facebook
Lisens: Gratis
Popularitet: 144

Rating: 2.7/5 (Total Votes: 3)

I begynnelsen Facebook ble bygget ved hjelp av PHP og MySQL, men som trafikken og størrelsen på nettverket økt, så gjorde sine krav for en bedre og raskere levering av innhold i sanntid.

Dette førte Facebook-teamet å fordype deg i andre teknologier og språk utenfor PHP, og selskapet snart viste det severdigheter å Python, et programmeringsspråk som brukes av Google til å bygge sin søkemotor.

Den innsatsen til teamet resultert i et produkt som heter Tornado, en Python rammeverk spesielt utviklet for bruk med rå HTTP-tilkoblinger på en enkel asynkron ikke-blokkerende måte.

Tornado ble inspirert av andre verktøy som Web.py og Googles webapp, men inneholder også ekstra funksjoner også.

I sentrum av hele rammeverket ligger en kraftig HTTP-server, som forsterkes av en pakke med moduler for å håndtere i18n innhold, streng manipulasjon, utgang generasjon, asynkrone operasjoner, tredjeparts kode, logger, og så videre.

I tillegg til Cassandra , er Tornado en av Facebooks mest vellykkede åpne hentet søknader til dato.

Hva er nytt i denne utgivelsen :

  • Nye moduler: tornado.locks og tornado.queues

Hva er nytt i versjon 4.2:

  • Nye moduler: tornado.locks og tornado.queues

Hva er nytt i versjon 4.1:

  • Den tornado.web.stream_request_body dekoratør kan store filer til å være lastet med begrenset minnebruk.
  • Coroutines er nå raskere og brukes mye i hele Tornado selv. Flere metoder nå tilbake Futures, inkludert de fleste iostream metoder og RequestHandler.flush.
  • Mange brukerstyrt metoder er nå lov til å returnere en framtid for flytkontroll.
  • HTTP-relatert kode er nå delt mellom tornado.httpserver, tornado.simple_httpclient og tornado.wsgi moduler, noe som gjør støtte for funksjoner som du delvis og gzip koding mer konsekvent. Httpserver bruker nå nye delegere grensesnitt definert i tornado.httputil i tillegg til sin gamle single-tilbakeringing grensesnitt.
  • Ny modul tornado.tcpclient skaper TCP forbindelser med ikke-blokkerende DNS, SSL håndtrykk, og støtte for IPv6.

Hva er nytt i versjon 3.2.2:

  • Den XSRF token er nå kodet med en tilfeldig maske på hver forespørsel. Dette gjør det trygt å inkludere i komprimerte sider uten å være sårbare for BRUDD angrepet. Dette gjelder de fleste applikasjoner som bruker både xsrf_cookies og gzip alternativer (eller har gzip påføres med en proxy).
  • Hvis Tornado 3.2.2 kjøres samtidig som eldre versjoner på samme domene, det er noe potensiale for problemer med de forskjellige cookie versjoner. Programinnstillingen xsrf_cookie_version = 1 kan brukes i en overgangsperiode for å generere den eldre cookie-format på nyere servere.
  • er tornado.platform.asyncio nå kompatibel med trollius versjon 0.3.

Hva er nytt i versjon 3.2.1:

  • Den signerte lige formatet som brukes av RequestHandler.set_secure_cookie og RequestHandler.get_secure_cookie har endret seg til å bli mer sikker. Dette er en forstyrrende endring. De secure_cookie funksjoner ta nye versjonen parametere for å støtte overganger mellom cookie formater.
  • Den nye cookie format løser et sikkerhetsproblem som kan være til stede i programmer som bruker flere cookies der navnet på en cookie er et prefiks på navnet til en annen.
  • For å minimere avbrudd, vil kapsler i det gamle formatet bli akseptert som standard til de utløper. Programmer som kan være sårbare kan avvise alle cookies i det gamle formatet ved å sende min_version = 2 til RequestHandler.get_secure_cookie.

Hva er nytt i versjon 3.2:

  • Nytt program innstilling default_handler_class kan brukes til å enkelt sette opp egendefinerte 404 sider.
  • Ny programinnstillinger Autoreload, compiled_template_cache, static_hash_cache, og serve_traceback kan brukes til å styre enkelte aspekter av debug-modus.
  • Ny metoder RequestHandler.get_query_argument og RequestHandler.get_body_argument og nye attributter HTTPRequest.query_arguments og HTTPRequest.body_arguments gi tilgang til argumenter uten intermingling de fra søkestrengen med de fra forespørselen.
  • RequestHandler.decode_argument og relaterte metoder nå heve en HTTPError (400) i stedet for UnicodeDecodeError når argumentet ikke kan dekodes.
  • RequestHandler.clear_all_cookies aksepterer nå domene og bane argumenter, akkurat som clear_cookie.
  • Det er nå mulig å spesifisere handlers ved navn når du bruker URLSpec klassen.
  • Application aksepterer nå 4-tupler å angi navnet parameter (som tidligere var nødvendig å bygge en URLSpec objekt i stedet for et tuppel).
  • Fast feil feilmelding når fører metoder returnere en annen enn Ingen eller en Future verdi.
  • Unntak vil ikke lenger være logget inn to ganger når du bruker bådeasynchronous og @ gen.coroutine.

Hva er nytt i versjon 3.1:

  • Mange referanse sykluser har blitt brutt opp gjennom hele pakken, slik at for mer effektiv søppelrydding på CPython.
  • Silenced noen loggmeldinger når tilkoblinger er åpnet og lukket med øyeblikkelig virkning (dvs. port skanner), eller andre situasjoner knyttet til lukkede forbindelser.
  • En rekke små speedups: HTTPHeaders tilfelle normalisering, UIModule proxy objekter, forkompilerer noen regexes
  • .

Hva er nytt i versjon 3.0.2:

  • tornado.auth.TwitterMixin nå standard til versjon 1.1 av Twitter API, i stedet for versjon 1.0 som blir avviklet 11. juni Den bruker også nå HTTPS når du snakker til Twitter.
  • Fikset en potensiell minnelekkasje med en lang kjede av gen.coroutine eller gen.engine funksjoner.

Hva er nytt i versjon 3.0:

  • `` callback`` argument for mange asynkrone metoder er nå valgfrie, og disse metodene returnere en `.Future`. Den `tornado.gen` modulen forstår nå` `Futures``, og disse metodene kan brukes direkte uten` .gen.Task` wrapper.
  • Ny funksjon `.IOLoop.current` returnerer` .IOLoop` som kjører på den aktuelle tråden (i motsetning til `.IOLoop.instance`, som returnerer en bestemt tråd er (vanligvis hovedtråden s) IOLoop.
  • Ny klasse `tornado.netutil.Resolver` gir en asynkron grensesnitt til DNS.
  • Ny klasse `tornado.process.Subprocess` wraps` subprocess.Popen` med `.PipeIOStream` tilgang til barnets fildeskriptorer.
  • `.IOLoop` har nå en statisk` konfigurere & # X3c; .Configurable.configure & # x3e; `metode som den på` .AsyncHTTPClient`, som kan brukes til å velge en `.IOLoop` implementering annet enn misligholde. * `.IOLoop` Kan nå eventuelt bruke en monoton klokke hvis tilgjengelig.

Hva er nytt i versjon 2.4.1:

  • Fikset en minnelekkasje i tornado.stack_context som var spesielt sannsynlig med langvarige @ gen.engine funksjoner.
  • tornado.auth.TwitterMixin jobber nå på Python tre.
  • Fikset en bug hvor IOStream.read_until_close med en streaming-tilbakeringing vil noen ganger passere den siste del av data til den endelige tilbakeringing i stedet for streaming tilbakeringing.

Hva er nytt i versjon 2.4:

  • Faste Python 3 bugs i tornado.auth, tornado.locale og tornado.wsgi.
  • OAuthMixin nå godtar & quot; OOB & quot; som et callback_uri.
  • OpenIDMixin nå også returnerer claimed_id felt for brukeren.
  • tornado.platform.twisted avslutningssekvensen er nå mer kompatibelt.
  • Den logging konfigurasjon brukes i tornado.options er nå mer tolerant av ikke-ascii byte-strenger.

Hva er nytt i versjon 2.3:

  • `tornado.httpclient.HTTPClient` støtter nå den samme konstruktør søkeord argumenter som `AsyncHTTPClient`.
  • `` max_clients`` søkeord argument til `AsyncHTTPClient.configure` fungerer nå.
  • `tornado.simple_httpclient` støtter nå` `OPTIONS`` og` `PATCH`` HTTP metoder.
  • `tornado.simple_httpclient` er bedre om å stenge sine sockets i stedet for å forlate dem for søppelrydding.
  • `tornado.simple_httpclient` bekrefter korrekt SSL-sertifikater for nettadresser som inneholder IPv6 konstanter (Denne feilen påvirket Python 2.5 og 2.6).
  • `tornado.simple_httpclient` ikke lenger omfatter grunnleggende auth legitimasjon i` `Host`` header når disse legitimasjon er hentet fra nettadressen.
  • `tornado.simple_httpclient` ikke lenger modifiserer innringer-leverte header ordbok, som forårsaket problemer når følgende omdirigeringer.
  • `tornado.curl_httpclient` støtter nå klient SSL-sertifikater (med samme` `client_cert`` og` `client_key`` argumenter som` tornado.simple_httpclient`.

Hva er nytt i versjon 2.2.1:

  • Sikkerhets reparasjoner:
  • `tornado.web.RequestHandler.set_header` nå riktig sanitizes inngangsverdier for å beskytte mot header injeksjon, respons splitting, etc. (det har alltid forsøkt å gjøre dette, men sjekken var feil). Merk at omdirigeringer, den mest sannsynlige kilden til slike feil, er beskyttet av en egen sjekk i `RequestHandler.redirect`.
  • Feilrettinger:
  • Farget logging konfigurasjon i `tornado.options` er kompatibel med Python 3.2.3 (og 3.3).

Hva er nytt i versjon 2.2.

  • Oppdatert og utvidet WebSocket støtte
  • Forbedret kompatibilitet i Twisted / Tornado bridge.
  • Mal feil nå generere bedre stack spor.
  • Bedre unntakshåndtering i `tornado.gen`.

Hva er nytt i versjon 2.1.1:

  • Feilrettinger:
  • Fast håndtering av lukkede forbindelser med `` epoll`` (dvs. Linux) `` IOLoop``. Tidligere kunne lukkede forbindelser bli stengt for tidlig, som oftest manifestert som & quot; Stream er stengt & quot; unntak i `` SimpleAsyncHTTPClient``.
  • Fikset en sak der du delvis responser kan bli stengt før tiden, fører til avkortet utgang.
  • `` IOStream.connect`` nå rapporterer feil mer konsekvent via logging og det nære tilbakeringing (dette påvirker f.eks tilkoblinger til localhost på FreeBSD).
  • `` IOStream.read_bytes`` igjen kan brukes for både `` int`` og `` long`` argumenter.
  • `` PeriodicCallback`` ikke lenger går gjentatte ganger når `` IOLoop`` gjentakelser full raskere enn oppløsningen av `` time.time () `` (hovedsakelig et problem i Windows).

Hva er nytt i versjon 2.1.0:

  • Diginotar er fjernet fra standard sertifikatorsertifikater fil brukes av `SimpleAsyncHTTPClient`
  • For å lette noen avanserte multi-prosess scenarier, `` HTTPServer`` har en ny metode `` add_sockets``, og socket-åpning koden er tilgjengelig separat som `tornado.netutil.bind_sockets`.
  • Støtte for sikre cookies skrevet av pre-1.0 utgaver av Tornado er fjernet.
  • Windows-støtten er forbedret.

Hva er nytt i versjon 2.0.0:

  • Store endringer:
  • utgang Mal automatisk rømt som standard.
  • Standard AsyncHTTPClient gjennomføringen er nå simple_httpclient.
  • Python 3.2 er nå støttet.
  • Bakoverkompatibilitet:
  • Mal autoescaping er aktivert som standard. Søknader oppgradering fra en tidligere utgave av Tornado må enten deaktivere autoescaping eller tilpasse sine maler for å jobbe med det. For de fleste programmene er den enkleste måten å gjøre dette for å passere autoescape = Ingen av Application konstruktøren.
  • Programmer som ønsker å fortsette å bruke curl_httpclient istedenfor simple_httpclient kan gjøre det ved å ringe AsyncHTTPClient.configure (& quot; tornado.curl_httpclient.CurlAsyncHTTPClient & quot;) på begynnelsen av prosessen. Brukere av Python 2.5 vil sannsynligvis ønske å bruke curl_httpclient som simple_httpclient støtter bare SSL på Python 2.6 +.
  • Python tre kompatibilitet involverte mange endringer i løpet av kodebase, slik at brukerne oppfordres til å teste sine applikasjoner mer grundig enn vanlig når du oppgraderer til denne versjonen.
  • Andre endringer i versjon 4.1:
  • Maler støtter flere nye direktiver: - {% autoescape ...%} for å kontrollere rømmer atferd - {% rå ...%} for avkodet utgang - {% modul ...%} for å kalle UIModules * {% module Mal (sti, ** kwargs)%} kan nå brukes til å ringe en annen mal med en uavhengig navnerom.
  • Alle iostream callbacks er nå kjøres direkte på IOLoop via add_callback.
  • Httpserver støtter nå IPv6 der dette er tilgjengelig. Hvis du vil deaktivere, passerer familie = socket.AF_INET til HTTPServer.bind ().
  • HTTPClient støtter nå IPv6, konfigureres via allow_ipv6 = bool på HTTPRequest. allow_ipv6 standard til falsk på simple_httpclient og sant på curl_httpclient.
  • RequestHandlers kan bruke en annen koding enn UTF-8 for søkeparametere ved å overstyre decode_argument
  • ().
  • Ytelsesforbedringer, spesielt for applikasjoner som bruker mye av IOLoop timeouts.
  • HTTP ALTERNATIVER metoden krever ikke lenger en XSRF token.
  • JSON-utgang (RequestHandler.write (dict)) setter nå Content-Type til application / JSON.
  • ETAG beregning kan nå tilpasses eller deaktiveres ved å overstyre RequestHandler.compute_etag.
  • USE_SIMPLE_HTTPCLIENT miljøvariabelen støttes ikke lenger. Bruk AsyncHTTPClient.configure i stedet.

Hva er nytt i versjon 1.2.1:

  • Denne versjonen inneholder bare to små endringer i forhold til versjon 1.2:
  • FacebookGraphMixin har blitt oppdatert til å jobbe med en nylig endring til Facebook API.
  • Running & quot; setup.py installere & quot; vil ikke lenger forsøke å automatisk installere pycurl. Dette var ikke fungerer godt på plattformer hvor den beste måten å installere pycurl er via noe som apt-get istedenfor easy_install. Dette er en viktig oppgradering hvis du bruker FacebookGraphMixin, men ellers er det trygt kan ignoreres.

Hva er nytt i versjon 1.2.0:

  • Denne utgivelsen inneholder den bakover uforenlig sikkerhet endring fra versjon 1.1.1.
  • Hvis transparent erstatte tornado.httpclient.AsyncHTTPClient med denne nye funksjonen, kan du sette miljøvariabelen USE_SIMPLE_HTTPCLIENT = 1
  • Be om logging er nå gjort av Application snarere enn RequestHandler. Logging atferd kan tilpasses enten ved å overstyre Application.log_request i en underklasse eller ved å sende log_function som programinnstillingen.

Hva er nytt i versjon 1.1.1:

  • Tornado 1.1.1 er en bakover INKOMPATIBEL sikkerhet oppdatering som løser et XSRF sårbarhet.

Hva er nytt i versjon 1.1:

  • Endringer:
  • RequestHandler.async_callback og relaterte funksjoner i andre klasser er ikke lenger nødvendig i de fleste tilfeller (selv om det er ufarlig å fortsette
  • bruke dem). Uoppfanget unntak vil nå føre til forespørselen om å være stengt selv i en tilbakeringing. Hvis du er nysgjerrig på hvordan dette fungerer, kan du se den nye tornado.stack_context modulen.
  • Den nye tornado.testing modulen inneholder støtte for enhetstesting asynkron IOLoop basert kode.
  • AsyncHTTPClient har blitt omskrevet (den nye implementeringen var tilgjengelig som AsyncHTTPClient2 i Tornado 1.0, begge navnene støttes for bakover
  • kompatibilitet).
  • tornado.auth modulen har hatt en rekke oppdateringer, inkludert støtte for OAuth 2.0 og Facebook Graph API, og oppgraderer Twitter og Google støtte til OAuth 1.0a.
  • WebSocket modulen er tilbake og støtter den nyeste versjonen (76) av WebSocket protokollen. Merk at denne modulen grensesnitt er forskjellig fra WebSocket modul som dukket opp i pre-1.0-versjoner av Tornado.
  • Ny metode RequestHandler.initialize () kan overstyres i undergrupper for å forenkle håndtering argumenter fra URLSpecs. Sekvensen av metoder kalt under initialisering er dokumentert ved http://tornadoweb.org/documentation#overriding-requesthandler-methods
  • get_argument () og relaterte metoder nå jobbe på PUT forespørsler i tillegg til POST.
  • httpclient modul støtter nå HTTP proxyer.
  • Når Httpserver drives i SSL-modus, er SSL håndtrykk nå ikke-blokkerende.
  • Mange mindre feilrettinger og dokumentasjonsoppdateringer
  • bakoverkompatibilitet notater:
  • Mens de fleste brukere av Tornado skal slippe å forholde seg til stack_context modul direkte, brukere av arbeider tråden bassenger og lignende konstruksjoner må kanskje bruke stack_context.wrap og / eller NullContext å unngå minnelekkasjer.
  • Den nye AsyncHTTPClient arbeider fortsatt med libcurl versjon 7.16.x, men det fungerer bedre når både libcurl og pycurl er minst versjon 7.18.2.
  • OAuth transaksjoner startet under tidligere versjoner av auth modulen kan ikke fullføres under den nye modulen. Dette gjelder kun for den opprinnelige godkjenningsprosessen; når en autorisert token utstedes som token fungerer med begge versjoner.

Krav

  • Python 2.6 eller nyere

Lignende programvare

NoFlo
NoFlo

11 Mar 16

ComponentJS
ComponentJS

10 Dec 15

TurboGears
TurboGears

10 Dec 15

Decanter
Decanter

13 Apr 15

Annen programvare fra utvikleren Facebook

Jest
Jest

6 Mar 16

XHP
XHP

1 Oct 15

Facebook PHP SDK
Facebook PHP SDK

10 Dec 15

Kommentarer til Tornado

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!