Python WSGI与web框架常考点

WSGI 常见Web框架

◆什么是WSGI?
◆常用的 Python Web框架Dang/Fask/Tornado对比
◆web框架的组成(淡化框架,加强基础)

什么是WSGI?

什么是WSGI?为什么需要它?
经常使用uwsgi/gunicorn
部署 Django/Flask应用
为什么Flask/Django都可以运行在 gunicorn之上?
◆Python Web Server Gateway Interface(pep3333)
◆解决 Python Web Server乱象 mod_python, CGI, FastcGI等
◆描述了 Web Server(gunicorn/uWSGI)如何与web框架(Flask/Django)交互,Web框架如何处理请求

一个简单的兼容WSGI的web应用

运行web应用

常用的 Python Web框架对比

Django vs Flask vs Tornado
◆ Django:大而全,内置ORM、 Admin等组件,第三方插件较多
◆ Flask:微框架,插件机制,比较灵活
cookiecutter-flask
生成统一的项目模板
◆ Tornado:异步支持的微框架和异步网络库

什么是MVC?

MVC:模型(Model),视图(View),控制器(Controller)
解耦数据、展示和操作
◆ Model:负责业务对象和数据库的交互(ORM)
◆ VieW:负责与用户的交互展示
◆ Controller:接收请求参数调用模型和视图完成请求
Object Relational Mapping,对象关系映射
◆用于实现业务对象与数据表中的字段映射
Sqlalchemy
Django ORM
Peewee
◆优势:代码更加面向对象,代码量更少,灵活性高,提升开发效率

Web安全常考点

常见的web安全问题,原理和防范措施。安全意识

◆SQ注入
◆XSS(跨站脚本攻击, Cross-Site Scripting)
◆CSRF(跨站请求伪造, Cross-site request forgery)

什么是SQL注入?

SQL注入与防范
◆通过构造特殊的输入参数传入Web应用,导致后端执行了恶意SQL
◆通常由于程序员未对输入进行过滤,直接动态拼接SQL产生
◆可以使用开源工具 sqlmap, SQLninja检测
拼接sql 导致
解决办法

如何防范SQL注入?

Web安全一大原则:永远不要相信用户的任何输入
◆对输入参数做好检査(类型和范围);过滤和转义特殊字符
◆不要直接拼接sql,使用ORM可以大大降低sql注入风险
◆数据库层:做好权限管理配置;不要明文存储敏感信息

什么是XSS?

Xss( Cross Site Scripting),跨站脚本攻击
◆恶意用户将代码植入到提供给其他用户使用的页面中,未经转义的恶意代码输岀到其他用户的浏览器被执行
◆用户浏览页面的时候嵌入页面中的脚本(js)会被执行,攻击用户
◆主要分为两类:反射型(非持久型),存储型(持久型)
XSS危害
XSS可以利用js实现很多危害巨大的操作
◆盗用用户 cookie,获取敏感信息

前后端分离与RESTful常见面试题

什么是前后端分离?什么是 RESTful
◆前后端分离的意义和方式
◆什么是 RESTfUl
◆如何设计 RESTful API

什么是前后端分离?有哪些优点?

后端只负责提供数据接口,不再渲染模板,前端获取数据并呈现
◆前后端解耦,接口复用(前端和客户端公用接口),减少开发量
◆各司其职,前后端同步开发,提升工作效率。定义好接口规范
◆更有利于调试(mock)、测试和运维部署
不好做SEO

什么是 RESTful

Representational State Transfer
◆表现层状态转移,由HTTP协议的主要设计者RoyFielding提出
◆资源( Resources),表现层( Representation),状态转化(State Transfer)
◆是一种以资源为中心的web软件架构风格,可以用Ajax和 RESTful web服务构建应用

RESTful解释

三个名词的解释
◆ Resources(资源):使用URI指向的一个实体
◆ Representation(表现层):资源的表现形式,比如图片、HTML文本等
◆ State Transfer(状态转化):GET、POST、PUT、 Delete Http 动词来操作资源,实现资源状态的改变

RESTful 的准则

设计概念和准则
◆所有事物抽象为资源(resource),资源对应唯一的标识(identifier)
◆资源通过接口进行操作实现状态转移,操作本身是无状态的
◆对资源的操作不会改变资源的标识
把HTTP动词语义和数据库的增删改查结合到一起

什么是 RESTful API

RESTful 风格的API接口
◆ 通过 Http GET/POST/PUT/DELETE    获取/新建/更新删除 资源
◆ 一般使用JSON格式返回数据
◆ 一般web框架都有相应的插件支持 RESTful API
如何设计 RESTful API?

Web框架和Web安全思考题

