`

cookie工作原理

阅读更多

一,cookie简介

        Cookie是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和盘Cookie。内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。而硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。所以,按存在时间,可分为非持久Cookie和持久Cookie。

二,cookie常用属性   

    Domain:域,表示当前cookie所属于哪个域或子域下面。只有访问该cookie所属于的域名时,才会带上该cookie信息至服务端。例如:设置Domain为"pandan.xyz"二级域名,那么浏览器访问www.pandan.xyz和bbs.pandan.xyz等三级域名时,都会带上该cookie信息。

    Path:路径,表示cookie的所属路径。默认为"/",访问cookie所属的路径时,请求才会带上该cookie信息。

    Secure:表示该cookie只能用https传输。一般用于包含认证信息的cookie,要求传输此cookie的时候,必须用https传输。如果此值设置为true而网络协议是http非安全协议,请求是不会带上该cookie信息的。

    HttpOnly:表示浏览器js脚本不能读取该cookie信息。可以有效的防止xss攻击。

    Expires/Max-Age:表示cookie的过期时间。Expires是过期日期(绝对时间),Max-Age是相对时间(相对于当前时间的毫秒数)。

三,应用举例

  

/**向客户端写cookie信息的方式1*/
  Cookie c = new Cookie(name, value);
  c.setPath("/");
  c.setDomain(".pandan.xyz");
  c.setMaxAge(maxAge);//0表示清除客户端cookie信息,-1(小于0)表示会话cookie,大于0持久化cookie
  response.addCookie(c);

/**向客户端写cookie信息的方式2*/
  StringBuilder sb = new StringBuilder();
  sb.append(name).append("=").append(value).append(";");
  sb.append("Domain=").append(".pandan.xyz").append(";");
  if(maxAge >= 0){
      sb.append("Max-Age=").append(maxAge).append(";");//maxAge:相对时间(毫秒数),Max-Age对于IE浏览器不支持,要设置Expires属性
  }
  sb.append("Path=/;");
  sb.append("HttpOnly;");
  response.setHeader("Set-Cookie", sb.toString());

 
  对于servlet3.0以下的版本是没有设置httpOnly属性的方法的,只能通过方式二进行cookie httpOnly属性的设置,servlet容器将方式一设置的cookie信息,最终还是以方式二的方式输出给浏览器的。

 

 

分享到:
评论

相关推荐

    php cookie工作原理与实例详解

    工作原理与一些对于cookie读写操作实例。 Cookie和会话状态 做BS开发,这两个概念必不可少,先来个大概了解,没有实际应用很难深入,深入看参考地址! 什么是 Cookie? Cookie 是一小段文本信息,伴随着用户请求和...

    SYN Cookie原理及在Linux内核中的实现

    在目前以IPv4为支撑的网络协议上搭建的网络环境中...本文就分别介绍一下SYN Flood攻击和SYN Cookie的原理,更重要的是介绍Linux内核中实现SYN Cookie的方式。最后,本文给出一种增强目前Linux中SYN Cookie功能的想法。

    COOKIE注入原理动画教程

    COOKIE注入原理动画教程,教你掌握cooke注入的原理,值得一看!

    cookie机制详解

    cookie机制详解 Cookie 工作原理详细介绍

    session和cookie交互原理

    介绍下cookie和session之间是咋交互的。原理是啥

    关于session与cookie的原理简述

    session和cookie原理解释以及他们的相同点和区别。

    cookie和会话状态的工作原理 .docx

    介绍cookie种类以及在整个会话中工作原理和过程,内容介绍比较通俗易懂,主要针对在了解网页访问中,一些解析和破解等问题、

    0006010 Session与Cookie实现原理.docx

    Session与Cookie实现原理

    深入理解ServletJSP之“Cookie和Session原理”很详细

    深入理解ServletJSP之“Cookie和Session原理”很详细 深入理解ServletJSP之“Cookie和Session原理”很详细 深入理解ServletJSP之“Cookie和Session原理”很详细 深入理解ServletJSP之“Cookie和Session原理”很...

    带你了解session和cookie作用原理区别和用法

    主要介绍了session和cookie作用原理,区别和用法,以及使用过程中的优缺点,通过列举区别和原理,使读者更能理解两者之间的关系,需要的朋友可以参考下

    cookie攻击

    cookie注入攻击,很详细,包括COOKIE格式,Cookie欺骗原理,利用JavaScript来设置cookie等

    GeckoFX 火狐内核C#新浪微博Cookie读取-Demo

    (1)这个demo使用.NET4.0框架,C#语言编写的Winform程序,使用GeckoFX 33.0.9版本火狐...(3)cookie读取原理简单介绍:火狐是使用sqlite数据库存储cookie的,都在cookies.sqlite中了。不明白的请自行百度sqlite数据。

    【动力节点】Java经典教程_Servlet视频教程之Cookie

    教程名称: 【动力节点】Java经典教程_Servlet视频教程之Cookie动力节点推出...其次详细讲解了Session的工作原理;然后讲解了Session的失效;最后讲解了Coo 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    cookie&amp.pdf

    深入理解Servlet/JSP之“Cookie和Session原理” 由于HTTP协议的无状态特征,Web应用中经常使用Cookie和Session来保存用户在与系统交互过程中的状态数据。下面通过分析HTTP协议对Cookie和Session的工作原理加以了解。

    25Session及第三方Cookie的工作原理.mp4

    Web协议详解与抓包实战

    JavaScript cookie原理及使用实例

    什么是cookie? cookie 是本地计算机的临时存储。 作用:在浏览器中进行数据的存储,用户名、密码(比如:保存页面信息,自动登录等)。 特点: cookie需要在服务器环境下运行; cookie的容量在4kb左右,限制为每个...

    Java 模拟cookie登陆简单操作示例

    主要介绍了Java 模拟cookie登陆简单操作,结合实例形式分析了Java 模拟cookie登陆的相关原理与基本实现技巧,需要的朋友可以参考下

    PHP 利用COOKIE验证用户登录的例子

    PHP 利用COOKIE验证用户登录的例子,用户名和密码存于数据库中,其中的数据库操作不是该例子的重点,本例子适合PHP新手学习COOKIE的工作原理和如何使用COOKIE。

Global site tag (gtag.js) - Google Analytics