xpresslink
2018-12-05 18:54:00 +08:00
nginx+uWSGI+django 解析 http 协议是在哪个上面解析的?
http 是个文本协议,django 来解析的。
nginx+uWSGI 通信的协议(或者说规范)是什么?
uwsgi 是一种线路协议而不是通信协议,在此常用于在 uWSGI 服务器与其他网络服务器的数据通信。uwsgi 协议是一个 uWSGI 服务器自有的协议,它用于定义传输信息的类型。
uWSGI+django 通信的规范是什么?
WSGI 协议。这东西是一个 Gateway,也就是网关。网关的作用就是在协议之间进行转换。
网上说 uWSGI 实现了 http 协议,是否 uWSGI+django 的架构上,uWSGI 负责 http 的解析
不是。
只有 django 的话,是不是内部也实现了一个简单的 类似 nginx+uWSGI 的东西
Django 所提供的是一个开发服务器,这个开发服务器,没有经过安全测试,而且使用的是 Python 自带的 simple HTTPServer 创建的,在安全性和效率上都是不行的。虽然不要 nginx 和 uWSGI 也可以跑,只不过 django runsever 原生为单线程,当第一个请求没有完成时,第二个请求辉阻塞,知道第一个请求完成,第二个请求才会执行。nginx 是线 web 服务器主要起到了调度,转发,处理静态文件等作用。uWSGI 是 nginx 和 app 之间的桥梁,起到多进程并发,转换协议接口等作用。
flask 框架依赖于 werkzeug ,这个东西是不是跟 uWSGI 一个层次的东西
不是。werkzeug 既不是一个 web 服务器,也不是一个 web 框架,而是是一个 WSGI 工具包,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的东西,例如 Request,Response 等等。