cookie

位于用户的计算机上,用来维护用户计算机中的信息,直到用户删除。比如我们在网页上登录某个软件时输入用户名及密码时如果保存为cookie,则每次我们访问的时候就不需要登录网站了。我们可以在浏览器上保存任何文本,而且我们还可以随时随地的去阻止它或者删除。我们同样也可以禁用或者编辑cookie,但是有一点需要注意不要使用cookie来存储一些隐私数据,以防隐私泄露。

session:

session称为会话信息,位于web服务器上,主要负责访问者与网站之间的交互,当访问浏览器请求http地址时,将传递到web服务器上并与访问信息进行匹配, 当关闭网站时就表示会话已经结束,网站无法访问该信息了,所以它无法保存永久数据,我们无法访问以及禁用网站。

cookie和session总结

1.COOKIE的由来:
因为HTTP请求时没有状态的,每一次请求都是独立的,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。
2.cookie就是保存在浏览器上的键值对
服务器控制着响应,在响应里可以让浏览器在本地保存键值对,下次请求再发送的时候就会自动携带这个cookie值。浏览器关闭,cookie就失效
3.cooie的应用:1.七天免登陆 2.记录用户的浏览器习惯 3.简单的投票规则
4.服务端:
        1. 生成字符串
        2. 随着响应将字符串回复给浏览器
        3. 从浏览器发送的请求中拿到字符串
好处:
    服务端不用存,减轻了服务器压力
坏处:
    信息不安全
session:保存在服务端的键值对,必须依赖于cookie
在服务器端存在的形式 sadsjhsjkcehhw:{"is_login":1,"user":"jerd"}
Django中session的执行存过程:
存session: request.session["is_login"]="1"
          1.在服务端生成随机字符串
          2.生成一个和上面随机字符串对应的大字典,用来保护疏忽数据
          3.随机字符串当成cookie返回给浏览器
取session:ret=request.session.get("is_login")
          1.从请求携带的cookie里面找到随机字符串
          2.拿到的随机字符串去session中找对应的大字典
          3.从大字典中根据key取值
session的优势:
         1.比cookie能存的数据多
         2.安全性好,数据存在服务端
坏处:
      数据都保存在服务端,存储压力比较大

https://www.cnblogs.com/zgf-666/p/9270542.html

11-24 19:30