【python面试指北】7. web框架
2019-11-12 本文已影响0人
知鱼君
WSGI
什么是WSGI
- python web server gateway inteerface
- 解决python web server 乱象mod_python,CGI,FastCGI等
- 描述了web server(uwsgi)如何与web框架(django)交互,web框架如何处理请求
python web框架
MVC
ORM
- 用于实现业务对象与数据表中的字段映射
- 优势:代码更加面对对象,代码量更少,灵活性高,提升开发效率
web安全
SQL注入
web安全一大原则:永远不要相信用户的任何输入
- 对输入参数做好检查(类型和范围):过滤和转移特殊字符
- 不要直接拼接sql,使用ORM可以大大降低sql诸如风险
- 数据库层:做好权限管理配置,不要铭文存储敏感信息
XSS(cross site scripting),跨站脚本攻击
- 恶意用户将代码植入到提供给其他用户使用的页面中,未经转义的恶意代码输出到其他用户的浏览器被执行
- 用户浏览页面的时候嵌入页面中的脚本(js)会被执行,攻击用户
- 主要分为两类:反射性(非持久型),存储型(持久型)
CSRF
前后端分离
优点
- 前后端解耦,接口复用(前端和客户端公用接口),减少开发量。
- 各司其职,前后端同步开发,提升工作效率。定义好接口规范。
- 更有利于调试(mock),测试和运维部署
restful
Representational State Transfer
-
表现层状态转移
-
资源,表现层,状态转化
-
是一种以资源为中心的web软件架构风格,可以用ajax和restful web服务构建应用。
-
resource:使用URI指定的一个实体
-
representation:资源的表现方式,比如图片、HTML文本等
-
State Transfer: GET,POST,PUT,DELETE,HTTP动词来操作资源,实现资源状态的改变。
-
所有事物抽象为资源,资源对应唯一的标识(identifier)
-
资源通过接口进行操作实现状态转移,操作本身是无状态的
-
对资源的操作不会改变资源的标识