2019-07-17

解析動態(tài)請求


WSGI

WSGI允許開發(fā)者將選擇web框架和web服務器分開??梢曰旌掀ヅ鋡eb服務器和web框架,選擇一個適合的配對。

web服務器必須具備WSGI接口,所有的現(xiàn)代Python Web框架都已具備WSGI接口,它讓你不對代碼作修改就能使服務器和特點的web框架協(xié)同工作。

定義WSGI接口

WSGI接口定義非常簡單,它只要求Web開發(fā)者實現(xiàn)一個函數(shù),就可以響應HTTP請求。我們來看一個最簡單的Web版本的“Hello World!”:

defapplication(environ, start_response):start_response('200 OK', [('Content-Type','text/html')])return'Hello World!'

上面的application()函數(shù)就是符合WSGI標準的一個HTTP處理函數(shù),它接收兩個參數(shù):

environ:一個包含所有HTTP請求信息的dict對象;

start_response:一個發(fā)送HTTP響應的函數(shù)。

整個application()函數(shù)本身沒有涉及到任何解析HTTP的部分,也就是說,把底層web服務器解析部分和應用程序邏輯部分進行了分離,這樣開發(fā)者就可以專心做一個領域了

不過,等等,這個application()函數(shù)怎么調(diào)用?如果我們自己調(diào)用,兩個參數(shù)environ和start_response我們沒法提供,返回的str也沒法發(fā)給瀏覽器。

所以application()函數(shù)必須由WSGI服務器來調(diào)用。有很多符合WSGI規(guī)范的服務器。而我們此時的web服務器項目的目的就是做一個既能解析靜態(tài)網(wǎng)頁還可以解析動態(tài)網(wǎng)頁的服務器


?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 談論WEB編程的時候常說天天在寫CGI,那么CGI是什么呢?可能很多時候并不會去深究這些基礎概念,再比如除了CGI...
    __七把刀__閱讀 2,304評論 2 11
  • WSGI的全稱是Web Server Gateway Interface,翻譯過來就是Web服務器網(wǎng)關接口。具體的...
    iqunqunqun閱讀 20,538評論 1 18
  • HTTP協(xié)議之梗概 程序員必修課,今天我們一起來鞏固網(wǎng)絡知識吧。 了解web及網(wǎng)絡基礎 1. Web建立在什么技術...
    Emma_蟲兒閱讀 1,125評論 0 0
  • 在web服務器運行中,為了防止請求的文件打開有異常,要在判斷文件是否以“.py”結尾之后加上異常調(diào)試。 搜索到了一...
    菩靈閱讀 372評論 0 3
  • 《皮鞋》這部電影10月17日全國公映,演員陣容就像他的名字,從導演到主演,從制片人到群演,幾乎全都名不見經(jīng)傳,甚至...
    零點好信息閱讀 354評論 0 1

友情鏈接更多精彩內(nèi)容