WSGI-mini-web框架服务器】的更多相关文章

本文描述如果简单实现自定义Web服务器与自定义简易框架,并且不断进行版本迭代,从而清晰的展现服务器与Web框架之间是如何结合.如何配合工作的.以及WSGI是什么. 本文帖的代码有点多,但基本每次迭代修改的地方很少(为了每一节相对完整,所以重复代码比较多),注意看代码中黄色背景的部分,即是修改的部分. 一.选取一个自定义的服务器版本 参照 https://www.cnblogs.com/leokale-zz/p/11957768.html 中的各种服务器实现版本,我们选择比较简单的多进程版本作为演…
建立server服务端: from wsgiref.simple_server import make_server import time def f1(request): return [b'<h1>hello,Abook!</h1>'] def f2(request): return [b'<h1>hello,Aweb!</h1>'] def cunrrent_time(request): cur_time = time.ctime(time.time…
一.观察以下代码 以下来自 Python实现简易HTTP服务器与MINI WEB框架(利用WSGI实现服务器与框架解耦) 中的mini_frame最后版本的代码: import time def index(): with open("templates/index.html", 'rb') as f: content = f.read() return content.decode("utf-8") def login(): return "----lo…
WEB框架的本质 python的WEB框架分为两大类: 1.自己写socket,自己处理请求 2.基于wsgi(Web Server Gateway Interface WEB服务网关接口),自己处理请求 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 看下面的代码是WEB最本质的WEB框架(自己写的socket,自己处理的请求) #!/usr/bin/env python #coding:utf-8 import socket…
07 返回多个页面web框架 服务器server端python程序(不同页面版本): import socket server=socket.socket() server.bind(("127.0.0.1",8888)) server.listen() def func_indexHtml(conn): with open("index.html","rb")as f: conn.send(f.read()) def func_js(conn)…
06 返回静态文件的映射(函数/多线程)web框架 服务器server端python程序(函数版): import socket server = socket.socket() server.bind(("127.0.0.1", 8888)) server.listen() def func_html(conn): with open("index.html", "rb")as f: conn.send(f.read()) def func_j…
05 返回静态文件的多线程web框架 服务器server端python程序(多线程版): import socket from threading import Thread,currentThread,activeCount,enumerate server = socket.socket() server.bind(("127.0.0.1", 8888)) server.listen() def func_html(conn): print("html>>&g…
04 返回静态文件的函数web框架 服务器server端python程序(函数版): import socket server = socket.socket() server.bind(("127.0.0.1", 8888)) server.listen() def func_html(conn): with open("index.html", "rb")as f: conn.send(f.read()) def func_js(conn):…
03 返回静态文件的高级web框架 服务器server端python程序(高级版): import socket server=socket.socket() server.bind(("127.0.0.1",8888)) server.listen() # 客户端请求每次都是独立不记录状态的无连接的,因此每个资源都会进行请求,要一直监听随时建立连接 while 1: conn,client_addr=server.accept() # 获取每次请求的文件路径 http_request…
02 初级版web框架 服务器server端python程序(初级版): import socket server=socket.socket() server.bind(("127.0.0.1",8888)) server.listen() conn,client_addr=server.accept() #接收到的请求信息 http_request=conn.recv(1024).decode() print("请求信息:",http_request) #con…