最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

001. Flask + Hypercorn 搭建 HTTP2 服務(wù)器

2023-01-01 14:47 作者:姚千山  | 我要投稿

框架介紹

Flask 是一個(gè)輕量級的 Python Web 框架,Hypercorn 是一個(gè)使用 asyncio 的 Python WSGI 服務(wù)器??梢允褂眠@兩個(gè)工具來搭建一個(gè)支持 HTTP2 的 Web 服務(wù)器。

環(huán)境介紹

系統(tǒng):Windows 10

Python:3.10.0

瀏覽器:Microsoft Edge(版本 107.0.1418.35)

搭建步驟

首先,需要安裝 Flask 和 Hypercorn:

然后,你可以創(chuàng)建一個(gè) Flask 應(yīng)用來處理 HTTP 請求。例如,可以使用以下代碼創(chuàng)建一個(gè)簡單的 Flask 應(yīng)用:

接下來,你可以使用 Hypercorn 來啟動你的 Flask 應(yīng)用。例如,可以使用以下代碼啟動服務(wù)器:

此時(shí)通過瀏覽器訪問?http://127.0.0.1:443?來訪問你的?Flask 應(yīng)用了,你將看到一個(gè) HelloWorld 界面。

簡單demo訪問效果

打開控制臺的網(wǎng)絡(luò)面板,勾選標(biāo)題選項(xiàng)的協(xié)議,查看當(dāng)前HTTP協(xié)議發(fā)現(xiàn)并未啟用HTTP2。


仍為HTTP1.1協(xié)議

這是因?yàn)?,你需要在服?wù)器上安裝 SSL 證書才能啟用 HTTP2。你可以使用 Let's Encrypt 或其他方式來獲取 SSL 證書(以后我會寫一篇文章專門講解)。然后,可以使用以下代碼來配置 Hypercorn:

這樣,你就可以通過瀏覽器訪問?https://127.0.0.1?來訪問你的?Flask 應(yīng)用了,效果如下:

已啟用HTTPS

已啟用HTTP2


附:SSL Error處理

使用Hypercorn時(shí),在與客戶端進(jìn)行 SSL 握手期間,可能會引發(fā) SSLError 。這些錯誤由 asyncio 的?Event Loop 處理,并通過 Loop 的異常處理程序報(bào)告(通常直接拋出)。要忽略(或處理)這些錯誤,需要配置 Event?Loop 的異常處理程序。

關(guān)于這個(gè)問題,Hypercorn 作者?pgjones 回答如下:

This is a Hypercorn issue - I don't think it causes any noticeable problems though? As I understand it Hypercorn tries to send information after the socket has closed and things then error and Hypercorn restarts on the next request. If it is problematic try using Uvicorn until this is fixed.

延伸閱讀

  1. 為什么使用HTTP2?:https://www.cnblogs.com/jesse131/p/11529931.html

  2. asyncio 事件循環(huán)錯誤處理API:https://docs.python.org/zh-cn/3/library/asyncio-eventloop.html#error-handling-api

  3. Hypercorn 文檔地址:https://hypercorn.readthedocs.io/en/latest/index.html

  4. Hypercorn?Github 地址:https://github.com/pgjones/hypercorn


001. Flask + Hypercorn 搭建 HTTP2 服務(wù)器的評論 (共 條)

分享到微博請遵守國家法律
乌兰察布市| 龙胜| 黑水县| 栖霞市| 乐业县| 临沭县| 宜城市| 游戏| 江口县| 北海市| 名山县| 遂溪县| 武汉市| 安龙县| 东安县| 洞头县| 全椒县| 镇宁| 汉川市| 乌拉特中旗| 鹿邑县| 宜丰县| 新干县| 天气| 东山县| 栖霞市| 三穗县| 昌邑市| 石屏县| 曲周县| 台州市| 米林县| 慈利县| 彰化县| 颍上县| 和顺县| 长汀县| 白朗县| 洱源县| 南开区| 广东省|