每日小学习四

1 谈谈你对restful 接口规范的认识?

答:首先restful 是一种软件架构风格或者是一种设计风格,并不是标准的,他只是提供了一组

设计原则和约束条件,主要用于客户端和服务器交互的软件。

就像设计模式一样,并不是一定要遵循这些原则,而是基于这个风格设计软件可以更简洁,更有层次,我们可以根据开发的实际情况,做相应的改变。

1 restful 提倡面向资源的编程,在url接口中尽量要使用名词,不要使用动词

2 在url接口中推荐使用Https协议,让网络接口更安全、

3 在url中可以体现版本号

4 url  中可以体现是否api接口

5 url 中可以添加条件去筛选匹配

6 可以根据http 不同的method,进行不同的资源操作

7 响应式应该设置状态码

8 有返回值,而且格式为统一的json格式

9 返回错误信息

10 返回结果中要提供帮助链接,即api 最好做到Hypermedia

2 为什么要使用API?

答: 使用api,您可以实施在程序和设备之间创建无缝的数据传输流

借助 api ,用户可以在一个地方获取所有必要信息,使用应用程序或站点作为访问不同数据的

通用网关。 开发人员只需要将必要的功能连接到产品即可使用现成的功能,这节省了时间,

无需从头开始支付开发费用。

对于大型软件开发接口可以用少数人快速设计出框架,然后让很多人来分头实现

3 django的生命周期

1 wsgi 请求封装后交给web框架

2 中间件,对请求进行校验或在请求对象中添加其他相关数据

3 路由匹配 根据浏览器发送的不同的url去匹配不同的试图函数

4 试图函数,在试图函数中进行业务逻辑处理

5 中间件,对响应的数据进行处理

6 wsgi  将相应的内容发送给浏览器

3 说一下django ,MIDDLEW ARES 中间件的作用和应用场景。

中间件是介于request与response处理之间的一道处理过程,用于在全局范围内改变Django的输入和输出

简单的来说中间件是帮助我们在试图函数执行前和执行后都可以做一些额外的操作。

1.Django项目中默认启用了csrf保护,每次请求时通过CSRF中间件检查请求中是否有正确token值
2.当用户在页面上发送请求时,通过自定义的认证中间件,判断用户是否已经登陆,未登陆就去登陆。
3.当有用户请求过来时,判断用户是否在白名单或者在黑名单里

原文地址:https://www.cnblogs.com/wkhh/p/12074838.html

时间: 2024-10-09 03:27:49

每日小学习四的相关文章

每日小学习

1 简述django 的安装方法? 答: pip install django==2.1.7 2 django 创建项目app 的命令? 答:1  创建项目: django-admin startproject      + 项目名         2 创建app: python manage.py startapp  + app名 3  django 和 flask 的区别? 答: 1 django 功能全面,一战试解决思路,能让开发者不用在开发之前就在选择应用基础设施上花费大量时间.djan

【iOS开发每日小笔记(四)】iOS 7中如何除去UIAlertView 规避delegate对象销毁后接收消息的crash

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.该分类的文章,内容涉及的知识点可能是很简单的.或是用很短代码片段就能实现的,但在我看来它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习.如果看官觉得太easy,太碎片,则可以有两个选择:1,移步[iOS探究]分类,对那里的文章进行斧正:2,在本文的评论

【iOS开发每日小笔记(六)】Swift语言学习的入门随想

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.该分类的文章,内容涉及的知识点可能是很简单的.或是用很短代码片段就能实现的,但在我看来它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习.如果看官觉得太easy,太碎片,则可以有两个选择:1,移步[iOS探究]分类,对那里的文章进行斧正:2,在本文的评论

【iOS开发每日小笔记(九)】在子线程中使用runloop,正确操作NSTimer计时的注意点 三种可选方法

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习. 一直想写一篇关于runloop学习有所得的文章,总是没有很好的例子.正巧自己的上线App Store的小游戏<跑酷好基友>(https://itunes.apple.com/us/app/pao-k

【iOS开发每日小笔记(五)】实测copy到底是个神马玩意

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.该分类的文章,内容涉及的知识点可能是很简单的.或是用很短代码片段就能实现的,但在我看来它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习.如果看官觉得太easy,太碎片,则可以有两个选择:1,移步[iOS探究]分类,对那里的文章进行斧正:2,在本文的评论

nodejs学习四 Node.js NPM

什么是NPM? 不知道大家注意没有,windows平台下的Node.js安装包大小才区区4M多,真可以用短小精悍来形容它,作为一种编程语言,像java一个SDK 就几十M,为什么node.js的运行环境这么小呢?这其中的微妙之处在于,它拥有一个庞大的第三方软件库. 在Node本身提供的包(原生)中没有我们要实现的功能模块的时候,我们可以去寻找下是否已经有人实现了这种功能.毕竟重复造轮子这种事情,很多人都不想干. 去哪里寻找我们想要的包呢?如果你还不知道报的名字,你可以去https://www.n

Beaglebone Back学习四(GPIO实验)

GPIO Beaglebone Back开发板引出了92个引脚,其中只有65个GPIO口可通过配置使用,由于引脚具有"复用"的特性,大约每个引脚有8种工作模式(Beagle System Reference Manual),默认情况下,设为Mode7.由于P8扩展部分的引脚功能相对简单,复用不多,故项目功能复杂时,最好选择P8上的GPIO口. 对GPIO口的操作,主要有三个步骤 1 选择GPIO口根据以下两表,确定使用那个GPIO口,该表也可以在BBB_SRM文件中找到. (1)拉电流

java每日小算法(5)

/*[程序5] 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 1.程序分析:(a>b)?a:b这是条件运算符的基本例子. */ package test; public class test { public static String grade(int num) { String result = (num>=90)?"A":(num>=60)?"B":&quo

SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合

之前我整合了Spring和MyBatis这两个框架,不会的可以看我的文章MyBatis框架的学习(六)——MyBatis整合Spring.本文我再来讲SpringMVC和MyBatis整合开发的方法,这样的话,Spring.MyBatis和SpringMVC三大框架的整合开发我们就学会了.这里我使用的Spring是Spring4.1.3这个版本(SpringMVC自然也是这个版本),MyBatis是MyBatis3.2.7这个版本. 为了更好的学习SpringMVC和MyBatis整合开发的方法