• Cookie


    1.cookie是客户端(浏览器端)的状态保持,是键值对的字符串,可以将网页上的一些数据存放在客户端里,同一个设备,下一次再次get请求浏览该网页的时候,浏览器会将cookie,放在响应体中返回给浏览器。如果是表单提交,那么会将cookie放在请求报文当中发送给服务器。

    2.cookie如果不设置过期时间,那么会将cookie存放在浏览器的内存当中,下一次访问就没了。设置了时间,cookie就会存放在磁盘当中,超过设置的规定时间,自动清除cookie。

    3.通常cookie的使用场景比如网站10天内免登陆,购物网站游客身份访问能够记住用户浏览等。

    4.有一些网站没有做cookie,但是浏览器会提示用户是否保存账号密码,也是cookie的应用。

    5.安全性,即使经过加密,cookie还是不够安全,所以对于自动登录功能也要考虑安全性。

    一:写入cookie

    举个例子:当用户第一次登录时,如果登录成功,就可以创建cookie放在客户端。

     //创建cookie 方式一
     Response.Cookies["userName"].Value = userName;
     Response.Cookies["userPassword"].Value = userPassword;
     Response.Cookies["userName"].Expires = DateTime.Now.AddDays(3);
     Response.Cookies["userPassword"].Expires = DateTime.Now.AddDays(3);
    
     //创建cookie 方式二
     HttpCookie cookie = new HttpCookie("userName");
     cookie.Value = userName;
     Response.Cookies.Add(cookie);

    二:读取cookie

    当再一次访问该网页时,浏览器会将cookie,上传给服务器。

     //代码中的例子是用mvc来做的
    if (Request.Cookies["userName"]!=null && Request.Cookies["userPassword"]!= null) { ViewData["userName"] = Request.Cookies["userName"].Value; ViewData["userPassword"] = Request.Cookies["userPassword"].Value; }

    三:清理cookie

    删除cookie的思路非常简单只要将器过期时间设置为任意一个过去时间即可。

    Response.Cookies["userName"].Expires = DateTime.Now.AddDays(-1);

    其中的AddDays()当中的参数-1 -2 都行,只要是过去的时间就行。

    四:解决cookie中文乱码问题

    Response.Cookies["userName"].Value = Server.UrlEncode(userName);
    ViewData["userName"] = Server.UrlDecode(Request.Cookies["userName"].Value);

    将cookie的value值编码,读取的时候重新解码。

    -----------------some words--------------------

    1.cookie 饼干

    2.expire 期满( expire的第三人称单数 ); 文件、协议等(因到期而)失效; 断气; 逝世;

    -------------------the    end---------------------

  • 相关阅读:
    ListView添加HeaderView的顺序问题
    shape与selector配合使用实现Tab下划线效果
    在java代码中设置TextView的字体大小,单位设为sp
    一个textView中的文字设置成两种颜色
    Android studio生成类图
    linux常用命令总结
    主机CPU与显卡选择
    电脑与显示器四种接口
    Linux shell
    Linux 常用命令二
  • 原文地址:https://www.cnblogs.com/MzwCat/p/8478870.html
Copyright © 2020-2023  润新知