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:\UserData\My Documents\Tencent Files\1916910438\Image\Group\Image2\CCXEI`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

posted @ 2019-05-31 13:02  learnacode  阅读(169)  评论(0编辑  收藏  举报