亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺析Python?WSGI的使用

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

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

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

什么是WSGI

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

WSGI 也分為應用程序 和 服務器網關, 其中我們熟知的Flask就是屬于應用程序,uWSGIwsgiref屬于服務器網關。

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

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

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

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

如果用代碼來闡述的話,應該是這樣來寫的:

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

其中,application是一個可迭代的對象,接受了2個參數,一個是environ,其類型是字典,還是一個是start_response,其類型是函數,在application結束前,應該調用start_response函數,并且傳入statusheaders值。

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

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

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

我們使用curl請求一下服務器。

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

總結

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

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

相關文章

  • Django中間件實現攔截器的方法

    Django中間件實現攔截器的方法

    今天小編就為大家分享一篇Django中間件實現攔截器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python 對象真假值的實例(哪些視為False)

    python 對象真假值的實例(哪些視為False)

    這篇文章主要介紹了python 對象真假值的實例(哪些視為False),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 基于python生成詞云圖的代碼示例

    基于python生成詞云圖的代碼示例

    這篇文章主要個介紹了如何基于python生成詞云圖的代碼示例,文中有詳細的代碼示例喝圖文講解,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • Python操作Word批量生成文章的方法

    Python操作Word批量生成文章的方法

    這篇文章主要介紹了Python操作Word批量生成文章的方法,需要的朋友可以參考下
    2015-07-07
  • Python 類與元類的深度挖掘 II【經驗】

    Python 類與元類的深度挖掘 II【經驗】

    元類在 Python 中屬于比較深層的黑魔法,在一般的日常應用中可能并不常用,但理解其背后的原理對于理解 Python 面向對象編程以及一切皆為對象的理念很有幫助;如果你需要對類進行深度改造,至少要知道從何入手。
    2016-05-05
  • 初識python的numpy模塊

    初識python的numpy模塊

    這篇文章主要介紹了初識python的numpy模塊,Numpy基于更加現代化的編程語言--python,python憑借著開源、免費、靈活性、簡單易學、工程特性好等特點風靡技術圈,已經成為機器學習、數據分析等領域的主流編程語言,需要的朋友可以參考下
    2022-05-05
  • python實現反轉部分單向鏈表

    python實現反轉部分單向鏈表

    這篇文章主要為大家詳細介紹了python實現反轉部分單向鏈表,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 使用Python的xlwings操作Excel的屬性和方法

    使用Python的xlwings操作Excel的屬性和方法

    這篇文章主要介紹了使用Python的xlwings操作Excel的屬性和方法,xlwings?是?Python?操作?Excel?的庫之一,主要作為兩門語言的交互工具,是python?操作excel比較成熟、杰出的庫,調用簡單方便,而且功能強大,需要的朋友可以參考下
    2023-07-07
  • Python中無限元素列表的實現方法

    Python中無限元素列表的實現方法

    這篇文章主要介紹了Python中無限元素列表的實現方法,很實用的功能,需要的朋友可以參考下
    2014-08-08
  • 使用python爬取taptap網站游戲截圖的步驟

    使用python爬取taptap網站游戲截圖的步驟

    這篇文章主要介紹了使用python爬取taptap游戲截圖的步驟,幫助大家更好的理解和學習使用python進行爬蟲,感興趣的朋友可以了解下
    2021-05-05

最新評論