摘要: MTV与MVC+url控制器 MVC框架: Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用 阅读全文
posted @ 2019-07-14 01:12 笑得好美 阅读(4295) 评论(0) 推荐(0) 编辑
摘要: 模板渲染jnja2模块 模板的引入: 在返回动态页面时,上述我们在08版web框架返回每次访问的时间,利用自己写的占位符进行字符串替换进行动态响应; 在实际应用中,完全可以从数据库中读取数据,然后替换html页面中的相关内容(专业名词就是模板渲染,后台渲染先渲染,再返回给浏览器渲染),响应给浏览器动 阅读全文
posted @ 2019-07-14 01:07 笑得好美 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 10 分离式web框架 wsgiref模块: 将http请求封装成以键值对的形式封装成字典environ: "PATH_INFO"对应的值为请求文件路径, “QUERY_STRING”对应的值为get请求发送的数据 “REQUEST+METHOD”对应的值为请求方式。 同时封装一个发送响应格式的函数 阅读全文
posted @ 2019-07-14 00:53 笑得好美 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 09 基于模块wsgiref版web框架 模块引入 真实开发中的python web程序,一般会分为两部分: 服务器程序:负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理; 应用程序:负责具体的逻辑处理。 为了方便应用程序的开发,就出现了众多的Web框架,例如:Django 阅读全文
posted @ 2019-07-14 00:42 笑得好美 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 08 返回动态页面web框架 动态页面: 网页的内容是动态变化的,不是一直不变的(静态页面:每次显示的内容都是一样) 服务器server端python程序(动态页面版本): 1 import socket 2 3 import time 4 5 server=socket.socket() 6 7 阅读全文
posted @ 2019-07-14 00:33 笑得好美 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 07 返回多个页面web框架 服务器server端python程序(不同页面版本): 1 import socket 2 3 server=socket.socket() 4 5 server.bind(("127.0.0.1",8888)) 6 7 server.listen() 8 9 10 1 阅读全文
posted @ 2019-07-14 00:27 笑得好美 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 06 返回静态文件的映射(函数/多线程)web框架 服务器server端python程序(函数版): 1 import socket 2 server = socket.socket() 3 server.bind(("127.0.0.1", 8888)) 4 server.listen() 5 6 阅读全文
posted @ 2019-07-14 00:22 笑得好美 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 05 返回静态文件的多线程web框架 服务器server端python程序(多线程版): 客户端浏览器访问: 在浏览器地址栏直接输入地址端口:127.0.0.1:8888 index.html: <!--[endif]--> <!--[endif]--> 阅读全文
posted @ 2019-07-14 00:14 笑得好美 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 04 返回静态文件的函数web框架 服务器server端python程序(函数版): 客户端浏览器访问: 在浏览器地址栏直接输入地址端口:127.0.0.1:8888 index.html: 阅读全文
posted @ 2019-07-14 00:05 笑得好美 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 03 返回静态文件的高级web框架 服务器server端python程序(高级版): 客户端浏览器访问: 在浏览器地址栏直接输入地址端口:127.0.0.1:8888 index文件html: 阅读全文
posted @ 2019-07-13 23:59 笑得好美 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 02 初级版web框架 服务器server端python程序(初级版): 客户端浏览器访问: 在浏览器地址栏直接输入地址端口:127.0.0.1:8888 <!--[endif]--> 浏览器请求的文件有: 初级版html: 阅读全文
posted @ 2019-07-13 23:48 笑得好美 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 01 基础版web框架 服务器server端python程序(基础版): 客户端浏览器访问: 在浏览器地址栏直接输入地址端口:127.0.0.1:8888 即可在服务端发起请求: server端收到的客户端http请求: 请求行(第一行),请求头部,空行(\r\n),请求数据 GET / HTTP/ 阅读全文
posted @ 2019-07-13 23:39 笑得好美 阅读(205) 评论(0) 推荐(0) 编辑
摘要: HTTP响应格式 阅读全文
posted @ 2019-07-13 23:31 笑得好美 阅读(1897) 评论(0) 推荐(0) 编辑
摘要: HTTP请求格式 <!--[endif]--> URL包含:/index/index2?a=1&b=2;路径和参数都在这里。 请求头部: · content-length表示请求体里面的数据长度; · user-agent:告诉服务端,用什么发送的请求 阅读全文
posted @ 2019-07-13 23:27 笑得好美 阅读(3422) 评论(0) 推荐(0) 编辑
摘要: URL 超文本传输协议(HTTP)的统一资源定位符将从因特网获取信息的五个基本元素包括在一个简单的地址中: · 传送协议。 · 层级URL标记符号(为[//],固定不变) · 访问资源需要的凭证信息(可省略) · 服务器。(通常为域名,有时为IP地址) · 端口号。(以数字方式表示,若为HTTP的默 阅读全文
posted @ 2019-07-13 23:23 笑得好美 阅读(438) 评论(0) 推荐(0) 编辑
摘要: HTTP状态码 所有HTTP响应的第一行都是状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。 状态代码的第一个数字代表当前响应的类型: · 1xx消息——请求已被服务器接收,继续处理 · 2xx成功——请求已成功被服务器接收、理解、并接受 · 3xx重定 阅读全文
posted @ 2019-07-13 23:21 笑得好美 阅读(222) 评论(0) 推荐(0) 编辑
摘要: HTTP请求方法 HTTP/1.1协议中共定义了八种方法(也叫“动作”)来以不同方式操作指定的资源: GET 向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。 阅读全文
posted @ 2019-07-13 23:16 笑得好美 阅读(287) 评论(0) 推荐(0) 编辑
摘要: HTTP协议特点 http协议是基于TCP/IP协议之上的应用层协议. 基于请求-响应 的模式 HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并 返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有 接收到请求之前不会发送响应 无状态保存 HTTP是一种不保存状态,即无状态(s 阅读全文
posted @ 2019-07-13 23:15 笑得好美 阅读(2101) 评论(1) 推荐(0) 编辑
摘要: HTTP协议概述 HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTM 阅读全文
posted @ 2019-07-13 23:14 笑得好美 阅读(294) 评论(0) 推荐(0) 编辑
摘要: HTTP工作原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本 阅读全文
posted @ 2019-07-13 23:14 笑得好美 阅读(1048) 评论(0) 推荐(0) 编辑