"ASGI 3.0规范中文版.pdf" ASGI,即Asynchronous Server Gateway Interface,是WSGI(Web Server Gateway Interface)的异步版本,旨在解决Python Web开发中对异步处理的需求。WSGI是Python Web编程的一个基础标准,它定义了Web服务器与Web应用程序或框架之间的交互方式。然而,随着Web技术的发展,尤其是WebSocket等长连接协议的广泛应用,WSGI的单线程、同步模型不再适应现代Web应用的需求。 WSGI的问题在于它的设计主要是针对传统的HTTP请求-响应模型,无法很好地支持需要保持长连接或处理并发事件的异步应用。例如,WebSocket协议允许双向通信,但WSGI的单次调用、单个响应的模式无法有效处理此类通信。 ASGI的出现正是为了解决这些问题。它采用了一种全新的异步调用模型,通过`scope`来传递请求上下文信息,`receive`和`send`两个可await的方法分别用于接收和发送事件。这种设计允许应用同时处理多个输入和输出事件,支持并发处理,因此非常适合异步和实时通信。例如,一个简单的ASGI应用可能如下所示: ```python async def application(scope, receive, send): event = await receive() ... await send({"type": "websocket.send", "text": "Hello, world!"}) ``` 在这里,`receive()`会等待客户端的下一个事件,而`send()`则用于向客户端发送响应或消息。事件通常是字典形式,包含`type`字段来标识事件类型,其他字段根据具体的事件类型而变化。 ASGI标准还定义了一系列预定义的事件类型,如`http.response.start`用于发送HTTP响应的头部,`websocket.send`用于发送WebSocket消息。这种标准化的事件格式确保了不同服务器和应用之间的互操作性。 为了保持向后兼容,ASGI设计时考虑到了与WSGI的共存。尽管它们的接口和执行模型不同,但有一些中间件和库可以帮助从WSGI平滑过渡到ASGI,使得现有的WSGI应用可以在ASGI环境中运行,或者反之亦然。 ASGI 3.0规范是为了适应Python Web开发中的异步需求而设计的,它提供了一个灵活、高效的接口,促进了服务器、框架和应用之间的协作,尤其是在处理WebSocket和其他长连接协议时。Daphne和Uvicorn是两个遵循ASGI标准的服务器实现,而Django 3.x版本也开始支持ASGI,进一步推动了这一规范的普及和应用。
![](https://csdnimg.cn/release/download_crawler_static/12043696/bg4.jpg)
剩余19页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/a7eaffbe629b4fa4a78865a358f3a26d_cnweike.jpg!1)
- 粉丝: 359
- 资源: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 贵州煤矿矿井水分类与处理策略:悬浮物、酸性与非酸性
- 醛固酮增多症肾上腺静脉采样对比:ACTH后LR-CAV的最优评估
- 开源云连接传感器监控平台:农业土壤湿度远程监测
- 母婴用品企业年度生产计划线性规划优化模型:实证与应用
- 井下智能变电站:Rogowski线圈电流检测系统的研发与性能验证
- 霍州矿区煤巷稳定性分析及支护策略
- ARM嵌入式系统远程软件更新方案:基于TFTP协议
- 煤炭选煤中汞分布规律与洗选脱汞效果
- 提升码垛机器人性能:拉格朗日动力学模型与滑模模糊控制的应用
- 增强现实技术提升学前手写教学:设计与开发案例
- 不规则工作面沉陷三角剖分算法提升与应用
- 卡尔曼滤波在瞬变电磁干扰压制中的应用研究
- 煤矿安全能力研究:理论与系统构建
- LonWorks总线技术在斜巷运输车辆定位与跑车防护中的应用
- 神东煤炭集团高效煤粉锅炉系统:节能环保新实践
- Ti/SnO2+Sb2Ox/PbO2电极分形维数与电催化性能研究
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)