千家信息网

WSGI有什么作用

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"WSGI有什么作用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"WSGI有什么作用"吧!一个完整的 Web 应用包含两部分,一个是
千家信息网最后更新 2025年12月03日WSGI有什么作用

这篇文章主要讲解了"WSGI有什么作用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"WSGI有什么作用"吧!

一个完整的 Web 应用包含两部分,一个是服务器程序(Server),一个是应用程序(Application),服务器程序负责接收浏览器发送过来的请求,应用程序负责处理具体的业务逻辑。 比如我基于 Django 框架开发一个博客应用,部署在生产环境时会用 Gunicorn 或者 Uwsgi 作为服务器程序。

Python 中 Web 框架非常多,Flask、Django、Bottle、Pyramid、Tornado 等等,甚至你也自己也可以造一个 Web 框架,那么这么多框架,为什么他们都可以用 Gunicorn 或者 Uwsgi 来部署呢?

答案就是 WSGI 规范。

WSGI 不是框架,也不是一个模块,而是介于 Web应用程序(Web框架)与 Web Server 之间交互的一种规范。只要大家都遵循WSGI规范实现 Web 框架,就可以 使用 Gunicorn 来运行,规范最早在 PEP333 中被提出。

WSGI 规定了Web服务器(Server)和应用程序(Application)双方各自需要实现什么接口,以便两者能完美的配合使用,这个和 USB Type-C 规范很像, 只要手机和充电线都遵循了 Type-C 接口规范, 大家的充电线就可以复用,不同的是充电谁快谁慢的问题,而苹果没有遵循Type-C规范,所以只有他自家的线才能充苹果手机。

现在你应该差不多理解什么是WSGI了,那么 WSGI 对应用程序是如何规范的呢? 很简单,你只需要写一个符合以下格式的函数即可:

def app(environ, start_response):
start_response("200 OK", [("Content-Type","text/html")])
return ["Hello world!\n"]

这个函数必须接收两个参数,environ 是一个类似字典的数据结构,封装了浏览器的请求数据。 start_response 是一个函数,必须在app 里面调用,参数就是状态码和响应内容的类型。app 的返回值就是请求的响应数据。 最终 app 是被 server 来调用的。

现在我们用 Python 内建的 http server 来启动这个程序


from wsgiref.simple_server import make_server

if __name__ == "__main__":
httpd = make_server("", 8000, app)
print("Serving http on port 8000")
httpd.serve_forever()





启动,访问地址:

感谢各位的阅读,以上就是"WSGI有什么作用"的内容了,经过本文的学习后,相信大家对WSGI有什么作用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

程序 框架 应用 应用程序 作用 就是 服务器 服务 内容 函数 数据 学习 参数 手机 接口 浏览器 苹果 问题 浏览 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 茂名信息安全学习网络安全培训 频监控网络安全检查情况 使用最多的网络安全产品 apex频繁更改服务器封号 网络安全防范技术赛区致辞 网络安全军民融合深度发展 哪个负责统筹协调网络安全工作 服务器内存怎么放电脑上 学校举行网络安全会议 软件开发管理实践 有什么小软件开发 智能道闸服务器停电后来电后重启 网络安全的隐患 软件开发公司预订 湖南岚鸿 深圳天发网络技术有限公司 网络安全公众平台演讲稿 sql数据库连接测试 网络技术专业考试 中国移动网络安全员工资 数据库图书管理实例 查看服务器硬盘序列号的命令 局域网硬盘服务器 干软件开发不到三个月做不下去 怎么在数据库中创建临时表 日本没有网络安全法和 如何登陆mysql 数据库 网络安全与软件开发谁更简单 购买云服务器的带宽选择多少合适 无法连接服务器1 404 服务器内存超频有什么危害
0