Django3.0知识笔记——WSGI&ASGI是什么?

一、了解CGI

CGI(通用网关接口, Common Gateway Interface/CGI),定义客户端与Web服务器的交流方式的一个程序。

二、什么是WSGI

WSGI(Web服务器网关接口,Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。

可以说WSGI就是基于Python的以CGI为标准做一些扩展。

三、什么是ASGI

ASGI(异步网关协议接口,Asynchronous Server  Gateway Interface)一个介于网络协议服务和Python应用之间的标准接口,能够处理多种通用的协议类型。

WSGI是基于HTTP协议模式的,不支持WebSocket,而ASGI的诞生则是为了解决Python常用的WSGI不支持当前Web开发中的一些新的协议标准。同时,ASGI对于WSGI原有的模式的支持和WebSocket的扩展,即ASGIWSGI的扩展。