Tornado

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

Rating: 3.0/5 (Total Votes: 2)

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

Lift
Lift

1 Mar 15

Neptune
Neptune

28 Feb 15

Nette Framework
Nette Framework

10 Feb 16

Flight
Flight

1 Mar 15

Annen programvare fra utvikleren Facebook

Facebook PHP SDK
Facebook PHP SDK

10 Dec 15

Jest
Jest

6 Mar 16

HHVM
HHVM

5 Jun 15

Kommentarer til Tornado

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