静态页面 — 动态页面 :
页面中的内容是动态生成的
页面中的内容是用程序自动生成的
Python(的程序) —> HTML(页面)
Web应用:(可以做服务器端的应用程序) - 知识点一//
1
2
3
4
5
6
7
8
9
知识点一 : Web应用 - 基于浏览器来使用的应用程序
只要有网络和浏览器就能使用它
如果应用程序升级那么用户不用做任何特殊处理

计算机网络诞生:(发展史)
分组交换网 - ARPANET
国际标准化组织 ISO 开放系统互联参考模型 - OIS / RM
TCP / IP模型
1991年 - 浏览器出现了

web应用

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)

TCP-IP模型

冗余校验码(科普):

浏览器中 : 有渲染引擎与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缓存(体积小, 性能好) - 俄罗斯人出品的 - 最好的服务器
另外还有一个阿帕奇服务器 - 美国人出品的

web应用术语

页面 / 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请求

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架构模式:

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

Django

总结 :

​ 1.Web应用及其特点 , 流程

​ 2.HTTP(s) - 应用级协议 - 使用了TCP协议的传输服务

​ 3.Django - Web框架 - MVC架构模式(MV*) - [放之四海而皆知] - MTV

最后更新: 2018年07月02日 20:42

原始链接: http://yoursite.com/2018/07/02/Web应用与Django/

× 请我吃糖~
打赏二维码