【HTTP基本概念】

基本概念

HTTP 协议
HTTP 协议

HTTP 协议是接下来学习网站框架最重要的协议HTTP (HyperText Transfor Protocol) 超文本传输协议是互联网目前应用最为广泛的一种协议目前的 WWW 服务器都基于 HTTP 协议,HTTP 协议的目的是为了提供一种发布 Web 及接收 Web 页面数据的方法HTTP 协议常用端口为 80,客户端首先通过 80 端口向 HTTP 服务端发起请求,建立 TCP 连接,之后进行 HTTP 数据传输

B/S 架构

HTTP 协议属于建立在 TCP 协议中的应用层上的一种协议,HTTP 协议以客户端请求和服务端应答为标准,浏览器(*browser*)通常被人称为客户端,Web 服务器(*server*)常被称作服务端,所以人们经常称这样浏览器/服务端的架构为 B/S 架构

短链接

当浏览器作为客户端访问服务器之后,取到所有所需的数据,立即断开 TCP 连接,整个 HTTP 连接过程非常短,所以人们也常称 HTTP 协议为无连接的协议这也因为每一次 HTTP 的请求,都是重新开启一个新的连接,而不是在一个历史连接持续工作

Request 请求

当我们使用HTTP协议访问某个连接时,首先需要向服务器提交一个Request请求

一般当我们使用浏览器访问Web服务时,由浏览器完成这个工作,Request消息分为三部分,分别包括:Request LineRequest HeaderBody

请求方式

请求解释
GET获取服务端数据,比如浏览一个网站,最普通的动作
POST向服务端提交数据,比如注册帐号的时候
PUT向服务端上传数据
DELETE删除服务端通过 Request-URL 所标示的资源
TRACE测试服务端是否可以接收到 Request 请求
CONNECT以管道方式连接代理服务器
OPTIONS返回服务器所支持的其他 HTTP 请求方法
HEAD与 GET 方法类似,但不返回服务器响应时的消息体

状态码

状态码状态码英文标示意义
100ContinueHTTP/1.1 中新增状态码,表示客户端可以继续请求 HTTP 服务器
101Switching Protocols服务端切换请求协议,切换到 HTTP 协议新版本
200OK客户端的请求服务端正常完成
301Moved Permanently客户端请求的资源已被永久移动到新的 URL
302Found客户顿请求的资源被临时移动,客户端继续使用原有 URL;常用于三方登录之后的跳转
304Not Modified请求的资源未被修改,可以继续访问原 URL
常用于使用缓存的情况下
400Bad Request客户端的请求语法错误,或无法解析请求
401Unauthorized请求需要经过身份验证
402Payment Required保留状态码,为以后使用做准备的呢
403Forbidden服务端直接拒绝客户端的请求
404Not Found客户端请求的资源找不到
405Method Not Allowed客户端请求的方式不被允许
406Not Acceptable客户端请求的内容无法正常完成
499Client has closed Connection服务端处理该请求花费了太长的时间
500Internal Server Error服务端内部错误;
可能是因为 Web 服务配置文件读取错误
也可能是因为用户权限等等问题导致
502Bad Geteway服务端内部错误,服务端错误的网关
503Service Unavailable服务端无法响应客户端的请求;
504Gateway Time-out服务端处理请求超时,或者可能是访问的网管超时
505HTTP Version not
Supported
客户端请求的 HTTP 协议版本无法被服务端支持,
可能是你的浏览器太古老了

静待网站

所谓静态网站的概念也很简单,就是将数据直接写死在页面中,静态网站也因此经常使用在一些数据不经常改变的场景下,网站内容也是相当的稳定,几乎不会怎么更新

动态网站

每一个位置上每一天的内容不一样,那么可以提前在这些位置挖一些,数据不再是写死的,而是通过数据库等手段传递到这些坑位上,而负责传递数据的这个部分,我们一般就叫做Web 框架

这也是我们接下来要学习的Django框架他的主要意义,为页面传递数据,或者接受页面数据传递给数据库或做一些其他操作

再详细些,那么就是获取用户的请求之后,进行一系列的操作处理,再为用户返回数据,并渲染到页面上

Django 框架

框架介绍
MVT
Django主要采用MVT模式

M-model : 模型 :操作数据库功能部分
V-view: 视图:处理业务逻辑的位置,提取数据,获取用户数据等操作都在这里
T-Tepmplate: 模板:用来展示视图操作后的数据,也可以在模板中为用户提供表单,让用户可以提交数据

MVC
MVC与MVT类似

M-model:模型:和MVT中的 M 一样,用来操作数据库
V-View:视图:和MVT中的 T 一样,进行数据的可视化
C-Controller:控制器:相当于MVT中的V,进行数据的逻辑操作

Django 介绍

Django是一个开放源代码的Web 应用框架,由纯Python写成,是目前 Python 语言中主流 de 三大Web框架之一(flaskdjangotornado),也是最容易上手的框架

Django 特点

适合与内容有关的项目,常见的就是后台管理,适合敏捷开发,可以让开发者快速高效的产出,而其他需要并发等的业务体系,Django就不合适了

子应用

子应用是什么&意义

子应用是专门做某件事的网络应用程序,就好比如博客系统中的用户部分功能,一个考试体系中管理试卷的部分
项目是一个网站使用的配置和应用的集合,一个项目可以包含很多个app应用,应用可以被很多个项目使用

子应用的创建
python manage.py startapp 项目名称
子应用的目录结构
app/:app目录
admin:这个app所使用的表模型是在admin注册展示时需要的文件
views.py:视图函数文件,编写主要的增删改查等数据逻辑的地方
models.py:未来操作数据库时,如果使用ORM映射关系,那么将使用该文件
子应用视图逻辑

创建好了子应用,接着来编写实际的功能视图函数吧,让我们具有一个自己真正的页面!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值