【无标题】

第一单元知识点

1.1.1 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

linux下可以通过curl -V命令可以查看,当然也可以通过浏览器的检查器看到

curl -v https://baidu.com

展示的请求头是这样的

  • About to connect() to baidu.com port 80 (#0)
  • Trying 220.181.38.148…
  • Connected to baidu.com (220.181.38.148) port 80 (#0)

GET / HTTP/1.1
User-Agent: curl/7.29.0
Host: baidu.com
Accept: /

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

服务器接收到之后,会向我们返回一个Response响应,浏览器接收到了Response之后,会帮助我们对信息进行解析,之后我们就可以看到对应的Web页面及获取到的资源

同样也可以使用命令或者浏览器检查查看得到效果

curl -v https://baidu.com

效果是这样的

< HTTP/1.1 302 Moved Temporarily
< Server: bfe/1.0.8.18
< Date: Thu, 19 Nov 2020 01:45:26 GMT
< Content-Type: text/html
< Content-Length: 161
< Connection: keep-alive
< Location: http://www.baidu.com/
< 
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>bfe/1.0.8.18</center>
</body>
</html> 

1.1.2 动态、静态网站

静态网站

pip install --taget= c:\users\sunna\appdata\local\programs\python\python37\lib\site-packages virtualenv

某一天,你的老板让你开发一款新闻站点,你有什么办法呢?

学过html的同学可以知道,我可以把新闻写在html页面中,并加上美丽的css样式,绚丽的js动画效果。

但是我们要考虑一个问题,新闻每一天都是不停变化的,那么怎么能快速迅捷的将每一天崭新的内容快速的发布在网页中,让我们的阅读者可以及时的看到新鲜的内容呢?

这很明显是一项需要拼手速的工作,而最初这些拼手速所写成的网站,也叫做静态网站

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

比如一些成型的美女图片网站、*公司企业的官网

动态网站

那么如何解决这样新闻站点每天海量的数据更新呢?这很明显是一项是通过手动修改页面不实际的任务。

于是乎,久而久之,人们发现我们其实展示数据的页面都是类似的,只是每一个位置上每一天的内容不一样,那么可以提前在这些位置挖一些,数据不再是写死的,而是通过数据库等手段传递到这些坑位上,而负责传递数据的这个部分,我们一般就叫做Web 框架

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

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


一次用户的访问,由两部分组合,发起Request请求,由框架返回Response

1.2 Django框架

1.2.1 框架介绍
MVT&MVC

知道了框架的意义,那么就很好阐述我们接下来要讲的Django,这个框架的设计模式,Django主要采用MVT模式

M-model模型,操作数据库功能部分

V-View视图,处理业务逻辑的位置,提取数据、获取用户数据等等操作都在这里

T-Template模版,用来展示视图操作后的数据,也可以在模版中为用户提供表单,让用户可以提交数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值