Tanulja meg a WSGI-t, és hagyja, hogy Python izzadjon a kis dolgokon

Közzététel: Támogatása segít fenntartani a webhely működését! Az ezen az oldalon javasolt szolgáltatások némelyikén referenciadíjat keresünk.


A nap folyamán a Pythonban a webes alkalmazások fejlesztése problémás volt, mivel a fejlesztőknek különös gondot kellett fordítaniuk és meg kellett győződniük arról, hogy webes alkalmazásuk zavartalanul működik-e a különféle webszerverekön és a Python különféle webes keretein. Egy adott Python webes keret választása az alkalmazás fejlesztése során korlátozta a kompatibilis webszerverek választását, amelyek képesek a kész alkalmazás futtatására.

A webszerver átjáró felületét (WSGI) vezették be a probléma megoldására. A WSGI egy szabványos interfész specifikációja a webszerverek és a Python webes keretek vagy alkalmazások közötti kommunikációhoz. Ha egy alkalmazás vagy keretrendszer megfelel a WSGI-specifikációnak, akkor az az ugyanazt a specifikációt támogató webkiszolgálón fut..

Természetesen a Python nem az egyetlen programozási nyelv, amelynek szabványos interfész-specifikációja van. Sok modern programozási nyelv ugyanazt a megközelítést használja, így például a Ruby a saját Rack szerver felületét használja, a JavaScript a JSGI átjáró felületére támaszkodik, míg a Perl a PSGI-t használja..

Rövid története

A WSGI specifikációt eredetileg a Python Enhancement 333 javaslatban (PEP 333) vezette be, amelyet Phillip J Eby írt, és 2003 decemberében tette közzé. Ez a WSGI eredeti tervezet meghatározta a WSGI alapelveit és céljait – könnyen megvalósíthatónak kellett lennie. , egyszerű és univerzális, és meg kellett könnyítenie a meglévő szerverek és keretek könnyű összekapcsolását.

A WSGI-t gyorsan átvette a Python szerver és keretkészítők, valamint a fejlesztők, és ez vált a Python webalkalmazás-fejlesztés de facto szabványává. A WSGI specifikáció legújabb verziója a V1.0.1, amelyet a PEP 3333-ban publikáltak 2010. szeptember 26-án.

WSGI specifikáció áttekintése

A WSGI specifikáció három konkrét szerepet deklarál: a szerveroldalt, az alkalmazásoldalt és a köztes szoftverösszetevőt, amely a felület szerver- és alkalmazásoldalát is megvalósítja.

Az alkalmazás oldala

A WSGI alkalmazás oldala egy egyszerű objektum, amely két érvet fogad el, és kódból meghívható. Ez a példa egy egyszerű WSGI alkalmazást mutat, amely statikus „Hello world!” oldal:

def simple_app (environ, start_response):
status = ‘200 OK’
response_headers = [(‘Content-type’, ‘text / sima’)]
kezdő válasz (állapot, válasz_ fejlécek)
vissza [‘Hello world! n’]

Az alkalmazásoldali objektumok többször is meghívhatók, mivel minden kiszolgáló ilyen ismételt kéréseket tesz.

A szerver oldala

A WSGI szerver oldala egyszerűen megkapja a kéréseket a HTTP klienstől, minden kérésre egyszer felhívja az alkalmazást, és az alkalmazás által visszaadott választ elküldi az ügyféllel.

A köztes szoftver alkotóeleme

A WSGI specifikációban meghatározott köztes szoftverek összetevői a felület mindkét oldalát használják – az alkalmazás oldalát, valamint a szerver oldalát is. A köztes szoftverek funkciói mind a szerver, mind az alkalmazás oldalára átláthatók.

A köztes szoftver alkotóelemei általában olyan funkciókat készítenek elő, mint a kérések átirányítása különböző alkalmazásobjektumokra a cél URL alapján, lehetővé téve, hogy több alkalmazás egymás mellett futhasson ugyanabban a folyamatban. Lehetővé teszik a terheléselosztást, a távoli feldolgozást vagy a tartalom utófeldolgozását.

Ez a példa egy egyszerű köztes szoftverösszetevőt mutat be, amely nagybetűvel mindent megkap:

osztály felső szoftver:
def __init __ (önálló, alkalmazás):
self.wrapped_app = alkalmazás

def __call __ (ön, környezet, start_response):
az önálló csomagolt alkalmazásban lévő adatokhoz (környezet, kezdő válasz):
return data.upper ()

A WSGI használata

