最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年12月09日 09:05:39   作者:小伍  
這篇文章主要介紹了Python 中的 WSGI 接口和 WSGI 服務(wù)的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

HTTP格式
HTTP GET請求的格式:

GET /path HTTP/1.1
Header1: Value1
Header2: Value2
Header3: Value3

每個Header一行一個,換行符是\r\n

HTTP POST請求的格式:

POST /path HTTP/1.1
Header1: Value1
Header2: Value2
Header3: Value3

body data goes here...

當遇到連續(xù)兩個\r\n時,Header部分結(jié)束,后面的數(shù)據(jù)全部是Body。

HTTP響應的格式:

200 OK
Header1: Value1
Header2: Value2
Header3: Value3

body data goes here...

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

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

WSGI接口
WSGI:Web Server Gateway Interface。

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

# hello.py

def 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ù)接收兩個參數(shù):

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

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

# server.py

from wsgiref.simple_server import make_server
from hello import application

# 創(chuàng)建一個服務(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ù)的運行的詳細內(nèi)容,更多關(guān)于Python WSGI接口和WSGI服務(wù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實現(xiàn)二叉樹結(jié)構(gòu)與進行二叉樹遍歷的方法詳解

    Python實現(xiàn)二叉樹結(jié)構(gòu)與進行二叉樹遍歷的方法詳解

    二叉樹是最基本的數(shù)據(jù)結(jié)構(gòu),這里我們在Python中使用類的形式來實現(xiàn)二叉樹并且用內(nèi)置的方法來遍歷二叉樹,下面就讓我們一起來看一下Python實現(xiàn)二叉樹結(jié)構(gòu)與進行二叉樹遍歷的方法詳解
    2016-05-05
  • Python?日期和時間處理教程之datetime?模塊的使用示例詳解

    Python?日期和時間處理教程之datetime?模塊的使用示例詳解

    Python 中的日期不是獨立的數(shù)據(jù)類型,但我們可以導入一個名為 datetime 的模塊來使用日期作為日期對象,這篇文章主要介紹了Python?日期和時間處理教程:datetime?模塊的使用,需要的朋友可以參考下
    2023-10-10
  • 序列化Python對象的方法

    序列化Python對象的方法

    這篇文章主要介紹了序列化Python對象的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • Python中高階函數(shù)的小實踐分享

    Python中高階函數(shù)的小實踐分享

    這篇文章主要為大家介紹了一些Python中高階函數(shù)的小實踐,文中的示例代碼講解詳細,對我們深入學習Python有一定的幫助,需要的可以參考下
    2023-05-05
  • Django中的Signal代碼詳解

    Django中的Signal代碼詳解

    這篇文章主要介紹了Django中的Signal代碼詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • PyQt5基本控件使用之消息彈出、用戶輸入、文件對話框的使用方法

    PyQt5基本控件使用之消息彈出、用戶輸入、文件對話框的使用方法

    本文主要介紹PyQt界面實現(xiàn)中常用的消息彈出對話框、提供用戶輸入的輸入框、打開文件獲取文件/目錄路徑的文件對話框。 本文主要針對這三種控件的主要場景進行介紹。感興趣的朋友跟隨小編一起看看吧
    2019-08-08
  • tensorflow1.0學習之模型的保存與恢復(Saver)

    tensorflow1.0學習之模型的保存與恢復(Saver)

    這篇文章主要介紹了tensorflow1.0學習之模型的保存與恢復(Saver) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Python中l(wèi)ogging日志記錄到文件及自動分割的操作代碼

    Python中l(wèi)ogging日志記錄到文件及自動分割的操作代碼

    這篇文章主要介紹了Python中l(wèi)ogging日志記錄到文件及自動分割,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Python輕松更換國內(nèi)鏡像源的三種方法推薦

    Python輕松更換國內(nèi)鏡像源的三種方法推薦

    在使用Python進行開發(fā)的時候,很多人都知道,國內(nèi)的網(wǎng)絡(luò)環(huán)境有時候會讓我們在安裝包時遇到一些麻煩,下面小編就來和大家分享三種實用的方法輕松解決這一問題吧
    2025-03-03
  • 如何利用python批量提取txt文本中所需文本并寫入excel

    如何利用python批量提取txt文本中所需文本并寫入excel

    最近幫人寫了幾個小程序,所以記錄下,下面這篇文章主要給大家介紹了關(guān)于如何利用python批量提取txt文本中所需文本并寫入excel的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07

最新評論

清远市| 班戈县| 清新县| 石楼县| 即墨市| 万山特区| 万盛区| 锦屏县| 搜索| 广平县| 石楼县| 宁陕县| 玉龙| 湾仔区| 阜康市| 恭城| 屏边| 昌宁县| 黑水县| 类乌齐县| 玛多县| 阜康市| 来凤县| 阳谷县| 汽车| 大冶市| 桦川县| 宁蒗| 东阳市| 房产| 岑溪市| 桃园市| 毕节市| 安徽省| 贡觉县| 磴口县| 色达县| 吉木萨尔县| 错那县| 建昌县| 衡东县|