WSGI,uWSGI和uwsgi的区别

WSGI,uWSGI和uwsgi的区别

最近不想玩爬虫了 心血来潮 想写一个web网站 重新捡起已经遗忘的后端知识,算是对自己复习的一种记录 首先复习一下比较重要也是面试容易问到的问题 WSGI,uWSGI和uwsgi的区别 其实就是两协议 一个服务器

WSGI

WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口描述的是Web服务器如何与Web应用间进行通信

它不是服务器、python模块、框架、API或者任何软件,只是一种描述web服务器(如nginx,uWSGI等服务器)如何与web应用程序(如用Django、Flask框架写的程序)通信的规范。

WSGI 的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。

uwsgi

uwsgi:同WSGI一样是一种通信协议
uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型,它与WSGI相比是两样东西。

uWSGI

uWSGI是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python 的web请求。

总结

在这里插入图片描述
(图片来源网络)
在网上扒拉了一张挺不错的图片来进行总结(只看第二条) 用户通过浏览器访问站点 首先经过nignx服务器 传输到uWSGI服务器上面 再通过WSGI与uwsgi协议(图片有错)传输到web应用上面

在这里插入图片描述
(网上扒拉的第二张图片)
WSGI 是一种协议作用于web server 与web application的传输 --------》是一种协议
uwsgi 是uWSGI服务器自带的一种协议 它用于定义传输信息的类型(二进制)--------》是一种协议
uWSGI 实现了uwsgi和WSGI两种协议的Web服务器--------》是服务器
从上面也能看出为什么有了Nginx还需要uWSGI服务器 因为Nginx不支持WSGI协议无法直接讲Python的web应用部署到Nginx上面 但是你可以直接将web应用部署到支持WSGI的服务器之上(如uWSGI/Gunicorn)

web server 与 web application

上面说到了web服务与web应用 简单的讲一下两者的区别

web server

web服务 又名http server:主要处理静态网页http,css,代表作apache,Nginx 速度快
通俗的讲web服务就是使用户可以访问到你的网站例如图片 HTML CSS JS等 例如我访问了一张图片这个过程不需要flask或者django来进行处理吧 我直接根据网址就能访问到吧

web application

web服务 通俗的讲就是给用户开放的接口或者功能 例如我们的登录 搜索等等(flask、django)

一个不太准确的理解就是web服务就是我们的服务器让别人能够访问 web应用就是我们写的项目

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值