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,后面视图函数中就可以操作它了。

  • 相关阅读:
    Win7 64位 php-5.5.13+Apache 2.4.9+mysql-5.6.19 配置
    C# .NET 使用第三方类库DotNetZip解压/压缩Zip rar文件
    64位window7,php5.5.10 +IIS7 配置
    eclipse下编译openfire3.9.1源码
    asp.net 解决IE11下 From身份验证失效问题
    MySQL 数据类型 详解
    ASP.NET安全
    Microsoft Anti-Cross Site Scripting Library V4.2 下载地址
    Entityframework Core去掉外键
    VS2019发布Docker实践
  • 原文地址:https://www.cnblogs.com/caoyu080202201/p/13220449.html
Copyright © 2011-2022 走看看