国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

淺析Python 中的 WSGI 接口和 WSGI 服務(wù)的運(yùn)行

瀏覽:113日期:2022-07-02 17:14:21

HTTP格式HTTP GET請求的格式:

GET /path HTTP/1.1Header1: Value1Header2: Value2Header3: Value3

每個(gè)Header一行一個(gè),換行符是rn。

HTTP POST請求的格式:

POST /path HTTP/1.1Header1: Value1Header2: Value2Header3: Value3body data goes here...

當(dāng)遇到連續(xù)兩個(gè)rn時(shí),Header部分結(jié)束,后面的數(shù)據(jù)全部是Body。

HTTP響應(yīng)的格式:

200 OKHeader1: Value1Header2: Value2Header3: Value3body data goes here...

HTTP響應(yīng)如果包含body,也是通過rnrn來分隔的。需注意,Body的數(shù)據(jù)類型由Content-Type頭來確定,如果是網(wǎng)頁,Body就是文本,如果是圖片,Body就是圖片的二進(jìn)制數(shù)據(jù)。

當(dāng)存在Content-Encoding時(shí),Body數(shù)據(jù)是被壓縮的,最常見的壓縮方式是gzip。

WSGI接口WSGI:Web Server Gateway Interface。

WSGI接口定義非常簡單,只需要實(shí)現(xiàn)一個(gè)函數(shù),就可以響應(yīng)HTTP請求。

# hello.pydef application(environ, start_response): start_response(’200 OK’, [(’Content-Type’, ’text/html’)]) body = ’<h1>Hello, %s!</h1>’ % (environ[’PATH_INFO’][1:] or ’web’) return [body.encode(’utf-8’)]

函數(shù)接收兩個(gè)參數(shù):

environ:一個(gè)包含所有HTTP請求信息的dict對象; start_response:一個(gè)發(fā)送HTTP響應(yīng)的函數(shù)。

運(yùn)行WSGI服務(wù)Python內(nèi)置了一個(gè)WSGI服務(wù)器,這個(gè)模塊叫wsgiref,它是用純Python編寫的WSGI服務(wù)器的參考實(shí)現(xiàn)。

# server.pyfrom wsgiref.simple_server import make_serverfrom hello import application# 創(chuàng)建一個(gè)服務(wù)器,IP地址為空,端口是8000,處理函數(shù)是application:httpd = make_server(’’, 8000, application)print(’Serving HTTP on port 8000...’)# 開始監(jiān)聽HTTP請求:httpd.serve_forever()

在命令行輸入python server.py即可啟動WSGI服務(wù)器。

啟動成功后,打開瀏覽器,輸入http://localhost:8000/,即可看到結(jié)果。

按Ctrl+C可以終止服務(wù)器。

以上就是淺析Python 中的 WSGI 接口和 WSGI 服務(wù)的運(yùn)行的詳細(xì)內(nèi)容,更多關(guān)于Python WSGI接口和WSGI服務(wù)的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 策勒县| 乐东| 淮滨县| 西贡区| 康乐县| 呼玛县| 明光市| 赫章县| 周至县| 茶陵县| 昌黎县| 南京市| 长葛市| 五大连池市| 南郑县| 呼和浩特市| 汉阴县| 扎赉特旗| 贵定县| 临漳县| 琼中| 和平区| 苍南县| 平阴县| 万源市| 临邑县| 新平| 南昌市| 若尔盖县| 玉环县| 布尔津县| 习水县| 阳城县| 渭南市| 玉龙| 西贡区| 富源县| 永康市| 易门县| 张家川| 宁河县|