WSGI是個啥?大白話告訴你wsgi做了什么!


定義:

官方定義:wsgi是Web服務器網關接口(Python Web Server Gateway Interface,縮寫為WSGI)是為Python語言定義的Web服務器和Web應用程序或框架之間的一種簡單而通用的接口。
大白話:wsgi就是一種規范,提供了一種標准,一種sever與application之間的一種標准,它定義了使用web應用程序與Python編寫的web服務器程序之間的接口格式,實現web應用程序與web服務器程序間的解耦。

web應用的本質:

  1. 瀏覽器發送一個HTTP請求;
  2. 服務器收到請求,生成一個HTML文檔;
  3. 服務器把HTML文檔作為HTTP響應的Body發送給瀏覽器;
  4. 瀏覽器收到HTTP響應,從HTTP Body取出HTML文檔並顯示。

WSGI接口工作流程

總結

wsgi就是一種規范,它定義了使用web應用程序與Python編寫的web服務器程序之間的接口格式.無論多么復雜的Web應用程序,入口都是一個WSGI處理函數。HTTP請求的所有輸入信息都可以通過environ獲得,HTTP響應的輸出都可以通過start_response()加上函數返回值作為Body。
Flask中的werkzeug工作原理類似.

多說一點uwsgi

uWSGI是一個Web服務器,它實現了WSGI協議、uwsgi、http等協議。Nginx中HttpUwsgiModule的作用是與uWSGI服務器進行交換
要注意 WSGI / uwsgi / uWSGI 這三個概念的區分。

  • WSGI是一種通信協議。
  • uwsgi是一種線路協議而不是通信協議,在此常用於在uWSGI服務器與其他網絡服務器的數據通信。
  • 而uWSGI是實現了uwsgi和WSGI兩種協議的Web服務器。

--個人理解,多多指教


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM