ASGI 与 WSGI:Python Web 服务器接口的演进

好的,各位观众老爷们,晚上好!我是你们的老朋友,今天咱们不聊风花雪月,不谈人生理想,就来扒一扒 Python Web 开发里两个“老家伙”的底裤—— WSGI 和 ASGI。 别看它们名字都带俩字母,长得也挺像,但内在可是大相径庭。一个代表着 Python Web 发展的“过去时”,一个则昭示着充满活力的“将来时”。 咱今天就来好好聊聊它们的前世今生,爱恨情仇,保证让各位听得津津有味,醍醐灌顶! 一、开场白:Python Web 的“相亲”大会 想象一下,你的电脑就是一家豪华餐厅,而你的 Web 应用,比如一个用 Django 或者 Flask 写的网站,就是一位精心打扮、等待相亲的美女(或者帅哥)。 但是,这位美女(或者帅哥)总不能直接跑到餐厅门口,对着来来往往的路人甲乙丙丁喊:“嗨,约吗?” 这也太没格调了! 所以,我们需要一个“媒婆”,负责把美女(Web应用)介绍给合适的“客人”(Web服务器),并且负责在他们之间传递情书(请求和响应)。 WSGI 和 ASGI,扮演的就是这个“媒婆”的角色。 它们是 Python Web 应用和 Web 服务器之间的桥梁,是双方交流的通用协议。 …