A WSGI-t a Python webalkalmazás-fejlesztés standardjának tekintik. A Python 2.5-es verziója és az azt követő kiadások beágyazott WSGI-támogatást kínálnak. A Python 2.4 és korábbi verziói esetén a WSGI támogatás külön telepíthető. A PES 3333-ban bejelentett WSGI-specifikáció frissített változata elérhető a Python 3-hoz.

Ha webes alkalmazásokat fejleszt a Python-ban, egyszerűen használjon egy iparágban bevált szabványt, mint például a Django, a Flask vagy a Bottle Python webes keretrendszert, vagy bármely más jelenlegi Python-keretet. Az alkalmazások készítéséhez nem szükséges sokat tanulni a WSGI-specifikációról. Csak használjon bármilyen jelenlegi generációs webes alkalmazási keretet, és tisztában kell lennie velük, mivel mind támogatják a WSGI-t.

Másrészt, ha Ön saját magának fejleszti ki az új webes alkalmazási keretet, akkor feltétlenül érdemes átnéznie a WSGI specifikációt, és nézzen meg néhány tanulási forrást a WSGI számára..

WSGI források

Ha többet szeretne megtudni a WSGI-ről, javasoljuk, hogy vessen egy pillantást a következő online forrásokra:

  • A WSGI közösségi webhely nyilvánvalóan az első látogatott hely. Számos hasznos forrást találhat, és van egy szép Tudnivalók a WSGI-ről is. Ez a webhely felsorolja azokat a kereteket és kiszolgálókat is, amelyek támogatják a WSGI-t.
  • További információt a teljes Python Enhancement javaslat 333-ban és a Python Enhancement javaslat 3333-ban is olvashat.
  • A Pylons webfejlesztési keretrendszer online dokumentációjának nagyon szép és részletes része van a WSGI-ről.
  • A Codepoint WSGI-bemutatója néhány egyszerű példával bemutatja a WSGI-specifikációt a munka során.

WSGI Books

Nehéz olyan könyveket készíteni, amelyek kifejezetten a WSGI-t lefedik, és általában a WSGI-vel foglalkozó fejezeteket találsz különböző Python webalkalmazás-programozási könyvekben, mint például:

  • A Python hálózati programozás alapjai: Goerzen, Bower és Rhodes átfogó útmutatója a Pythonlal történő hálózati alkalmazások összeállításához: A webes alkalmazások programozására vonatkozó fejezet mind a WSGI szabványt tartalmazza az alkatrészek átjárhatóságára, mind a modern webes keretekre, mint például a Django.

Következtetés

A WSGI létfontosságú Python-specifikáció, de a valóságban a legtöbb Python-fejlesztőnek nem kell ezzel aggódnia. Mindaddig, amíg egy nagy keretet használnak, akkor részesülnek a WSGI előnyeiből, anélkül, hogy második gondolatot adnának neki. Más szavakkal: a legtöbb fejlesztő nem követeli meg a WSGI megismerését, mivel a specifikációt minden nagyobb Python-keretrendszerbe beépítették.

Ugyanakkor a WSGI továbbra is releváns, bár ez nem előfeltétele a Python programozásnak. Figyelemre méltó kivétel azok a szoftvermérnökök, akik a Python-alkalmazások helyett Python-keretek mellett döntnek. Ami a WSGI-t illeti, elengedhetetlen személlyel kell rendelkezniük, és ismerniük kell a WSGI hibáit és hátrányait, ha azt remélik, hogy beillesztik a keretébe..

Ez nyilvánvalóan (nagyon) szűk rés, de ez nem jelenti azt, hogy a WSGI fejlesztése megállt. Ez azt jelenti, hogy a közösség nem nagy, de ott van.

További olvasmányok és források

Több útmutató, oktatóanyag és infographics található a kódoláshoz és fejlesztéshez:

  • Python bevezetés, források és GYIK: ha még nem ismeri a Python programot, akkor ez a bevezetés segít.
  • MPI – Bevezetés, előzmények és források: Az MPI (Message Passing Interface) lehetővé teszi a programok és más számítógépes rendszerek számára, hogy üzeneteket küldjenek egymásnak.
  • Bevezetés a Linux programozáshoz és források: Ez a mély merülés a Linux programozásába belekerül a rendszermagba, ahol minden művelet elvégezhető.

Milyen kódot kell megtanulnia?

Zavaros abban, hogy milyen programozási nyelvet kell megtanulnia a kódoláshoz? Nézze meg infográfunkat, Milyen kódot kell megtanulnia? Nemcsak a nyelvek különféle aspektusait tárgyalja, hanem olyan fontos kérdéseket is megválaszol, mint például: “Mennyit fogok pénzt keresni a Java megélhetéséhez?”

Milyen kódot kell megtanulnia?
Milyen kódot kell megtanulnia?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map