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也会设置失效时间。

  • 相关阅读:
    linux----安装jdk
    docker安装gitlab
    Centos7 安装docker
    容易混淆的字符
    nodejs 简单从淘宝的有好货根据关键词获取列表以及详情
    bash设置终端提示符
    C# NuGet打包和离线安装
    Shell 遍历文件夹中所有文件并进行相关操作
    css中“~”和“>”
    双击编辑表格字段
  • 原文地址:https://www.cnblogs.com/wzk-0000/p/9430112.html
Copyright © 2011-2022 走看看