zoukankan      html  css  js  c++  java
  • session 与 cookie (一)

    服务器信息临时存储

    session篇

    web.xml设置
      <session-config>
           <session-timeout>30</session-timeout>
      </session-config>
     
     tomcat 服务器中session信息默认存储有效时间为30min
    
      session的有效期在web.xml中设置 有效时间的范围以分钟为单位最长时间24小时(1440) <br>
      解决方法: 1、欲使有效期为永久建议将数据写到Cookies中
      2、创建一个保持session的界面定时自动刷新自己沟通服务器实现session信息的有效时间刷新 (meta自动刷新嵌套的iframe的方法)
      <html> <head> <meta http-equiv="Refresh"
      content="900000;url=sessionKeeper.asp">
      <!--每隔900秒刷新一下自己,为了和服务器通讯一下,保持session不会丢--> </head> </html>
      3、用javascript:window.setTimeout("functionname()",10000);
      第隔一段时间时间自动调用一个函数的方法,当然函数里还是要去连接一个空的文件
     
      <script id=Back language=javascript></script> <script language=javascript>
      function keepsession(){
      document.all["Back"].src="/blog/SessionKeeper.asp?RandStr="+Math.random();
      //这里的RandStr=Math.random只是为了让每次back.src的值不同,防止同一地址刷新无效的情况
      window.setTimeout("keepsession()",900000); //每隔900秒调用一下本身 } keepsession();
      </script> 同一目录下建一个空内容的sessionKeeper.asp就文件就可以了

    cookie篇

     1   name:一个唯一确定的cookie名称。通常来讲cookie的名称是不区分大小写的。
     2   value:存储在cookie中的字符串值。最好为cookie的name和value进行url编码
     3   domain:cookie对于哪个域是有效的。所有向该域发送的请求中都会包含这个cookie信息
     4   。这个值可以包含子域(如:yq.aliyun.com),也可以不包含它(如:.aliyun.com,则对于aliyun.com的所有子域都有效).
     5   path: 表示这个cookie影响到的路径,浏览器跟会根据这项配置,像指定域中匹配的路径发送cookie。
     6   expires:失效时间,表示cookie何时应该被删除的时间戳
     7   (也就是,何时应该停止向服务器发送这个cookie)。如果不设置这个时间戳,浏览器会在页面关闭时即将删除所有cookie
     8   ;不过也可以自己设置删除时间。这个值是GMT时间格式,如果客户端和服务器端时间不一致,使用expires就会存在偏差。 max-age:
     9   与expires作用相同,用来告诉浏览器此cookie多久过期(单位是秒),而不是一个固定的时间点。正常情况下,max-age的优先级高于expires。
    10   HttpOnly: 告知浏览器不允许通过脚本document.cookie去更改这个值,同样这个值在document.cookie中也不可见。
    11   但在http请求张仍然会携带这个cookie。注意这个值虽然在脚本中不可获取,但仍然在浏览器安装目录中以文件形式存在。这项设置通常在服务器端设置。
    12   secure: 安全标志,指定后,只有在使用SSL链接时候才能发送到服务器,如果是http链接则不会传递该信息。就算设置了secure
    13   属性也并不代表他人不能看到你机器本地保存的 cookie 信息,所以不要把重要信息放cookie就对了

     

    补充:

      在程序中调用session的setMaxInactiveInterval方法设置

              session.setMaxInactiveInterval(30 * 60);  

              setMaxInactiveInterval设置的是当前会话的失效时间,不是整个web的时间,单位为以秒计算。如果设置的值为零或负数,则表示会话将永远不会超时。

    痛苦预示着超脱
  • 相关阅读:
    python--函数的返回值、函数的参数
    python--字典,解包
    Vue--ElementUI实现头部组件和左侧组件效果
    Vue--整体页面布局
    jmeter--non GUI
    python--切片,字符串操作
    celery--调用异步任务的三种方法和task参数
    celery--实现异步任务
    celery--介绍
    开发问题记录
  • 原文地址:https://www.cnblogs.com/supperlhg/p/8359325.html
Copyright © 2011-2022 走看看