Web Server Gateway Interface (WSGI)

อะไรคือ WSGI  .. จากความหมายที่ Wiki ว่าไว้

defines a simple and universal interface between web servers and web applications or frameworks for the Python programming language.

… Python applications were often designed for only one of CGI, FastCGI, mod_python or some other custom API interface of a specific web-server.

กล่าวคือ เพื่อแก้ไขปัญหาความไม่ Transparency ระหว่าง Webapp กับ Web Server ในการเชื่อม(ดังตัวอย่าง) จึงคิด API กลางขึ้นมา .. WSGI

เรามีตัวละครสองฝั่งคือ WGSI Server — Gateway กับ WSGI Application — Frameworkซึ่งมีกติการคือ

  • มีการ Implement WGSI Middle Ware ทั้งสองฝั่ง
  • Server มองฝั่ง Framework ว่าเป็น Application เรียกใช้
  • การเรียกใช้ ทำผ่านการ Call URL ผลลัพธ์ .. มีการเปลี่ยนของ Server Environment Variable

ยังไม่เห็นภาพอยู่ดี .. ลองไปดูต่อที่

If you are too lazy to read the pep 333 here’s a short summary:

  • WSGI application are callable python objects (functions or classes with a __call__ method that are passed two arguments: a WSGI environment as first argument and a function that starts the response.
  • the application has to start a response using the function provided and return an iterable where each yielded item means writing and flushing.
  • The WSGI environment is like a CGI environment just with some additional keys that are either provided by the server or a middleware.
  • you can add middlewares to your application by wrapping it.

ถ้าชัดเจนขึ้นแล้วจะมาเขียนต่อครับ

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s