文章目录

  • 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框架的关系相关推荐

  1. 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 ...

  2. 学python开发必须要会wsgi么_python Web开发你要理解的WSGI uwsgi详解

    WSGI协议 首先弄清下面几个概念: WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web ...

  3. python bootstrap安装_python + django + bootstrap + uWSGI + nginx 环境搭建

    在了解 uWSGI 之前,我们不妨先了解一下 python http服务器? 要使 Python 写的程序能在 Web 上被访问,还需要搭建一个支持 Python 的 HTTP 服务器,列举几个如 G ...

  4. python django部署docker_Docker 部署 Django+Uwsgi+Nginx+Vue

    简介 * 1.两年前接触docker是因为要部署selenium_gird,后来呢发现zalenium可以录制ui自动化视频的工具,都是直接pull镜像,启动容器.所以一直以来就只用到了pull. r ...

  5. Nginx:HTTP框架是如何介入请求

    考资料 <深入理解Nginx>(陶辉) Nginx事件模块博客地址:http://www.cnblogs.com/runnyu/p/4914698.html Nginx是一个事件驱动构架的 ...

  6. ET框架的基础逻辑,生命周期和Scene层级树

    ET框架的基础逻辑 文章目录 ET框架的基础逻辑 ECS思想和OOP思想的区别 ECS下简易的逻辑的分发 ET框架下实体的生命周期 ET框架的Scene树 ECS思想和OOP思想的区别 ​ 以传统RP ...

  7. Python自动化开发学习的第十一周----WEB框架--Django基础

    WEB框架的本质 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8imp ...

  8. python uwsgi_python Web开发你要理解的WSGI uwsgi详解

    WSGI协议 首先弄清下面几个概念: WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web ...

  9. 通过uwsgi+nginx启动flask的python web程序

    通过uwsgi+nginx启动flask的python web程序 一般我们启动python web程序的时候都是通过python直接启动主文件,测试的时候是可以的,当访问量大的时候就会出问题 pyt ...

  10. python框架django书籍_有Python基础,刚接触web框架的Django初学者。

    本文面向:有Python基础,刚接触web框架的Django初学者. 环境:windows7 python3.5.1 pycharm Django 1.10版 pip3 一.Django简介 百度百科 ...

最新文章

  1. MMD_5b_ComputationalAdvertising
  2. Jsoup获取全国地区数据(省市县镇村)
  3. Cucumber入门之_World
  4. NoHttpResponseException
  5. Android开发之自定义输入框无法弹起键盘输入法的解决方法
  6. STC单片机程序下载失败总结
  7. java string replace 重载_关于Java:如何使用replace(char,char)替换字符b的所有实例为空...
  8. iOS:个人浅谈工厂模式
  9. 接口自动化测试_Python自动化测试学习路线之接口自动化测试「模块四」
  10. Android Theme
  11. 如何清除图片下方出现几像素的空白间隙?
  12. 合作︱2018CCF青年精英大会首设科技创业竞赛,快来报名吧!
  13. shell脚本批量生成配置文件
  14. Ubuntu下查看cuda版本的两种方法
  15. Spring全家桶+分布式微服务(十次方)
  16. 刷脸支付为人们消费方式创始一个新纪元
  17. 用计算机弹极乐净土谱,极乐净土计算器谱子
  18. JSP内置对象response常见用法
  19. andorid 源码北京公交线路查询(离线)
  20. 全球与中国自动识别系统单元市场深度研究分析报告

热门文章

  1. 指针常量和常量指针的区别
  2. Install R language on Linux RHEL5 or RHEL6
  3. java程序中验证框架四规则(初级知识)
  4. android中的MotionEvent 及其它事件处理
  5. back to wuxi
  6. 剑指_复杂链表的复制(Python)
  7. Android真机调试时LogCat不显示日志信息
  8. 网络通信知识点,程序员必备知识
  9. 关于Lambda表达式的简单语法理解,有参无参,有无返回值的格式的理解,仅限编程新手
  10. python函数作用的描述_python基础之函数内容介绍