一、基础知识
1.1 web程序本质
- 接收客户端的请求。
- 解析请求,处理数据。
- 构造响应返回。
1.2 设计模式
1.2.1 经典的MVC设计模式
Model:数据存储层,表的定义和数据增删改查。
View:视图层,系统的前端输出,允许用户交互。
Controller:控制层,接收用户输入并调用Model和View完成需求。
-
请求流程:
用户浏览器向服务器发起request请求,controller接收到请求,同时向Model和View发指令;
Model根据指令选取业务数据,发送给 Controller;
View根据指令加载对应页面,发送给Controller;
Controller收到二者返回的数据,组织成响应格式发给浏览器。 -
优点:
降低代码耦合度,增加模块重用性。
1.2.2 Django的MTV设计模式
Model:数据存储层。
Template:模板层,处理页面显示。
View:业务逻辑层,处理业务逻辑。
MVC的V层,在这里被细分为Template和View层。
- 请求流程:
用户浏览器发起request请求,服务器收到后,通过View层分析后,同时向Model和Template发指令;
Model层取数据返回给View;
Template层调用对应的模板返回给View;
View层收到后,把数据填到模板中,组织为响应格式发给浏览器。
1.3 URL
URL即统一资源定位符,表示互联网上某个资源的地址。每个资源都有一个唯一的URL,其中的信息指出了文件的位置和浏览器该怎么处理它。
URL语法格式:
protocol://hostname[:port]/path[?query][#fragment]
- protocol:网络传输协议,常见的有http,https,file,ftp。
- hostname,资源所在的服务器的域名、主机名或IP地址。
- port,端口号,范围0-65535。可省略,省略时会使用各种传输协议的默认端口号。
- path,路由地址,一般表示主机上的目录或文件地址。
- query,查询字符串,从?开始到#结束,包含多个参数,使用&隔开。
- fragment,信息片段,用于定位网页上的信息。
一些特殊符号无法在URL中使用,这时会用该符号的ASCII编码值。