Python基础 Web业务WSGI接口
程序员文章站
2022-03-23 17:58:26
...
一个Web应用的本质就是:
1. 浏览器发送一个HTTP请求;
2. 服务器收到请求,生成一个HTML文档;
3. 服务器把HTML文档作为HTTP响应的Body发送给浏览器;
4. 浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。
Web业务WSGI接口
WSGI:Web Server Gateway Interface
无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。
WSGI 处理函数
# main.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Python基础 Web业务WSGI接口
# application() 是 WSGI 标准的 HTTP 处理函数
# environ HTTP 请求的 dict 对象
# start_response 一个发送 HTTP 响应的函数
def application(environ, start_response):
# 200 OK HTTP 响应吗
# [("Content-Type", "text/html")] HTTP 的 Header
start_response("200 OK", [("Content-Type", "text/html")])
# 作为HTTP响应的Body发送给浏览器
return [b"<h1>Hello, web made in Python</h1>"]
启动 WSGI 并加装 WSGI 函数
# server.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Python基础 Web业务WSGI接口
# 启动 WSGI 服务器,加载 main.py 的 application
# 从wsgiref模块导入:
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from main import application
# 创建一个服务器,IP地址为空,端口是8000,处理函数是application
# 打开浏览器,输入http://localhost:8000/,可以运行结果
httpd = make_server('', 8000, application)
print('Serving HTTP on port 8000...')
# 开始监听HTTP请求:
httpd.serve_forever()
运行 server.py
D:\PythonProject\sustudy>python server.py
Serving HTTP on port 8000...
浏览器输入 输入http://localhost:8000/
查看运行结果,具体如下
上一篇: html标签属性和css属性哪个优先级高
下一篇: 理解python中的WSGI