python web框架的基础:WSGI、uWSGI、Nginx、web框架的关系
文章目录
- WSGI
- WSGI的底层:通过socket编程实现 Web 服务
WSGI
WSGI ,全称是 Web Server Gateway Interface(Web服务器网关接口)
- 是 Python 中定义的一个网关协议,规定了 Web Server 如何跟应用程序交互 。
在 Python 中所有 Web Server 程序,能够通过 统一的协议(WSGI协议) 跟 Web 框架或者说 Web 应用进行交互 。
WSGI的底层:通过socket编程实现 Web 服务
Web服务最基本的模型 , 通过 socket 和 HTTP 协议提供 Web 服务。
监听本地 8000 端口 ,接收客户端发过来的数据 ,然后返回对应的 HTTP 响应。
import socketEOL1 = b'\n\n'
EOL2 = b'\n\r\n'
body = 'hello world! 世界这么大,我们一起闯!'
response_params = ['HTTP/1.0 200 OK','Date: Sun , 27 may 2018 01 : 01 : 01 GMT','Content-type: text/html; charset=utf-8','Content-Length: {}\r\n'.format(len(body.encode())),body,
]
response = '\ r\n'.join(response_params)def handle_connection(conn, address):request = b''while EOL1 not in request and EOL2 not in request:request += conn.recv(1024)print(request)conn.send(response.encode()) # response转为bytes后传输conn.close()def main():"""socket.AF_INET: 服务器与服务器间的网络通信socket.SOCK_STREAM: TCP的流式socket套接字"""ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM)ss.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 设置端口可复用ss.bind(('127.0.0.1', 8000))ss.listen(5) # 设置 backlog-socket 连接最大排队数量print('127.0.0.1:8000')try:while True:conn, address = ss.accept()handle_connection(conn, address)finally:ss.close()if __name__ == '__main__':main()
python web框架的基础:WSGI、uWSGI、Nginx、web框架的关系相关推荐
- Docker部署Django+Mysql+uWSGI+Nginx Web应用 - 笔记更新2022-01-04
Docker 部署Django+Mysql+uWSGI+Nginx Web应用 Change logs更新记录 2022/1/4 fixed web access problem of wide ar ...
- 学python开发必须要会wsgi么_python Web开发你要理解的WSGI uwsgi详解
WSGI协议 首先弄清下面几个概念: WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web ...
- python bootstrap安装_python + django + bootstrap + uWSGI + nginx 环境搭建
在了解 uWSGI 之前,我们不妨先了解一下 python http服务器? 要使 Python 写的程序能在 Web 上被访问,还需要搭建一个支持 Python 的 HTTP 服务器,列举几个如 G ...
- python django部署docker_Docker 部署 Django+Uwsgi+Nginx+Vue
简介 * 1.两年前接触docker是因为要部署selenium_gird,后来呢发现zalenium可以录制ui自动化视频的工具,都是直接pull镜像,启动容器.所以一直以来就只用到了pull. r ...
- Nginx:HTTP框架是如何介入请求
考资料 <深入理解Nginx>(陶辉) Nginx事件模块博客地址:http://www.cnblogs.com/runnyu/p/4914698.html Nginx是一个事件驱动构架的 ...
- ET框架的基础逻辑,生命周期和Scene层级树
ET框架的基础逻辑 文章目录 ET框架的基础逻辑 ECS思想和OOP思想的区别 ECS下简易的逻辑的分发 ET框架下实体的生命周期 ET框架的Scene树 ECS思想和OOP思想的区别 以传统RP ...
- Python自动化开发学习的第十一周----WEB框架--Django基础
WEB框架的本质 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8imp ...
- python uwsgi_python Web开发你要理解的WSGI uwsgi详解
WSGI协议 首先弄清下面几个概念: WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web ...
- 通过uwsgi+nginx启动flask的python web程序
通过uwsgi+nginx启动flask的python web程序 一般我们启动python web程序的时候都是通过python直接启动主文件,测试的时候是可以的,当访问量大的时候就会出问题 pyt ...
- python框架django书籍_有Python基础,刚接触web框架的Django初学者。
本文面向:有Python基础,刚接触web框架的Django初学者. 环境:windows7 python3.5.1 pycharm Django 1.10版 pip3 一.Django简介 百度百科 ...
最新文章
- MMD_5b_ComputationalAdvertising
- Jsoup获取全国地区数据(省市县镇村)
- Cucumber入门之_World
- NoHttpResponseException
- Android开发之自定义输入框无法弹起键盘输入法的解决方法
- STC单片机程序下载失败总结
- java string replace 重载_关于Java:如何使用replace(char,char)替换字符b的所有实例为空...
- iOS:个人浅谈工厂模式
- 接口自动化测试_Python自动化测试学习路线之接口自动化测试「模块四」
- Android Theme
- 如何清除图片下方出现几像素的空白间隙?
- 合作︱2018CCF青年精英大会首设科技创业竞赛,快来报名吧!
- shell脚本批量生成配置文件
- Ubuntu下查看cuda版本的两种方法
- Spring全家桶+分布式微服务(十次方)
- 刷脸支付为人们消费方式创始一个新纪元
- 用计算机弹极乐净土谱,极乐净土计算器谱子
- JSP内置对象response常见用法
- andorid 源码北京公交线路查询(离线)
- 全球与中国自动识别系统单元市场深度研究分析报告