• Day20


    cookie 和 session

    Cookie 保存于本地 ,session 保存于服务器;同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,

    所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择。

    区别:

    1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

    2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
    考虑到安全应当使用session。

    3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
    考虑到减轻服务器性能方面,应当使用COOKIE。

    4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

    当你浏览京东或者天猫的时候,登录成功以后(一次请求),想查看我的订单(另一次请求),但是http是短连接(连接一次就断开),服务器该如何判断你是否登录呢?所以在服务器端需要有一个保存用户状态地方(session),客户端登录成功后,服务端向客户端浏览器写入一段字符串(标识),客户端每次访问的时候需要带上这个标识,服务端根据这个标识就能获取客户端信息了。客户端保存这个标识就叫做cookie。

    构成:

    1、自动生成一段字符串

    2、将字符串发送到客户端的浏览器(cookie),同时把这段字符串当做key放在session里。(可以理解为session就是一个字典)

    3、在用户的session对应的value里设置任意值(字典里面可以继续套字典)

    session基本操作

      • 获取session:request.session[key]
      • 设置session:reqeust.session[key] = value
      • 删除session:del request.session[key]

    Ajax请求最主要的两点:

    1)    分析出ajax请求时需要携带参数。

    2)    分析出对应的视图函数处理完成之后,返回的json的数据格式。

    实例:

    $.ajax({
    url:"/ajax_data/", #目标URL
    type:'POST', #请求方式
    data:{h:host,p:port},
    success:function(arg){
    console.log(arg)
    }
    })

    $(".btnLogin").click(function () {
    $.ajax({
    'url': "/login/",
    'type': 'POST',
    'data': {
    user: $('.user').val(),

    pwd: $('.pwd').val(),
    "csrfmiddlewaretoken": $("[name='csrfmiddlewaretoken']").val()
    },

    success: function (data) {
    var data = JSON.parse(data);
    if (data["user"]) {
    location.href="/shouye/"

    }

    else {
    var errormsg = data["errormsg"];
    $(".errmsg").html(errormsg).css("color", "red");
    setTimeout(function () {
    $(".errmsg").html("")
    },3000)

    }
    }

    })
    })
  • 相关阅读:
    360给腾讯造的盗梦空间
    C 语言 运算符优先级
    CorelDraw, Adobe Illustrator 转换到 Photoshop 形状路径
    用户体验经典解释
    禁用Windows XP的自动播放功能
    ObjectiveC ARC下的内存管理(一)
    ARC下的内存管理(二)对象及成员的引用关系
    天天撞墙
    PS: 操作不实时显示的解决办法
    摩托罗拉 Milestone新手刷机教程
  • 原文地址:https://www.cnblogs.com/jnbb/p/7942182.html
Copyright © 2020-2023  润新知