热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Android中cookie的处理详解

这篇文章主要介绍了Android中cookie的处理详解的相关资料,主要介绍Android中Cookie的操作,希望通过本文能帮助到大家,需要的朋友可以参考下

android 客户端 COOKIE处理

COOKIE,有时也用其复数形式COOKIEs,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

COOKIE最早是网景公司的前雇员Lou Montulli在1993年3月的发明。

发起

COOKIE是由服务器端生成,发送给User-Agent(一般是浏览器,客户端),浏览器会将COOKIE的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该COOKIE给服务器(前提是浏览器设置为启用COOKIE)。COOKIE名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。

用途

服务器可以利用COOKIEs包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。COOKIEs最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是COOKIEs的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入COOKIEs,以便在最后付款时提取信息。目前COOKIEs 最广泛的是记录用户登录信息,这样下次访问时可以不需要输入自己的用户名、密码了——当然这种方便也存在用户信息泄密的问题,尤其在多个用户共用一台电脑时很容易出现这样的问题。

生存周期

COOKIE可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除COOKIE)。而还有一些COOKIE在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。

COOKIE在生成时就会被指定一个Expire值,这就是COOKIE的生存周期,在这个周期内COOKIE有效,超出周期COOKIE就会被清除。有些页面将COOKIE的生存周期设置为“0”或负值,这样在关闭浏览器时,就马上清除COOKIE,不会记录用户信息,更加安全。 

Android 中COOKIE 的操作:

逻辑:COOKIE是由服务器生成的。客户端第一次向服务器发送Http请求时,由于没有COOKIE,在Http请求头中即Header中不包含"COOKIE"。此时在服务器返回的相应(HttpResponse)中会多一个字段"Set-COOKIE",此字段的值就是服务器生成的COOKIE值,下次再由此客户端程序访问该服务器时,就可以把该COOKIE值放入Http请求头中。服务器就会知道是哪个用户再次访问了该服务器。客户端需要保存该COOKIE以此用户再次访问服务器时使用。COOKIE会有一个失效时间,客户端在COOKIE失效后再次访问服务器,服务器会返回一个COOKIE失效的状态码(比如403之类的),并在HttpResponse中包含"Set-COOKIE"字段,这里面是新的COOKIE。客户端需要做的操作是:1.将新COOKIE覆盖旧的COOKIE。2.跳入用户登录界面,让用户用新的COOKIE重新登陆。COOKIE 可以保存在SharePreferenced或者Sqlite中。 

实现代码:

 
public byte[] doPost(String url, List values){
 
  HttpPost post = new HttpPost(url);
  post.setHeadr("Accept", "");
  ...
  
   
  
  
}

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文介绍了Spring 2.0引入的TaskExecutor接口及其多种实现,包括同步和异步执行任务的方式。文章详细解释了如何在Spring应用中配置和使用这些线程池实现,以提高应用的性能和可管理性。 ... [详细]
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
  • 大势至服务器文件备份系统是一款专为服务器数据保护设计的安全软件,能够实现自动化的全量备份和增量备份,支持多种备份目标,如服务器其他分区、外接硬盘、其他服务器或NAS存储空间,并提供灵活的备份频率设置,有效保障服务器文件的安全。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文详细介绍了MySQL数据库服务器(mysqld)和客户端(mysql)的区别,并提供了多种启动和关闭MySQL服务器的方法。通过这些方法,您可以更好地管理和维护MySQL数据库。 ... [详细]
  • 操作系统如何通过进程控制块管理进程
    本文详细介绍了操作系统如何通过进程控制块(PCB)来管理和控制进程。PCB是操作系统感知进程存在的重要数据结构,包含了进程的标识符、状态、资源清单等关键信息。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 如何在服务器上配置SSL证书
    SSL证书是用于验证互联网上身份的一种数字凭证,通过启用HTTPS协议,确保用户与服务器之间的通信安全。本文将详细介绍如何在API和服务器上配置SSL证书,以提升网站的安全性和可信度。 ... [详细]
  • Ping 命令的高级用法与技巧
    本文详细介绍了 Ping 命令的各种高级用法和技巧,帮助读者更好地理解和利用这一强大的网络诊断工具。 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
author-avatar
KD15635546_753
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有