什么是web应用?
web应用 架构 :B/S架构 | C/S架构
网站:BS架构其实就是应用程序: B是浏览器 S是sever(实现了wsgi协议,实现了socket的服务端) + application
web框架:就是在写application
MVC和MTV架构:
MVC模式:
将应用程序拆分成了三个组成部分,1.model模型 2.view视图 3.controller控制器
-M:Model 跟数据库打交道,管理约束程序状态,一般来说通常存储到数据库中;并约束改变状态的行为(业务规则)
-V:模板 把数据格式化后呈现给用户
-C:控制器 接受用户的操作,根据其操作访问模型来获取数据,并调用视图来显示这些数据 控制器将模型和视图隔离开来了
并成为二者之间的联系纽带。
MTV模式(本质MTV也是MVC架构):
-M:Model跟数据库打交道,即为数据存储层。处理数据相关所有业务,如何存取,验证有效性,包含哪些行为及数据之间的关系等。
-T:Templates模板层,即为表现层。处理与表现相关业务,例如何在页面或其他类型文档中进行显示。
-V:视图,业务逻辑关系。包含存取模型以及调用恰当的模板的相关的逻辑。也可以看做是模型与模板的纽带
Django(MTV)也是一个MVC框架,但在django中 控制器接受用户输入的部分是由框架来自行处理的,所以django中
更关注的是model模型,templant模板,view视图 即称为MTV模式
django中常用命令:
1.终端命令:django-admin startproject sitename (在当前目录下创建一个Django程序)
2.IDE创建Django程序时,本质上都是自动执行上述命令
3.python manage.py runserver ip:port (启动服务器,默认ip和端口为http://127.0.0.1:8000/)
4.python manage.py startapp appname (新建 app)
5.python manage.py syncdb (同步数据库命令,Django 1.7及以上版本需要用以下的命令)
6.python manage.py makemigrations (显示并记录所有数据的改动)
7.python manage.py migrate (将改动更新到数据库)
8.python manage.py createsuperuser (创建超级管理员)
9.python manage.py dbshell (数据库命令行)
10.python manage.py (查看命令列表)
http协议
什么是http协议?
HTTP(HyperText Transport Protocol)是超文本传输协议
基于TCP/IP协议基础上的应用层协议,底层实现仍为socket
基于请求-响应模式:通信一定是从客户端开始,服务器端接收到客户端一定会做出对应响应
无状态:协议不对任何一次通信状态和任何数据做保存
无连接:一次连接只完成一次请求-响应,请求-响应完毕后会立即断开连接
http工作原理(事务)
一次http操作称之为一个事务,工作过程可分为四步
1.客户端与服务端建立连接
2.客户端发生一个http协议指定格式的请求
3.服务器端接收请求后,回应一个http协议指定格式的响应
4.客户端将服务器的响应显示展现给用户
状态码:
1打头:消息通知
2打头:请求成功
3打头:重定向
4打头:客户端错误
5打头:服务器端错误