zoukankan      html  css  js  c++  java
  • cookie+session

    面试

    格式:遇到一个问题,自行研究了一下,关于什么是contenttype 。唠个20分钟。。。

    体系:是什么,有哪几种,在项目上怎么用

    一个好例子: 回答不上,答别的。不尴尬。不紧张。简单问题还能回答10分钟。我们公司怎么怎么。真像。 基础也挺好。 公司需要,即使技术不那么强。表达能力好点,使公司气氛好点。不喜欢闷头的。觉得自己还行的。

    form 默认没有 json传输 contype

    contenttype : form 表单json

    http 协议规定传输信息时的数据格式,请求里面,urlencode , formdata , json
    老板不会问你,只会问你什么是contenttype
    但是要把有用的相关的都说出来。(什么时候用的)想到什么说什么。别说废话。有一定的思维逻辑,思维体系,处理过这个东西、问题。
    

    json:

    回答问题别太干。大道理谁都知道,讲出点实际的东西。

    文本之间交互的文本传输协议
    把其他格式的转化为
    

    day64

    0 今日内容

    cookie和session
    

    会话:连续的通信,浏览器和后端时时交互

    ​ http协议的 无连接,

    ​ 无状态的(数据传输了什么,不知道,互相都没保存状态)不足:每次都得持续登录。

    所以,就有了cookie: 完成保持会话的,会话跟踪技术。

    1 cookie初识

    cookie图解

    浏览器每次都需要登录。。。有需求,持续对话,记住不重复登录了。

    浏览器给了服务器一个空的字典(袋子),服务端给了浏览器一个cookie密钥? (令牌),下次登录,看密钥。不需要登录了。

    1.1 cookie规范

    浏览器(客户端):存服务端的数据。
    
    cookie大小上限为 4kb
    
    一个服务器最多在客户端上保存20个cookie;(if login == True:)
    
    一个浏览器最多 保存300个cookie(不同浏览器可能变化),因为一个浏览器可以访问多个浏览器
    
    1.11 浏览器对应cookie
    一个浏览器对应一个服务端,就是一组cookie		(浏览器的内容全缓存在了磁盘上,密码。。也是,否则存内存关了之后就没了)
    
    对一个用户只有一个cookie,所以两个页面登相同的服务器时,覆盖cookie,只能一个。
    
    每个浏览器互不干扰,都是300+			无痕浏览器就是把cookie给清了
    
    装了两个不同版本的浏览器,当做不同的浏览器
    
    因为csrftoken可以在cookie里有一个。  所以可以提交时使用
    

    2 session

    cookie不安全,所以引入session

    ctrl+shift+delete清除cookie

    ![img](file:///F:UserDataMy DocumentsTencent Files1916910438ImageGroupImage2CCXEI`7W58QUS5JHE4Z3]U9.png)

    2.1 写入随机字符串
    request.session['is_login'] = True
    # 第一件事情,生成一个随机字符串,sessionid:asdfxdds
                    # 2 .加密一些用户信息sss,保存到数据库里面da_se表
                    # session_key session_data
                    # asdfxdds  jjjjsas
                    # 3 将 sessionid:asdfxcv 放到了cookie里面
    
    2.2 读取数据
    is_login = request.session.get('is_login')
    # 1 从cookie中找到sessionid的值xxx
    # 2 通过xxx找到djs表的记录,将sessiondata 拿出来,并且解密了{‘is_login’:true, 'user':'yang'}
                if is_login != True:
    
    2.3 装饰器
    def login_auth(f):
         def inner(request):
            if request.method == "GET":
                is_login = request.session.get('is_login')
                 if is_login != True:
                    return render('/login')
                ret = f(request)
                return ret
         return inner
    
    2. 4 上网session
    多次退出  多次清除缓存  再登录   都会添加Djangosession表里
    多个浏览器添加  会都添加到 djangosession表里
    
    2. 5 删除session
      request.session.flush()
                # 清空 cookie里的并且 Djangosession表里的cookie
        return redirect('/login/')
    
    概念和代码
    作业

    页面不刷新的情况显示页面删除局部刷新图书管理系统

    登录认证每个页面都需要认证

    session

    编辑也是ajax

  • 相关阅读:
    虚拟机vmware的连接方式以及IP端口,协议等概念
    python3爬虫--shell命令的使用和firefox firebug获取目标信息的xpath
    numpy的基本用法
    scrapy模拟请求头
    (1)python Scrapy爬虫框架
    flutter ui
    dart 类
    dart 基础
    黑苹果镜像下载地址
    android9.0请求异常
  • 原文地址:https://www.cnblogs.com/Doner/p/10954748.html
Copyright © 2011-2022 走看看