python3.7怎么安装wsgiref_Python

本文介绍了WSGI的基本概念,它是Python与HTTP服务器之间的接口标准,允许Python处理动态内容,并通过HTTP服务器响应给客户端。此外还提到了wsgiref模块,这是一个简单的WSGI服务器实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态服务器

我们上一章制作都原始 HTTP 服务器 虽然能顺利的处理请求和响应,但是它只是一个 纯静态 的服务器,比如我希望用户能够登陆、发帖、私信、留言... 这些 动态的 功能,它通通不能完成。

wsgi

如何才能让服务器能够执行动态的内容?一般是通过 Python 或者 PHP 来处理,之后再把处理完的结果在提交到 HTTP 服务器,服务器在响应到客户端。wsgi 就是 Python 到 HTTP 的一条通道。类似的这种 “通道” 或者较叫“接口” 的还有 CGI、FastCGI...

Apache、Nginx 等 HTTP服务器软件都是只负责处理 HTTP 的请求和响应,然后我们的 Python、PHP 在通过类似 wsgi 这样的接口与之融合。

wsgi 接口实现起来非常简单,只是通过一个函数,这个函数有两个参数,一个是请求,另一个是响应。

def application(environ, start_response):

pass

# environ 是客户端的请求信息,python 处理完成之后,通过 start_response 响应反馈给 HTTP 服务器

# ...

wsgiref

wsgiref 是 python 内置的一个简单的 遵循wsgi接口的服务器。

from wsgiref.simple_server import make_server

# application 由wsgi服务器调用、函数对http请求与响应的封装、使得Python专注与HTML

# environ http 请求 (dist)

# start_response 响应 (function)

def application(environ, start_response):

# 请求

if environ['REQUEST_METHOD'] == 'GET' and environ['PATH_INFO'] == '/':

# 响应

start_response('200 OK', [('Content-Type', 'text/html')])

return [b'

hi, py!

']

# 启动服务器 | 这个服务器负责与 wsgi 接口的 application 函数对接数据

httpd = make_server('127.0.0.1', 8000, application)

# 监听请求

httpd.serve_forever()

WEB 编程

web 编程就是对HTTP协议的应用,我们能使用 socket 自制 web 服务器,但每次都需要自己处理协议的内容很烦琐,所以可以把HTTP协议的东西外包给专门的HTTP服务器软件,而 python 就只是单纯的负责处理业务,在通过 WSGI 把两者关联起来。

但仅仅通过 WSGI 去开发 web,还是会过于底层,于是又发展出了 框架 这种东西,例如 Flask、Django。它们又在 WSGI 之上在抽象了一层,让 python 可以更方便的处理业务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值