WSGI:

  全称:Web Server Gatway Interface ,web服务网关接口,独立的,与django无关,他们俩只是遵循一个约定,是一个协议。

wsgiref模块:

  实现了WSGI协议的一个模块,本质上是一个socket服务端。对请求进行解析,对响应进行封装,生产环境不用它,测试和开发阶段用。

 from wsgiref.simple_server import make_server

 def application(environ, start_response):
# 按着http协议解析数据 environ
# 按着http协议组装数据 start_response
# print(environ,type(environ)) # 'PATH_INFO': '/admin' 类型:dict
url = environ.get("PATH_INFO")
start_response('200 ok', [('content-type', 'text/html')])
data = ''
if url == '/index':
with open(r'00、jd-server\index.html','r',encoding='utf-8')as f1:
data = f1.read()
elif url == '/login':
with open(r'00、jd-server\login.html','r',encoding='utf-8')as f2:
data = f2.read()
else:
return [b''] return [data]
httped = make_server('', 8800, application) # 封装了socket bind linsten httped.serve_forever() # 等待链接

003---wsgi和wsgiref模块的更多相关文章

  1. 2、基于wsgiref模块DIY一个web框架

    一 web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站.网络应用和网络服务的开发.这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方 ...

  2. django系列1--介绍与简单原理, wsgiref模块

    一.web应用框架 Web应用框架(Web application framework)是一种计算机软件框架,用来支持动态网站.网络应用程序及网络服务的开发.这种框架有助于减轻网页开发时共通性活动的工 ...

  3. wsgiref模块

    学习django框架之前,可以先学习一下wsgiref模块,熟悉前后端交互. 一.先介绍下wsgiref模块 WSGI(Web Server Gateway Interface)是一种规范,它定义了使 ...

  4. wsgiref模块、web框架、django框架简介

    """web框架:将前端.数据库整合到一起的基于互联网传输的python代码 web框架也可以简单的理解为是软件开发架构里面的'服务端'""" ...

  5. wsgiref模块,动静态网页,jinja2模块,django

    基于wsgiref模块搭建服务端 from wsgiref import simple_server def run(request, response): """ :p ...

  6. [py]彻底细究web框架的wsgi+逻辑处理模块

    wsgi逻辑结构初探 参考: 这里图很精彩,wsgi写的不错 web框架 = wsgi+逻辑处理app 接收请求,返回对应的内容 python wsgiref实现了wsgi规范. from wsgir ...

  7. 【教程】【FLEX】#003 自定义事件、模块间通讯

    本篇笔记,主要阐明 事件是如何创建 和 如何使用自定义事件达到模块之间通讯 的效果. 句子解释: 什么叫做模块之间的通讯呢?? 简单点说,就是两个模块之间可以互相传数据. A模块 可以接收到 B模块的 ...

  8. Python--day60--web框架分类和wsgiref模块使用介绍

  9. Python Web开发最难懂的WSGI协议,到底包含哪些内容?

    原文出处: PythonScientists 我想大部分Python开发者最先接触到的方向是WEB方向(因为总是有开发者希望马上给自己做个博客出来,例如我),既然是WEB,免不了接触到一些WEB框架, ...

随机推荐

  1. Python并发编程之进程池与线程池

    一.进程池与线程池 python标准模块concurrent.futures(并发未来) 1.concurrent.futures模块是用来创建并行的任务,提供了更高级别的接口,为了异步执行调用 2. ...

  2. easyui datagrid 动态加载数据 渲染问题,表格错位问题

    $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',width:100}, {fie ...

  3. css改变透明背景png图片的图标颜色

    HTML: <p><strong>原始图标</strong></p> <i class="icon icon-del"> ...

  4. CSS中的鼠标样式明细

    <INPUT   TYPE="submit"   style="cursor:   hand"   value="hand">  ...

  5. Struts2_总结

    还未学习的内容,如果到时候要用到,再去学.1.Lamda 表达式(很复杂,很少用)2.验证框架(默认验证方法 validation.方法开始前验证.开始后验证)3.UI标签(用的不多)4.类型转换中的 ...

  6. django choice字段模板展示

    class UserInfo(AbstractUserInfo): """ 用户表 """ gender_choice = ( (1,&qu ...

  7. js中字符串怎么转化为日期

    var str = "2010-08-01"; // 转换日期格式 str = str.replace(/-/g, '/'); // "2010/08/01"; ...

  8. make知识

    makelist 语法 https://cmake.org/cmake/help/v3.10/manual/cmake-language.7.html CMakeLists.txt I am of t ...

  9. 安卓手机下载YouTube视频的3种方法

    作为全球最大的在线视频网站,YouTube上面的内容可真是应有尽有啊,从教学视频到个人手工艺品制作流程,从各种搞笑视频到电视连续集等等,包罗万象.如果你想下载YouTube视频到电脑上面的话,网上有很 ...

  10. Arduino-串口函数Serial

    串口是Arduino与其它设备进行通信的接口,我们需要很好的掌握它的使用.Arduino串口使用相关的函数共有10个(随着版本的升级,新版本加入了更多,具体请参见官网:http://www.ardui ...