• session和cookie的区别和联系


    cookie:是保存在客户端浏览器上的,主要内容:cookie的内容主要包括:名字,值,过期时间,路径和域。
    cookie如果没有设置过期时间,则cookie保存在内存中,这时关闭浏览器cookie消失,cookie中保存的session也不存在了;
    如果设置了过期时间,则保存在硬盘上。设置cookie过期时间的方法如下:

    Response.Cookies("MyCookie").Expires = DateAdd("h", 1, Now())#保留COOKIES一个小时

    session:是保存在服务器端的内存中,也可以通过特殊方式持久化管理,为每一个客户端创建唯一额标志。

    服务端先检查客户端请求是否包含一个sessionId,如果已经包含,说明以前已经为该客户端创建过session,服务器就把该session检索出来(检索不到可能会新建一个);

    如果客户端不包含sessionId,则为该客户端创建一个session并生产一个唯一的sessionId,响应时返回给客户端保存到cookie中。

    有时浏览器的cookie会被禁,所以一般会使用url重写的方式传递sessionId,如下:

    http://...../xxx;jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 

    http://...../xxx?jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 

    一般情况,客户端cookie消失或者过期不会通知服务端,所以服务端的session也会设置失效时间。

  • 相关阅读:
    day19 反射
    Oracle函数整理
    在博客园设置访问人数
    数据库中行转列
    Oracle中数据库与实例的区别
    sql语句的执行顺序
    【地址】ps_cs6安装
    ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
    人员管理模块密码过期
    相关性配置模块总结
  • 原文地址:https://www.cnblogs.com/wzk-0000/p/9430112.html
Copyright © 2020-2023  润新知