cookies

摘要:
d) 状态不一致,cookie将不会因回退而重置。或者使用最大期限指定当前cookie过期的时间。如果未指定服务器返回的cookie的过期时间,则表示cookie的有效期仅为当前会话,即会话cookie。当前会话结束后,cookie将过期。相应地,当页面关闭时,浏览器应删除cookie。Httponly:此cookie必须用于http或https传输。这意味着浏览器脚本(如javascript)不允许访问和操作此cookie

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

Cookie的缺点和不足

a) 被讨论最多的就是隐私问题
b) Cookie引入的各种安全问题
c) 与REST软件架构相背离。
d) 状态不一致,后退导致cookie不会重置。
c) 过多使用到是HTTP请求流量浪费

Cookie的属性

一般cookie所具有的属性,包括:

Domain:域,表示当前cookie所属于哪个域或子域下面。

对于服务器返回的Set-Cookie中,如果没有指定Domain的值,那么其Domain的值是默认为当前所提交的http的请求所对应的主域名的。比如访问 http://www.example.com,返回一个cookie,没有指名domain值,那么其为值为默认的www.example.com。

Path:表示cookie的所属路径。

Expire time/Max-age:表示了cookie的有效期。expire的值,是一个时间,过了这个时间,该cookie就失效了。或者是用max-age指定当前cookie是在多长时间之后而失效。如果服务器返回的一个cookie,没有指定其expire time,那么表明此cookie有效期只是当前的session,即是session cookie,当前session会话结束后,就过期了。对应的,当关闭(浏览器中)该页面的时候,此cookie就应该被浏览器所删除了。

secure:表示该cookie只能用https传输。一般用于包含认证信息的cookie,要求传输此cookie的时候,必须用https传输。

httponly:表示此cookie必须用于http或https传输。这意味着,浏览器脚本,比如javascript中,是不允许访问操作此cookie的

免责声明:文章转载自《cookies》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇XDS100V3开发工具制作成功与经验分享Andriod UI设计之度量单位说明(DIP,DP,PX,SP) 狼人:下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JSP中Session的使用

JSP session使用方法 <%@page contentType="text/html;charset=GB2312"%><html>  <head>  </head>  <body>  <%String s = session.getId(); //获取sessi...

Yii2.0 用户登录详解(上)

一、准备 在开始编写代码之前,我们需要思考一下:用户登陆模块,实现的是什么功能?很明显,是登陆功能,那么,登陆需要用户名和密码,我们在数据库的一张表中就应该准备好用户名和密码的字段,再思考一下,如果要实现自动登陆的功能,那么还需要什么?Cookie,是专门用于自动登陆的,所以,我们的数据表可能需要准备一个字段,专门用于储存客户端登陆所生成的cookie,这...

JavaToken:JWT教程

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明...

Cookie工具类(获取cookie,设置cookie)

import java.io.UnsupportedEncodingException; import java.net.URLDecoder;import java.net.URLEncoder; import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;i...

防止刷新重复post提交

这段代码用于防止用户点“提交”按钮后点了刷新导致重复提交post请求。思路是写session,根据每次Session不同判断是不是重复提交。 1 <%@ Page Language="C#"AutoEventWireup="true"CodeFile="重复提交.aspx.cs"Inherits="重复提交" %> 2 3 <!DOC...

MySQL存储过程之事务管理

  MySQL存储过程之事务管理 ACID:Atomic、Consistent、Isolated、Durable 存储程序提供了一个绝佳的机制来定义、封装和管理事务。 1,MySQL的事务支持 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关: Java代码 1         MyISAM:不支持事务,用于只读程序提高性能 ...