zoukankan      html  css  js  c++  java
  • 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也会设置失效时间。

  • 相关阅读:
    js自定义回调函数
    python:sql建表语句转换为json
    简单list转化为tree结构
    JSP中页面定时刷新
    struts2中<s:select/>标签的运用详解
    Redis 的 Sentinel
    redis持久化(persistence)
    java验证身份证合理性
    js 里面的键盘事件对应的键码
    Struts2中使用OGNL表达式语言访问静态方法和静态属性
  • 原文地址:https://www.cnblogs.com/wzk-0000/p/9430112.html
Copyright © 2011-2022 走看看