WSGI

  WSGI(Web Server Gateway Interface),是Python在Web开发中的一个概念,是关于Web应用程序如何与Web服务器进行通信的规则。下面是官网的说明:
  这里写图片描述 
  很好理解,就是说WSGI就是充当Web服务器和Python的Web应用交流的中间桥梁。如下图示:
  这里写图片描述  
  
  对于Web应用来说,是一个很直接的请求与响应的场景。浏览器发出一个请求,经过一系列路由之后,传送到服务器,然后服务器上的Web服务程序(Apache、Nginx或者IIS等等)接受该请求,接着把该请求转给Web应用程序,然后,接受并处理。之后,沿着相反的方向把响应送回去。
  下面是使用bottle(Python的一个极简Web框架,只有一个py文件)写的一个简单的Web应用程序:
  

from bottle import route, run, template, static_file

@route('/')
def index():
    return template('vase', title='Bottle')

@route('/images/<filename:re:.*\.png>')
def send_image(filename):
    return static_file(filename, root='./static/img', mimetype='image/png')

run(host='localhost', port=2345, debug=True)

  这就是一个最简单的Web应用程序了,访问主页的时候显示了一张图片,下面是bottle的模板文件,也就是主页的内容了:

<html>
<head>
    <title>{{ title or 'No title' }}</title>
</head>
<body>
    <img src='images/bottle.png' alt='bottle log' />
</body>
</html>

  效果如下所示:
  这里写图片描述  
  上面是显示的效果,就一张图片。看一看Firebug面板上的内容,其中有一项”Server WSGIServer/0.1 Python/2.7.6”。这个就是Web服务器返回的内容了,我们自己写的程序可不管这些东西的。
  下面附上一个使用siege(一款开源的Web压力测试工具)测试bottle和Apache的比对:
  这里写图片描述
  
  持续一分钟测试50个并发请求,bottle下还是明显满了许多。当然也不能拿bottle和Apache相比。可以使用更专业的WSGI服务器来测试对比,如Gunicorn。
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值