静态页面 — 动态页面 :
页面中的内容是动态生成的
页面中的内容是用程序自动生成的
Python(的程序) —> HTML(页面)
Web应用:(可以做服务器端的应用程序) - 知识点一//
1 2 3 4 5 6 7 8 9
| 知识点一 : Web应用 - 基于浏览器来使用的应用程序 只要有网络和浏览器就能使用它 如果应用程序升级那么用户不用做任何特殊处理 计算机网络诞生:(发展史) 分组交换网 - ARPANET 国际标准化组织 ISO 开放系统互联参考模型 - OIS / RM TCP / IP模型 1991年 - 浏览器出现了
|

PHP / ASP / JSP - P值得是page
应用级协议: 知识点二 //
HTTP(s) - 应用级协议 - 使用了TCP协议的传输服务
HTTP / HTTPS : 应用级协议 - 底层传输协议 - TCP - 保证可靠通信 / 数据不流失
TCP / IP模型 : 四层(面试)
1
| 物理链路层(解决分帧 + 校验) -> 两台计算机就可以通信了 - 网络层(IP协议 / TCMP协议-协议族)(解决寻址与路由)-> 端到端的数据传输 - 传输层(TCP(承诺三件事) / UDP) -> 解决端到端的可靠通信 - 应用层(定义应用级协议)(QQ - ICQ协议 / QQ协议(现用) / HTTP / HTTPS / SMTP / FTP / Telnet / SSH)
|

冗余校验码(科普):
浏览器中 : 有渲染引擎与JS引擎
术语: (面试)
1 2 3 4 5 6 7 8 9
| URL/URI : 统一资源定位符/统一资源标识符,网络资源的唯一标识 域名 : 与Web服务器地址对应的一个易于记忆的字符串名字 DNS : 域名解析服务,可以将域名转换成对应的IP地址(翻译成ip地址就可以访问服务器) IP地址 : 网络上的主机的身份标识,通过IP地址可以区分不同的主机(路由器通过ip地址找到你) HTTP : 超文本传输协议,基于TCP建立可靠传输的应用层协议,万维网数据通信的基础(浏览器与服务器之间传输的载体) 反向代理 : 代理客户端向服务器发出请求,然后将服务器返回的资源返回给客户端(存在web浏览器 与 web服务器之间)(请求发送给反向代理 - 反向代理帮你找到离你最近的服务器) Web服务器 : 接受HTTP请求,然后返回HTML文件、纯文本文件、图像等资源给请求者(支撑HTTP请求 - 部署在上面) Nginx : 高性能的Web服务器,也可以用作反向代理,负载均衡 和 HTTP缓存(体积小, 性能好) - 俄罗斯人出品的 - 最好的服务器 另外还有一个阿帕奇服务器 - 美国人出品的
|

页面 / js / 静态资源 - 返回给用户界面
URL :
1
| 协议://IP地址或域名:端口号/路径1/路径2/资源
|
HTTP :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| HTTP请求(请求行+请求头+空行+[消息体]):(所用工具 - Ethereal -->现在的名字 Wireshark) 例子: 网卡设置成混杂模式 - 可以看到用户名与密码(如果没有走TCP-HTTPS协议) 抓取HTTP协议下的数据: HTTP(s) ---> Charles(花瓶) - 抓包工具 Chrome ---> 开发人员工具 HTTP响应(响应行+响应头+空行+消息体): 常用请求 : get请求 / post请求 index/ : 代表首页 \r\n : 代表换行 冒号 : 键值对存在 冒号前是键 , 冒号后是值 如果是post请求 : 空行后面有消息体 如果是get请求 : 空行后面没有消息体 405 : 请求方法不正确 403 : 禁止访问 401 : 授权访问 500: 服务器错误(500开头都是) 404 : 请求资源不存在
|
HTTP请求(请求行+请求头+空行+[消息体])
HTTP响应(响应行+响应头+空行+消息体)

Django概念:
1 2 3 4 5
| Python的Web框架中比较有名的有:Flask、Django、Tornado、Pyramid、Bottle、Web2py、web.py等 企业开发 - 最好是Java 产品快速占领市场 : Python / PHP Python中有35个关键字 做web应用需要MVC架构
|
版本关系:

MVC架构模式:

1 2 3 4 5 6 7 8
| model : 程序中的数据 view : 展现给用户看的页面(同样的数据可以展现出不同的视图/ 同一个视图可以加载不同的模型) controller : 控制器, 负责把分离的视图与模型结合起来(连接视图与模型的桥梁) 架构理念 : 模型与理念分开 : 数据与数据的解耦合 解耦合 : 高内聚, 低耦合 高内聚 : 低耦合 : 模块与模块之间 标签装数据 / 样式表渲染页面
|
MTV:
1 2 3
| model : 模型 Template : 模板 view : 控制
|
内容管理系统 —> Django - Web框架: 知识点三 //
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 检查版本 : python --version 先建项目文件夹 : mkdir hellodjango 再建虚拟环境目录 : 方法一 :python3 -m venv venv(虚拟环境目录文件夹) 方法二 : virtualenv --no-site-packages helloenv 进入虚拟环境文件夹 : cd helloenv / cd venv cd Scripts / cd bin 激活虚拟环境 : source venv/bin/activate(阿里云)/activate(Windows) / source activate 更新pip环境 : python -m pip install -U pip 安装django : pip install django(如果没有指定版本, 就装的是最新的稳定版本) 查看django版本 : django-admin --version 创建项目 : django-admin startproject hellodjango . 运行服务器 : python manage.py runsever 172.18.206.219:80 终止服务器 : Ctrl + c 创建应用 : python manage.py startapp demo(应用名称) 包 : __init__.py 视图 : views.py - (控制器) 模型 : models.py 应用 : app.py 迁移 : migrations - 数据迁移 DIRS: 目录 绝对路径 : abspath 路径连接 : 'DIRS': [os.path.join(BASE_DIR, 'templates')], 渲染 : render
|

总结 :
1.Web应用及其特点 , 流程
2.HTTP(s) - 应用级协议 - 使用了TCP协议的传输服务
3.Django - Web框架 - MVC架构模式(MV*) - [放之四海而皆知] - MTV