wsgi

作者: 戴维得 | 来源:发表于2017-10-02 00:01 被阅读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函数

    • 函数中的erviron参数就包含了和请求相关的所有数据
    • start_response 参数包含了相应信息
    • 函数最后return的就是最后返回的html内容

    相关文章

      网友评论

          本文标题:wsgi

          本文链接:https://www.haomeiwen.com/subject/juhzextx.html