手机如何免费做网站,网站设计主题是什么,小企业公司网站建设,wordpress 来路插件文章目录 中间件1. CGI2. FastCGI3. WSGI4. uWSGI5. uwsgi 中间件
中间件#xff1a;介于a和b之间的东西都称之为中间件
服务器中间件#xff1a;nginx#xff0c;apache
数据库中间件#xff1a;介于应用程序和数据库之前的#xff0c; MyCat
消息队列中间件#xff1… 文章目录 中间件1. CGI2. FastCGI3. WSGI4. uWSGI5. uwsgi 中间件
中间件介于a和b之间的东西都称之为中间件
服务器中间件nginxapache
数据库中间件介于应用程序和数据库之前的 MyCat
消息队列中间件kafkarabbitmqRocketmq1. CGI
CGI 公共网关接口是Web 服务器运行时外部程序的规范按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互还可通过数据API与数据库服务器等外部数据源进行通信从数据库服务器中获取数据。格式化为HTML文档后发送给浏览器也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持CGI可用任何语言编写CGI 通用网关接口Common Gateway Interface/CGI是一种重要的互联网技术可以让一个客户端从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。 CGI程序可以用任何脚本语言或者是完全独立编程语言实现只要这个语言可以在这个系统上运行。 用来规范 web 服务器传输到 php 解释器中的数据类型以及数据格式包括URL、查询字符串、POST数据、HTTP header等也就是为了保证web server传递过来的数据是标准格式的 一句话总结 一个标准定义了客户端服务器之间如何传数据
2. FastCGI 快速通用网关接口Fast Common Gateway InterfaceFastCGI是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口CGI的增强版本。 FastCGI致力于减少网页服务器与CGI程序之间互动的开销从而使服务器可以同时处理更多的网页请求。 使用FastCGI的服务器
Apache HTTP Server (部分)
Cherokee HTTP Server
Hiawatha Webserver
Lighttpd
Nginx
LiteSpeed Web Server
Microsoft IISnginx 是一个符合 fastcgi 协议的软件处于浏览器和web程序之间主要做请求转发和负载均衡也可以称之为服务器中间件 3. WSGI
Web服务器网关接口Python Web Server Gateway Interface缩写为WSGI是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后许多其它语言中也出现了类似接口。 wsgi server (比如uWSGI 要和 wsgi application比如django 交互uwsgi需要将过来的请求转给django 处理那么uWSGI 和 django的交互和调用就需要一个统一的规范这个规范就是WSGI WSGIWeb Server Gateway Interface WSGI全称 Web Server Gateway Interface或者 Python Web Server Gateway Interface 是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。自从 WSGI 被开发出来以后许多其它语言中也出现了类似接口。 WSGI 的官方定义是the Python Web Server Gateway Interface。从名字就可以看出来这东西是一个Gateway也就是网关。网关的作用就是在协议之间进行转换。 WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口以提升可移植 Web 应用开发的共同点。WSGI 是基于现存的 CGI 标准而设计的 一句话总结 为Python定义的web服务器和web框架之间的接口标准
4. uWSGI
uWSGI 是符合 wsgi 协议的 web 服务器上面标准的具体实现还有以下具体实现
wsgirefwerkzeug: 一个是符合wsgi协议的web服务器工具包封装了一些东西
uWSGI: 用c语言写的性能比较高
gunicorn: python写的
tornado: 也可以部署django项目5. uwsgi
uwsgi 是一种线路协议而不是通信协议是 uWSGI 服务器实现的独有的协议用于定义传输信息的类型是用于前端服务器与 uwsgi 的通信规范。因此常用于在 uWSGI 服务器与其他网络服务器的数据通信。