• 关于Session 和 Cookies 的几点论述


    http协议本身是一种无状态的协议,引入Cookie以及session主要是为了
    来保持连接的状态。
    Cookie:是一种在客户端保持连接状态的机制
    Session:是一种在服务端保持连接状态的方案。


    Cookie机制:Cookie是在客户端浏览器按照一定规则自动发生给服务器端的,浏览器
    会检查存储在硬盘上的Cookies,如果改Cookie的作用范围大于或等于改资源的作用范围的
    话,Cookie就会依附在http头部,并且发送出去。
    Cookie包括:内容、过期时间、名字、路径、域


    Session机制:当程序要为某个客户端的请求创建session时,程序的服务器首先会检查这个请求的session id标志 是否存在,
    如果存在的话,程序就会按照这个session id 把相应 的session找出来,通常session id 就是Cookie的名字,如果Cookie
    被禁止,通常就会采用url重写的方法将session id附加到url路径的后面,目的就是为了一直保持连接状态。因此,我们要想
    一直保持连接状态的话,就必须将每一个session id 附加到url路径的后面。

    Session的几个问题:

    Session何时被创建?
    不是在客户端访问时就被创建而是在服务器调用httpserverletRequest.getRequest(true)时,才被创建

    Session何时被删除?
    A,程序调用httpSession.invalidate() 简单的说就是在客户端发生login off 的操作
    B距离上一次收到客户端发送的session id时间间隔超过了session的超时设置 即超时
    C, 服务器进程被停止(非持久session)
    3, 如何做到关闭浏览器同时关闭session:
    严格说做不到,可以让所有的客户端页面使用window.onclose来监视浏览器的关闭东西,然后向服务器发
    送一个请求来删除session,但是对于浏览器崩溃或者强行杀死进程时仍然无能为力。

  • 相关阅读:
    C. New Year Book Reading
    B. New Year Permutation
    A. New Year Transportation
    D. The Child and Zoo
    python 3.6 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte错误
    VB ListView控件各种操作详解
    开发者工具下载
    phpstorm10激活加汉化
    Windows Server 2016 配置指南 之 FTP环境搭建篇
    VB.NET Jobject 解析 JSON
  • 原文地址:https://www.cnblogs.com/zthua/p/2854282.html
Copyright © 2020-2023  润新知