浅谈web服务流程

一次浏览器请求,后端往往就需要给出响应,这也是http的一大特点有应必有答。最简单的,比如我们使用flask框架来开发,我们只需要启动flask,前端指定域名和端口就可以访问到我们的后端,可是只能在开发环境这样做,因为开发环境的性能难以满足生产环境的压力。因此我们需要部署一整套web服务。

一、web框架
  • 以flask框架为例,它可用于我们的开发,为开发提供很大的便利,我们也可以称其为应用程序,但于此同时它又提供了一套简单的开发时用的服务,该服务遵从我们python种的WISG协议。
二、WISG
  • WISG是一种 Web 服务器网关接口。它是一 个 Web 服务器(如 nginx,uWSGI 等服务器)与 web 应用(如用Flask 框架写的程序)通信的一种规范。 简单而言, WSGI 是一种通信协议。
三、web服务器
  • web服务器是直接与浏览器交互的服务,一般的它的做用是接收浏览器请求,将请求交给我们的应用程序,并拿到应用程序的响应,最终交给浏览器。

  • 常见的web服务器有Apache、Nginx、Tomcat和python中经常使用的uwisg和gunicorn等。

  • 通常web服务器的作用有代理转发请求、提供一系列负载策略、加大进程增强服务的性能等。

4、flask部署
  • 对于我们flask项目部署一般使用nginx+gunicorn+flask。
  • nginx是最流行的web服务器,它能够反响代理,转发请求,除此之外还可以解决高并发问题,它的进程机制使得其服务非常稳定。
  • Gunicorn是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server。和大多数的web框架兼容,并具有实现简单,轻量级,高性能等特点。使用Gunicorn运行我们的flask程序可以大大提高性能。
  • flask是轻量级web应用框架,使用flask开发较为灵活可扩展性高。且遵守WISG协议

一次请求流程:
1、浏览器请求web服务,nginx对url进行分析,若请求的是静态资源,直接读取静态资源给浏览器。若请求动态资源,将请求转发给Gunicorn
2、Gunicorn按照WISG协议将请求转发给web应用程序,即flask
3、flask根据url匹配路由进入指定视图,做出响应,并将响应交给Gunicorn
4、Gunicorn将响应结果交给nginx,nginx交给浏览器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值