中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WSGI有什么作用

發布時間:2022-01-17 15:45:58 來源:億速云 閱讀:152 作者:iii 欄目:大數據

這篇文章主要講解了“WSGI有什么作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“WSGI有什么作用”吧!

一個完整的 Web 應用包含兩部分,一個是服務器程序(Server),一個是應用程序(Application),服務器程序負責接收瀏覽器發送過來的請求,應用程序負責處理具體的業務邏輯。 比如我基于 Django 框架開發一個博客應用,部署在生產環境時會用 Gunicorn 或者 Uwsgi 作為服務器程序。

Python 中 Web 框架非常多,Flask、Django、Bottle、Pyramid、Tornado 等等,甚至你也自己也可以造一個 Web 框架,那么這么多框架,為什么他們都可以用 Gunicorn 或者 Uwsgi 來部署呢?

答案就是 WSGI 規范。

WSGI 不是框架,也不是一個模塊,而是介于 Web應用程序(Web框架)與 Web Server 之間交互的一種規范。只要大家都遵循WSGI規范實現 Web 框架,就可以 使用 Gunicorn 來運行,規范最早在 PEP333 中被提出。

WSGI有什么作用

WSGI 規定了Web服務器(Server)和應用程序(Application)雙方各自需要實現什么接口,以便兩者能完美的配合使用,這個和 USB Type-C 規范很像, 只要手機和充電線都遵循了 Type-C 接口規范, 大家的充電線就可以復用,不同的是充電誰快誰慢的問題,而蘋果沒有遵循Type-C規范,所以只有他自家的線才能充蘋果手機。

現在你應該差不多理解什么是WSGI了,那么 WSGI 對應用程序是如何規范的呢? 很簡單,你只需要寫一個符合以下格式的函數即可:

def app(environ, start_response):
   start_response("200 OK", [("Content-Type","text/html")])
   return ["Hello world!\n"]

這個函數必須接收兩個參數,environ 是一個類似字典的數據結構,封裝了瀏覽器的請求數據。 start_response 是一個函數,必須在app 里面調用,參數就是狀態碼和響應內容的類型。app 的返回值就是請求的響應數據。 最終 app 是被 server 來調用的。

現在我們用 Python 內建的 http server 來啟動這個程序


from wsgiref.simple_server import make_server

if __name__ == "__main__":
   httpd = make_server("", 8000, app)
   print("Serving http on port 8000")
   httpd.serve_forever()





啟動,訪問地址:

WSGI有什么作用

感謝各位的閱讀,以上就是“WSGI有什么作用”的內容了,經過本文的學習后,相信大家對WSGI有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屏东市| 德保县| 德惠市| 淮滨县| 奇台县| 稻城县| 柳州市| 大田县| 灌云县| 丰原市| 安顺市| 肇庆市| 朝阳区| 会理县| 中阳县| 清镇市| 读书| 栾川县| 定日县| 密山市| 隆回县| 正宁县| 嘉荫县| 凤山县| 巴塘县| 富顺县| 盈江县| 平昌县| 柞水县| 礼泉县| 叙永县| 高青县| 二连浩特市| 衡水市| 元阳县| 林州市| 托克逊县| 南昌市| 资讯| 上犹县| 通江县|