最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Python?WSGI的使用

 更新時間:2023年04月26日 08:52:09   作者:真的不能告訴你我的名字  
WSGI也稱之為web服務(wù)器通用網(wǎng)關(guān)接口,全稱是web?server?gateway?interface。這篇文章主要為大家介紹了Python?WSGI的使用,希望對大家有所幫助

第一次了解pythonWSGI,可能描述的不太準確。

本篇文章所依賴的python環(huán)境為:

什么是WSGI

WSGI也稱之為web服務(wù)器通用網(wǎng)關(guān)接口,全稱是web server gateway interface。它定義了在pythonweb服務(wù)器與web應(yīng)用程序之間應(yīng)該如何通信并且處理http請求和響應(yīng)的一個標準,注意,它只是一個協(xié)議,或者說是規(guī)范、標準,你也可以不按這個標準來,就像我們上一篇文章所寫的web服務(wù)器那樣。

WSGI 也分為應(yīng)用程序 和 服務(wù)器網(wǎng)關(guān), 其中我們熟知的Flask就是屬于應(yīng)用程序,uWSGI、wsgiref屬于服務(wù)器網(wǎng)關(guān)。

個人感覺,WSGI避免了造輪子,事情讓更擅長的人去做,寫服務(wù)器的,那就寫符合WSGI規(guī)范的服務(wù)器就好,如果是寫應(yīng)用端的,就寫符合WSGI規(guī)范應(yīng)用就好。不用在重復(fù)的寫輪子。

除此之外,WSGI還能與傳統(tǒng)web服務(wù)器對接,例如: nginx、apache等進行交互。

WSGI對應(yīng)用程序規(guī)定了什么

WSGI中規(guī)定了其應(yīng)用程序必須是一個可被調(diào)用的對象,通常來說,該對象是一個函數(shù)或者是一個類。 該對象必須接收2個參數(shù),分別是environ字典 和 start_response函數(shù),并且在對象結(jié)束前,應(yīng)該調(diào)用start_response函數(shù)。而函數(shù)應(yīng)該傳參statusheaders,其中status應(yīng)該定義響應(yīng)狀態(tài)碼以及短語,headers應(yīng)該定義響應(yīng)頭。

如果用代碼來闡述的話,應(yīng)該是這樣來寫的:

def application(environ, start_response):
    status = '200 OK'
    headers = [('Content-type', 'text/plain')]
    start_response(status, headers)
    return [b'Hello, world!']

其中,application是一個可迭代的對象,接受了2個參數(shù),一個是environ,其類型是字典,還是一個是start_response,其類型是函數(shù),在application結(jié)束前,應(yīng)該調(diào)用start_response函數(shù),并且傳入statusheaders值。

修改代碼寫出符合WSGI標準的web業(yè)務(wù)層

我們昨天寫的代碼,將返回一個Hello, Destined Person.,我們來看下,如果我們使用WSGI標準來寫業(yè)務(wù)層,我們應(yīng)該如何定義,并且如何調(diào)用WSGI服務(wù)器。

import wsgiref.simple_server

def application(environ,start_response):
    status = "299 OK"
    headers = [("Content-type","text/html"),("Server","pdudo_web_sites")]
    start_response(status ,headers)
    
    return [b'Hello, Destined person."]
    
s = wsgiref.simple_server.make_server('',8888,application)
s .serve_forever()

上述,我們引入了一個符合WSGI的服務(wù)器: wsgiref.simple_server,我們僅需按照WSGI的標準來編寫業(yè)務(wù)層,也就是上述的application即可。我們在定義狀態(tài)碼的時候,估計將其設(shè)置為299 OK,在設(shè)置請求頭的時候,設(shè)置了一個Serverpdudo_web_sites

我們使用curl請求一下服務(wù)器。

發(fā)現(xiàn),哦,只要按照WSGI規(guī)范來書寫,就可以很輕容的寫一個簡單的服務(wù)器。

總結(jié)

本篇文章,介紹了什么是WSGI以及現(xiàn)在程序員寫pythonweb框架為什么要符合WSGI,最后我們寫了一個業(yè)務(wù)函數(shù),將其放到符合WSGI標準的服務(wù)器wsgiref上。文章寫的很亂,不是很好。

到此這篇關(guān)于淺析Python WSGI的使用的文章就介紹到這了,更多相關(guān)Python WSGI內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python壓縮和解壓縮zip文件的教程

    使用Python壓縮和解壓縮zip文件的教程

    這篇文章主要介紹了使用Python壓縮和解壓縮zip文件的教程,主要用到了zipfile包,需要的朋友可以參考下
    2015-05-05
  • Python?boxplot?用法詳解

    Python?boxplot?用法詳解

    這篇文章主要介紹了Python?boxplot?用法詳解,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • python爬蟲解決驗證碼的思路及示例

    python爬蟲解決驗證碼的思路及示例

    這篇文章主要介紹了python爬蟲解決驗證碼的思路及示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Pytorch中torch.nn.Softmax的dim參數(shù)用法說明

    Pytorch中torch.nn.Softmax的dim參數(shù)用法說明

    這篇文章主要介紹了Pytorch中torch.nn.Softmax的dim參數(shù)用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python爬蟲運用正則表達式的方法和優(yōu)缺點

    Python爬蟲運用正則表達式的方法和優(yōu)缺點

    這篇文章主要給大家介紹了關(guān)于Python爬蟲運用正則表達式的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 總結(jié)Python編程中三條常用的技巧

    總結(jié)Python編程中三條常用的技巧

    這篇文章主要介紹了總結(jié)Python編程中三條常用的技巧,包括JSON格式的轉(zhuǎn)換、else語句的活用和setdefault方法的使用,需要的朋友可以參考下
    2015-05-05
  • django filters實現(xiàn)數(shù)據(jù)過濾的示例代碼

    django filters實現(xiàn)數(shù)據(jù)過濾的示例代碼

    這篇文章主要介紹了django filters實現(xiàn)數(shù)據(jù)過濾的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python3個性簽名設(shè)計實現(xiàn)代碼

    python3個性簽名設(shè)計實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了python3個性簽名設(shè)計的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python中zip函數(shù)如何使用

    Python中zip函數(shù)如何使用

    在本篇文章里小編給大家分享的是關(guān)于Python中的zip函數(shù)用法,需要的朋友們可以學(xué)習(xí)參考下。
    2020-06-06
  • pytorch和tensorflow計算Flops和params的詳細過程

    pytorch和tensorflow計算Flops和params的詳細過程

    這篇文章主要介紹了pytorch和tensorflow計算Flops和params,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08

最新評論

泌阳县| 永修县| 平远县| 拉萨市| 德格县| 神农架林区| 贵州省| 辉县市| 嘉定区| 明溪县| 密山市| 大埔区| 新田县| 抚远县| 宜兰县| 拜城县| 平顶山市| 杨浦区| 皋兰县| 礼泉县| 嘉祥县| 临澧县| 吉林省| 嘉义市| 进贤县| 广南县| 三门县| 重庆市| 盐津县| 巨鹿县| 奉新县| 遂宁市| 富蕴县| 铁岭县| 高密市| 弥勒县| 乌恰县| 陵川县| 沭阳县| 焦作市| 万宁市|