wsgi

2017-10-02  本文已影响0人  戴维得

wsgi也就是web服务网关接口,他是一种网络传输协议,在python中实现它的是wsgiref模块和uwsgi模块

wsgiref模块封装了wsgi,使得咱们在使用python的时候不用再去考虑http协议,socket发送等等,只要去使用这个模块就好,当然wsgiref模块效率较低,只是个人测试使用,真正在公司部署网络应用的时候使用的是uwsgi模块

这里先给出wsgiref模块的简单示例,有个感性的认识,后续在分析实现原理;代码如下:

from wsgiref.simple_server import make_server

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return [b'<h1>Hello, web!</h1>']

if __name__ == '__main__':
    # 创建socket对象,只要有请求到来,就会执行socket函数
    httpd = make_server('', 9999, application)
    print("Serving HTTP on port 9999...")
    # 开启事件监听循环
    httpd.serve_forever()

这个示例程序很简单,创建一个httpd服务器,并监听9999端口,当有客户端请求时,在浏览器显示Hello, web字符串;

在循环监听的过程中,每次请求来了就会执行application函数

上一篇下一篇

猜你喜欢

热点阅读