zoukankan      html  css  js  c++  java
  • 复习第一天

    1. 你理解的Http协议?
            - 建立在tcp之上
            - 一次请求一次响应然后断开连接(无状态、短连接)
            - 请求和响应
                发送:请求头 请求体
                      host:www.luffy.com content-type:application/json 请求体
                响应:响应头 响应体

    2. django请求生命周期

      -浏览器发送请求到后端---->后端{wsgi---->中间件---->路由---->视图---->(模型,数据库)---->将数据经过中间件返回wsgi}---->经过封装返回给浏览器       
    3. wsgi

      -web服务网关接口,是一套协议,而实现协议的模块是wsgiref--->接收请求封装成对象交给web服务框架       
    4. django中间件是什么?
      -在视图函数执行前顶自己一些操作,

    5. 使用中间件做过什么?
            - 内置
                - csrf
                - session
            - 自定义
                - 登录认证
                - 权限
                - cors
    6. 中间件中有多少个方法?
            5个
    7. FBV和CBV是什么?以及优缺点。

      -FBV:在视图里通过函数处理请求;优点:灵活

      -CBV:在视图里通过类处理请求;优点:简洁,通过反射的方法根据method不同做不同的操作,提高了代码的复用性.
    8. rest api
      - 1.建议使用HTTPS,2.标识版本,3.标识是api,4.面向资源编程,5.条件,6.根据method不同进行不同操作,7.返回值,8.返回错误信息,9.返回url,10.响应式返回状态码
    9. django rest framework框架

      -1.路由,2.视图,3.版本,4.权限,5.认证,6.频率控制,7.解析器,8.序列化,9.分页,10.渲染器  

    10. 视图常见的继承
            from rest_framework.views import APIView # *
            from rest_framework.generics import GenericAPIView
            from rest_framework.viewsets import GenericViewSet # as_view
            from rest_framework.viewsets import ModelViewSet # *
    11. 如何实现的访问频率控制?
            匿名用户:无法控制,因为用户可以换代理IP
                {
                    192.168.1.1:[1521223123.232, 1521223122.232, 1521223121.232],
                    192.168.1.2:[1521223123.232, 1521223122.232, 1521223121.232],
                    192.168.1.3:[1521223123.232, 1521223122.232, 1521223121.232],
                    192.168.1.4:[1521223123.232, 1521223122.232, 1521223121.232],
                    192.168.1.5:[1521223123.232, 1521223122.232, 1521223121.232],
                    192.168.1.6:[1521223123.232, 1521223122.232, 1521223121.232],
                }
     
            登录用户:如果有很多账号,也无法限制
                {
                    alex:[1521223123.232, 1521223122.232, 1521223121.232],
                    eric:[1521223123.232, 1521223122.232, 1521223121.232],
                }
            
            参考源码:from rest_framework.throttling import SimpleRateThrottle
            
    12. 序列化
            自定义字段:- source   - method

  • 相关阅读:
    vim
    Linux 软链接和硬链接
    常用命令
    linux 二级目录结构
    关于bash shell的理解
    虚拟机网络模式
    安装虚拟机
    date 命令
    使用3种协议搭建yum仓库
    ubuntu update时发生错误
  • 原文地址:https://www.cnblogs.com/l-jie-n/p/9925618.html
Copyright © 2011-2022 走看看