WSGI是个啥?大白话告诉你wsgi做了什么!

定义:

官方定义:wsgi是Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。
大白话:wsgi就是一种规范,它定义了使用web应用程序与Python编写的web服务器程序之间的接口格式,实现web应用程序与web服务器程序间的解耦。

web应用的本质:

  1. 浏览器发送一个HTTP请求;
  2. 服务器收到请求,生成一个HTML文档;
  3. 服务器把HTML文档作为HTTP响应的Body发送给浏览器;
  4. 浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。

WSGI接口工作流程

总结

wsgi就是一种规范,它定义了使用web应用程序与Python编写的web服务器程序之间的接口格式.无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。
Flask中的werkzeug工作原理类似.

--个人理解,多多指教

原文地址:https://www.cnblogs.com/bigox/p/11588017.html

时间: 2025-01-17 20:53:06

WSGI是个啥?大白话告诉你wsgi做了什么!的相关文章

c# 大白话告诉你Thread的Sleep和Join的区别

我们的程序默认会有两个线程,一个是主线程,一个是负责垃圾回收的线程.如果代码不使用多线程,就只有主线程这一条干道.1.在主线程中调用Thread.Sleep(1000),表示主线程阻塞自己1秒.2.在主线程中使用子线程调用Join()方法,表示子线程告诉主线程你需要阻塞一会,直到我完成任务.两者虽然都是阻塞主线程,但是,一个是主线程自己阻塞自己,另一个是子线程阻塞主线程. private void Test() { Thread.Sleep(1000);//此处主线程阻塞1秒 var threa

金蝶KIS记账王告诉你如何做一本“清楚账”

虽然金蝶KIS记账王是金蝶基团旗下的一款轻量级财务处理软件,适用于广大微小企业和代理记账公司或个人,但是它仍然能够做出一本"清楚账".主要体现于使用金蝶KIS记账王记账过程中条理清晰,账目准确,期末账簿报表一目了然,文本将详细介绍关于"准确清晰"的详细信息. 不仅财务人员使用金蝶KIS记账王记账过程中流程十分清晰,而且金蝶KIS记账王生成的账务数据条理清晰且账目准确,有利于老板和非会计专业人员么迅速看懂账簿内容,获取切实有效的财务数据. 1.采用流程图引导操作过程

陈松松:经验告诉我们,做视频营销这11条标准一条也不能缺

每个视频,都是你的金牌业务员 这是我写的第55篇视频营销原创文章 与其搜索十年,不如花一年的时间学习,去赚9年的高薪! 这11条标准,是我在操作视频营销的时候谨记的11个规则,希望在你操作视频营销的时候作为你参考的标准. 标准01:每天至少原创一个优质视频 既然做视频营销,就要下定决心,要么就彻底放弃,不做三天打鱼,两天塞网的事情,伤神又费力.一年365天,去掉节假日,至少持续更新360天! 标准02:发布视频到所有视频平台 做一个视频不容易,来一个客户更不容易,把你制作的每一个视频发布到所有的

网关协议学习:CGI、FastCGI、WSGI

CGI CGI即通用网关接口(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体.通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页.CGI 的

WSGI介绍

Python Web 开发中,服务端程序可以分为两个部分,一是服务器程序,二是应用程序.前者负责把客户端请求接收,整理,后者负责具体的逻辑处理.为了方便应用程序的开发,我们把常用的功能封装起来,成为各种Web开发框架,例如 Django, Flask, Tornado.不同的框架有不同的开发方式,但是无论如何,开发出的应用程序都要和服务器程序配合,才能为用户提供服务.这样,服务器程序就需要为不同的框架提供不同的支持.这样混乱的局面无论对于服务器还是框架,都是不好的.对服务器来说,需要支持各种不同

【技术分享】网关协议学习:CGI、FastCGI、WSGI

CGI CGI即通用网关接口(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体.通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页.CGI 的

CGI FastCGI WSGI 解析

我们将服务端程序分为了web服务器和应用程序服务器. web服务器是用于处理HTML文件,让客户可以通过浏览器进行访问.主流的有apache,IIS,nginx,lghttpd等. 应用服务器处理业务逻辑,比如使用python的django,flask写成的程序 通常来自客户端浏览器的请求被web服务器截获,如果是静态请求,则如nginx会自己做处理,如果是动态请求,则会抛给后端应用服务器来处理.于是如何在web服务器与应用服务器之间进行通信成了主要问题,这就引出了以下三种处理的接口:CGI,F

Python WSGI

因为服务都以restful api的方式提供给外界访问,于是又要看WSGI,要用到PasteDeploy库,但是感觉资料有些难懂尤其是paste.ini的使用上,下面几篇还算不错 [1] http://wanglianghuaihua.blog.163.com/blog/static/5425153120138273471531/ [2] http://pythonpaste.org/deploy/ ([1]是对[2]的翻译,不过有些部分没有在[1]中出现,看看原文还是有必要的) [3] htt

Redhat 7 httpd 显示wsgi页面

# yum install httpd # yum install mod_wsgi # vi /etc/httpd/conf.d/wsgi.conf <VirtualHost *:80> DocumentRoot /var/www/wsgi WSGIScriptAlias / /var/www/wsgi/webapp.wsgi </VirtualHost> :wq # systemctl restart httpd