zoukankan      html  css  js  c++  java
  • 基础知识杂谈2

    一、类的魔法方法

      1、__new__:类开始实例化时触发。

      2、__init__:类实例化时触发,在__new__之后。

      3、__str__:打印对象时触发。

      4、__call__:定义在元类,类实例化时触发。

      5、__del__:回收对象时触发。

      6、__setattr__和__getattr__:点拦截方法,用点赋值/取值时会触发。

      7、__setitem__和__getitem__:[]拦截方法,有[]赋值/取值时会触发。

      8、__enter__和__exit__:上下文管理方法,上下文管理对象新建/结束时会触发。

      9、__eq__:对象进行<==>比较时触发。

    二、cookie,session,token

      1、HTTP协议的特点:基于tcp/ip的请求/响应机制的应用层协议。

      2、典型c/s架构程序:

        ①mysql:底层基于socket,自己封装的协议。

        ②navicat:c++编写的图形化界面的mysql客户端,实现了请求/响应协议。

        ③pymysql:用python语言实现的请求/响应协议。

        ④redis:底层基于socket,自己封装的协议。

        ⑤docker:基于http协议,使用restfull规范。

        ⑥elasticsearch:基于http协议,使用restfull规范。

      3、cookie:把用户信息的键值对存储于本地浏览器,向服务端发送请求时,携带它过去,比较不安全。

      4、session:把用户信息的键值对存储于服务端的任意可存储位置(内存,硬盘,数据库等),再返回特征码存储于本地浏览器,向服务器发送请求时,携带特征码去服务器对应用户信息,如果用户数量特别大,需要消耗大量服务器的存储资源。

      5、token:把部分用户信息进行特征加密,再把密文与这些信息组合,存储于本地浏览器,向服务器发送请求时,携带组合码去服务器进行拆分再特征加密再组合,若得到与原组合码一致的结果,则验证通过。

      6、JWT:json web token。

      7、django中session的底层原理:在中间件中,请求走的时候,在process_response方法中,取出request.session的modify属性,判断是否是true,如果是true,表示在视图函数中修改过session,数据库同步修改,如果是false,就不修改,返回给前端sessionid:随机字符串。请求来了,通过sessionid,取出随机字符串--》去数据库中查--》把表的数据转成字典,赋值给request.session,后面视图函数中就可以操作它了。

  • 相关阅读:
    会计期间勿关闭后台打开
    动态创建VIEW
    约束变量
    JS 图片懒加载
    如何在Javascript中对数组的遍历使用异步函数
    JavaScript之闭包
    面试:数组去重你会几种呀?
    JavaScript重构技巧-降低函数复杂度
    JavaScript的内置对象
    js/jQuery获取data-*属性值
  • 原文地址:https://www.cnblogs.com/caoyu080202201/p/13220449.html
Copyright © 2011-2022 走看看