zoukankan      html  css  js  c++  java
  • cookie-session

    cookie生成及日期设置:字符串格式的键值对存储,Response.Cookies.Append("userId","666",new CookieOptions{Expires=Datetime.Now.AddDays(7)});

    cookie的删除:Response.Cookies.Delete("userId");看起来像是服务器删除了cookie,但不是,服务器无法删除cookie,它是将cookie过期时间设置为当前以前的时间(ASP.NET设置为1970年),然后发送给浏览器;

    session:HttpContext.Session.SetInt32("age",33),

    基于cookie,把主要数据存放于服务器(默认IIS的内存),只把session的Id存放在cookie中传递,服务器通过sessionId定位session数据;

    session与cookie区别:

    共同点:都是用来追踪浏览器用户身份的会话方式,弥补http无状态缺陷;

    不同:

    1,数据存放位置:cookie数据保存在客户端,session数据保存在服务器;

    2,安全性:cookie不是很安全,因为可以伪造,考虑安全性,应使用session

    3,性能:session会在一定时间内,保存在服务器上,当访问增多时,会比较占用服务器的性能,考虑减轻服务器性能时,应使用cookie;

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

    所以,应将登录等重要信息存放在session,其它数据可以存放在cookie中;

    session存放位置:

    存放位置 速度 特点
    IIS进程中内存 最快 不稳定,因为IIS重启/Application pool回收等丢失
    一个独立的windows服务 比较快 比较稳定,一般来说只有服务器重启才会丢失
    数据库 不快 稳定,在指定的过期时间内不丢失;不担心size,大量session时使用
    分布式缓存 同缓存 在数据库性能不足时使用
    如果这篇文章,对你有帮助,请点击关注,我会持续更新......
  • 相关阅读:
    jQueryUI的widget的Hello World
    jquery.fileupload源码解读笔记
    起始路由改成分区(Areas)的RouteConfig.cs配置方法
    C++/CLI
    WM_COPYDATA 进程间通信
    C# 托管内存与非托管内存之间的转换
    迟延(Lazy)加载导出部件(Export Part)与元数据(Metadata)
    Bitmap(Type, String) 图片路径
    C# GetManifestResourceStream获取资源为null
    C#可扩展编程之MEF学习笔记(二):MEF的导出(Export)和导入(Import)
  • 原文地址:https://www.cnblogs.com/-GoFurther/p/13753125.html
Copyright © 2011-2022 走看看