Android 客户端Cookie失效的问题

今天,遇到了Android客户端cookie失效的场景,当时有个疑问,cookie的有效期是由哪个属性决定的?这个有效期是服务端进行判断还是客户端判断?

Cookie实际上是一小段文本信息。在Web程序中,客户端浏览器请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

Cookie的失效时间由maxAge属性决定,单位为秒(Second)。Cookie中通过getMaxAge()方法与setMaxAge(int maxAge)方法来读写maxAge属性。从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期。

由此可见,对于android客户端,登录成功后服务器会向客户端颁发一个Cookie,客户端将Cookie持久化到本地。当客户端再次请求该服务器时,客户端会把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。对于Cookie的有效期,是在客户端本地判断的,Cookie有效则可以向服务器进行请求;Cookie失效则需重新登录获取新的Cookie之后再与服务器进行交互。

更多关于Cookie机制的内容可以参考http://www.360doc.com/content/11/1227/00/198_175229712.shtml

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页