当前位置:网站首页>其它——CGI,FastCGI,WSGI,uWSGI,uwsgi一文搞懂
其它——CGI,FastCGI,WSGI,uWSGI,uwsgi一文搞懂
2022-04-21 20:58:00 【这代码有毒啊】
CGI, FastCGI, WSGI, uWSGI, uwsgi一文搞懂
一 CGI
# 1、通用网关接口(Common Gateway Interface/CGI)是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。
# 2、CGI程序可以用任何脚本语言或者是完全独立编程语言实现,只要这个语言可以在这个系统上运行。
# 3、用来规范web服务器传输到php解释器中的数据类型以及数据格式,包括URL、查询字符串、POST数据、HTTP header等,也就是为了保证web server传递过来的数据是标准格式的
# 4、一句话总结: 一个标准,定义了客户端服务器之间如何传数据
二 FastCGI
# 1、快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本。
# 2、FastCGI致力于减少网页服务器与CGI程序之间互动的开销,从而使服务器可以同时处理更多的网页请求。
# 3、使用FastCGI的服务器:
Apache HTTP Server (部分)
Cherokee HTTP Server
Hiawatha Webserver
Lighttpd
Nginx
LiteSpeed Web Server
Microsoft IIS
# 4、一句话总结: CGI的升级版

三 WSGI
# 1、Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。
# 2、wsgi server (比如uWSGI) 要和 wsgi application(比如django )交互,uwsgi需要将过来的请求转给django 处理,那么uWSGI 和 django的交互和调用就需要一个统一的规范,这个规范就是WSGI WSGI(Web Server Gateway Interface)
# 3、WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。自从 WSGI 被开发出来以后,许多其它语言中也出现了类似接口。
# 4、WSGI 的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。
# 5、WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口,以提升可移植 Web 应用开发的共同点。WSGI 是基于现存的 CGI 标准而设计的
# 6、一句话总结: 为Python定义的web服务器和web框架之间的接口标准
四 uWSGI
wsgiref,werkzeug(一个是符合wsgi协议的web服务器+工具包(封装了一些东西))
uWSGI 用c语言写的,性能比较高
gunicorn:python写的
tornado:也可以部署django项目
# 1、它是一个Web服务器(类似的有wsgiref,gunicorn),它实现了WSGI协议、uwsgi、http等协议。用于接收前端服务器转发的动态请求并处理后发给 web 应用程序。
# 2、Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换
# 3、一句话总结: 一个Web Server,即一个实现了WSGI的服务器,大体和Apache是一个类型的东西,处理发来的请求。

五 uwsgi
location / {
#方式一
#include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
#uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
#uwsgi_pass 101.133.225.166:8080;
#方式二
#include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
#uwsgi_pass unix:///var/www/script/uwsgi.sock; # 指定uwsgi的sock文件所有动态请求
#方式三
proxy_pass http://101.133.225.166:8088
}
# 1、它是uWSGI服务器实现的独有的协议,用于定义传输信息的类型,是用于前端服务器与 uwsgi 的通信规范。
# 1、一句话总结: uWSGI自有的一个协议
uWSGI:web服务器,等同于wsgiref
uwsgi:uWSGI自有的协议


[外链图片转存中…(img-5vawUvG5-1647962787218)]
[外链图片转存中…(img-jwMrHdrY-1647962787218)]
版权声明
本文为[这代码有毒啊]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_67155975/article/details/123674695
边栏推荐
- JZ19 正则表达式匹配
- Oracle management - tablespace permission control
- Oracle column to row, splitting a field into multiple columns
- Mysql坑爹指南_sql_mode=“ONLY_FULL_GROUP_BY“所导致错误以及不能使用group by
- Map&Set
- Win11 efficient calendar recommendation
- 《动手学机器人学》7.4机器人运动学介绍|机械臂运动学|两轮差速底盘运动学|轮式里程计
- OA表单设计 案例展示
- 工作流 流程设置 定制开发
- Mysql刷题题解_多表联查_取出用户在某天刷题后再来刷题的平均概率
猜你喜欢
随机推荐
Go语言自学系列 | golang类型定义和类型别名
TCP和UDP的135、137、138、139、445端口的作用?
PlatoFarm提出永动机模型,将于4月22日在HUOBI开启IEO
【SeMask】Semantically Masked Transformers for Semantic Segmentation
88% of industrial people don't know that these 7 points of small programs can make the revenue surge, rough and effective! It is strongly recommended to collect and read repeatedly!
MySQL numeric function
libVLC库推流,sout参数如何设置
反射111
Guanglianda is positioned as a digital "enabler"
Trie (dictionary tree)
预处理问题
为什么:Uncaught ReferenceError: effect is not defined
Manuel d'utilisation et de développement de la plate - forme de connexion unique pour l'amarrage du système d'AP de Tongda
Yaml
档案管理系统操作说明
Circular linked list of single and double linked lists (XV)
通達OA系統對接 單點登錄平臺使用和開發手册
Trie(字典树)
APM 行业认知系列 - 十二 - 十三
工作流引擎 参数设置及业务引擎