什么是 Https?
中高级考点:HTTP和Https的区别
◆Https和HTTP的区别是什么?
◆你了解什么是对称加密和非对称加密吗?
◆HTPS的通信过程是什么样的?你能否用 Wireshark抓包观察

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

第9章 Python Web 框架考察点相关推荐

  1. Python Web框架

    Bottle: Python Web框架中文文档 Bottle是一个快速,简单,轻量级的 Python WSGI Web框架.单一文件,只依赖 Python标准库 . URL映射(Routing): ...

  2. Django企业开发实战 高效Python Web框架指南 笔记 (一)

    Django企业开发实战 高效Python Web框架指南 笔记 (一) 内容: 作者是 the5fire,他的博客地址:https://www.the5fire.com/957.html 2016年 ...

  3. python web框架介绍对比

    Django Python框架虽然说是百花齐放,但仍然有那么一家是最大的,它就是Django.要说Django是Python框架里最好的,有人同意也有人 坚决反对,但说Django的文档最完善.市场占 ...

  4. python写web难受-(2017)你最不建议使用的Python Web框架?

    原标题:(2017)你最不建议使用的Python Web框架? 前言 这是一篇发在知乎专栏的文章,内容是之前我提的「(2017)你最不建议使用的Python Web框架?」下的回答.不过有些话没有说完 ...

  5. python的web框架哪个最好学_2018年要学习的10大Python Web框架

    通过为开发人员提供应用程序开发结构,框架使开发人员的生活更轻松.他们自动执行通用解决方案,缩短开发时间,并允许开发人员更多地关注应用程序逻辑而不是常规元素. 在本文中,我们分享了我们自己的前十大Pyt ...

  6. python web框架互相融合, Pyramid或取代Django

    Django用久了,难免会感觉到自由度不够.不可否认,这种自由度的牺牲能够带来一些好处.比如,一体化的框架(full-stack framework)能够提供全面的solution,你不需要再为cac ...

  7. python web 框架例子_最快的 Python Web 框架入门

    原标题:最快的 Python Web 框架入门 来源:Python开发 ID:PythonPush 速度比较 框架 实现基础 每秒请求数 平均时间 Sanic Python 3.5 + uvloop ...

  8. “脚踢各大Python Web框架”,Sanic真有这能耐么?

    在Github上,Sanic第一句介绍语就是: "Sanic is a Flask-like Python 3.5+ web server that's written to go fast ...

  9. python web框架对比_Python六大开源框架对比

    Python 是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还 ...

最新文章

  1. 【一张图系列】理解安全上下文
  2. bat自动输入用户名和密码_「小白到大牛之路6」交换机后台管理之重复输入用户名和密码...
  3. 二十年来一直没搞清楚的一个问题
  4. python不能安装的问题_无法安装pythoncolam
  5. eclipse maven plugin 插件安装和配置
  6. mysql 增加一列 伦理名_MySQL错误提示mysql Statement violates GTID consistency
  7. MapReduce实现倒排索引(Inverted Index)
  8. VMware 网络环境配置(win7系统)
  9. 头条 上传图片大小_2021今日头条!龙华《学仕名府》规划《学仕名府》简介《学仕名府》全国上市!-龙华新区名盘导购...
  10. 第三届蓝桥杯B组 C/C++取球游戏
  11. JVM学习笔记07-垃圾回收
  12. 关于mac os更新到monterey, MATLAB出现Warning: the font “Times“ is not available, so “Lucida Bright“ has
  13. [软件使用][视频播放器]potplayer去掉外框
  14. 所有伟大的创新,本质上都是从一小撮年轻人肆无忌惮打破规则开始的
  15. RESTful客户端库:RestClient
  16. 华为研发加班160个小时意味这什么
  17. Oracle EBS 企业税改方案(三)-未结采购单据及部分AP Invoices税率调整
  18. Hyperledger Fabric 1.3 官方文档翻译(三)关键概念 (Key Concepts) - 3.7 对等节点 (Peers)
  19. 通用汽车的迅速破产计划面临阻碍
  20. 海南机器人等级考试_海南举办青少年机器人竞赛 320名学生五项赛事角逐

热门文章

  1. 华为手机鸿蒙2.0系统界面,华为鸿蒙2.0系统
  2. date样式找不到_涡轮+国VI排放,顶配售价不到12万,家用轿车看它准没错
  3. python3.7保存_python3.7爬取墨菲定律保存在本地txt
  4. python动态图片转字符画_使用python实现一个将图片转换成字符画的功能
  5. Windows环境下MySQL 5.7的安装、配置与卸载
  6. 四十、ETL工具的输入步骤
  7. 装上后这 14 个插件后,PyCharm 能飞起
  8. 别人的加班 vs 互联网人的加班
  9. python if和while的区别_python基础--while循环和if判断、基本运算符
  10. 数列分块入门3(查询前驱)