• 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)

    }
    }

    })
    })
  • 相关阅读:
    C# 操作txt
    下周学习计划(0815——0822)
    配置允许外界访问的端口
    修改表结构
    C# return和break
    js Ajax的几种操作方法
    WebForm
    Extjs4新特性
    25、手把手教你Extjs5(二十五)Extjs5常用组件--form的基本用法
    24、手把手教你Extjs5(二十四)模块Form的自定义的设计[3]
  • 原文地址:https://www.cnblogs.com/jnbb/p/7942182.html
Copyright © 2020-2023  润新知