Cookie管理方法

文档序号:7761393阅读:481来源:国知局
专利名称:Cookie管理方法
技术领域
本发明涉及数据处理技术领域,特别是涉及一种应用在Android平台终端中的 Cookie管理方法。
背景技术
超文本传输协议(HTTP :Hyper Text Transfer Protocol)是一个“无状态”的连接协议,所谓“无状态”是指服务端在向客户端发送被请求的文件时,并不存储任何关于该客户端的状态信息,这样即使是同一客户端向同一服务端发起请求,服务端也无法辨识客户端。这种超文本传输协议的无状态性,随着互联网的快速发展,已无法满足需求。比如电子商务网站上的购物车,用户在多个页面选购商品,如果没有“状态”,用户在前一页面选中的商品信息在下一个页面便会丢失。为了支持客户端与服务端之间的交互,发展出了两种交互状态存储技术,一种是通过客户端保持状态的Cookie机制,另一种是通过服务端保持状态的Session机制。用户访问一个支持Cookie的网站,服务端向客户端回传超文本时会附带一些特殊信息,比如账户特征码等服务端希望下次再与客户端发生连接时记忆的信息,这些特殊信息就被称为Cookie,当然这些特殊信息并不是存放于HTTP响应体(Response body)中, 而是存放于HTTP响应头(Response header)中;当客户端接收到来自服务端的响应后,将这些特殊信息存放到本地一个统一的位置,自此,当客户端再向服务端发送请求(Request) 的时候,都会把相应的Cookie —并发送回服务端,而这次,Cookie信息则是存放于HTTP请求头(Request header)中。在Android平台中,浏览器也可以对Cookie进行管理,而非浏览器的应用程序, 要对Cookie进行访存,一般都是通过使用Android提供的一系列组件来实现,包括HTTP Connection类、Cookie Handler类、Cookie Manager类等,通过这样的方法虽然可以对 Cookie进行访存,但是对系统的花销却是很大,因为上述几个类都包含了数量众多的成员变量和方法,而其中大部分并未在访存Cookie的过程中起作用,因此,传统的方法使得系统资源被浪费。

发明内容
鉴于以上内容,有必要提供一种应用在Android平台终端中的轻量级Cookie管理方法,使得对Cookie的访存更高效,系统开销更小。在Android应用程序开发中,使用集成级别高、功能完整的组件可以让开发者用较少的时间完成特定功能的设计,但同时也会带来应用程序体积臃肿、运行时系统花销大的缺点。本发明使用集成级别低、体积小而灵活的套接字(Socket)来实现对Cookie的访存应用。套接字用于描述IP地址和端口,是一个通信链的句柄,应用程序可以通过套接字向网络发出请求或者应答网络请求。根据本发明,提供一种Cookie保存方法,该方法应用在一 Android平台终端中,包括以下步骤新建一 HTTP请求头,所述HTTP请求头包括一服务端的主机地址;新建一套接字,并将所 述HTTP请求头发送给所述套接字;所述套接字连接到所述服务端,向所述服务端发送HTTP请求;所述套接字接收来自所述服务端的HTTP响应;解析HTTP响应头,找出Cookie部分;及将Cookie写入到一本地存储单元中的Cookie文件夹中。根据本发明,提供一种Cookie读取方法,该方法应用在一 Android平台终端中,包括以下步骤新建一 HTTP请求头,所述HTTP请求头包括指向一服务端的URI ;解析所述URI,获取该URI中的域和路径;从一本地存储单元中的Cookie文件夹中获取匹配该URI的域和路径的Cookie ;读取该Cookie的过期日期;判断该Cookie的过期日期是否晚于系统当前日期,若结果为是,则读取该Cookie 的名称和值,将该Cookie的名称和值写入所述HTTP请求头,若结果为否,则将该Cookie从所述本地存储单元中的Cookie文件夹中删除;新建一套接字,并将所述HTTP请求头发送给所述套接字;所述套接字连接到所述服务端,向所述服务端发送所述HTTP请求。与现有技术相比,上述应用在Android平台终端中的Cookie管理方法,由于使用能够集成级别低、体积小而灵活的套接字(Socket)来实现对Cookie的访存应用,使得对 Cookie的访存更高效,系统开销更小。


图1为本发明一种实施方式中的Cookie管理方法的应用架构图。图2为本发明一种实施方式中的Cookie保存方法的流程图。图3为本发明一种实施方式中的将Cookie写入到一本地存储单元中的Cookie文件夹中的方法的流程图。图4为本发明一种实施方式中的Cookie读取方法的流程图。主要元件符号说明
权利要求
1.一种Cookie保存方法,应用在一 Android平台终端中,其特征在于所述方法包括以下步骤新建一 HTTP请求头,所述HTTP请求头包括一服务端的主机地址; 新建一套接字,并将所述HTTP请求头发送给所述套接字; 所述套接字连接到所述服务端,向所述服务端发送HTTP请求; 所述套接字接收来自所述服务端的HTTP响应; 解析HTTP响应头,找出Cookie部分;及将Cookie写入到一本地存储单元中的Cookie文件夹中。
2.如权利要求1所述的Cookie保存方法,其特征在于将Cookie写入到一本地存储单元的步骤还包括以下步骤获取Cookie信息,所述Cookie信息包括Cookie的名称、值、域、路径和过期日期; 从所述Cookie文件夹中删除在“/Cookie域/Cookie路径/”文件夹中的以“Cookie 名称”为文件名的Cookie文件;判断Cookie的过期日期是否晚于系统当前日期,若结果为是,则在所述Cookie文件夹中的“/Cookie域/Cookie路径/”文件夹中新建一以“Cookie名称”为文件名的Cookie文件;及将所述Cookie信息写入所述Cookie文件。
3.如权利要求2所述的Cookie保存方法,其特征在于将所述Cookie信息写入所述 Cookie文件的步骤还包括以下步骤将Cookie的值写入所述Cookie文件的第一行; 将Cookie的过期日期写入所述Cookie文件的第二行。
4.如权利要求1或2所述的Cookie保存方法,其特征在于所述本地存储单元为内存ο
5.如权利要求4所述的Cookie保存方法,其特征在于当结束对HTTP的使用之后,将内存盘中的Cookie文件夹压缩为一压缩档,存放到一非易失性存储单元中。
6.如权利要求5所述的Cookie保存方法,其特征在于将内存盘中的Cookie文件夹压缩存放到一非易失性存储单元的步骤之前还包括以下步骤检查在内存盘中的Cookie文件夹中的所有的Cookie的过期日期,若Cookie的过期日期晚于系统当前日期,则将该Cookie从内存盘中的Cookie文件夹中删除。
7.一种Cookie读取方法,应用在一 Android平台终端中,其特征在于所述方法包括以下步骤新建一 HTTP请求头,所述HTTP请求头包括指向一服务端的URI ; 解析所述URI,获取该URI中的域和路径;从一本地存储单元中的Cookie文件夹中获取匹配该URI的域和路径的Cookie ; 读取该Cookie的过期日期;判断该Cookie的过期日期是否晚于系统当前日期,若结果为是,则读取该Cookie的名称和值,将该Cookie的名称和值写入所述HTTP请求头,若结果为否,则将该Cookie从所述本地存储单元中的Cookie文件夹中删除;新建一套接字,并将所述HTTP请求头发送给所述套接字 ’及所述套接字连接到所述服务端,向所述服务端发送所述HTTP请求。
8.如权利要求7所述的Cookie读取方法,其特征在于从所述本地存储单元中的 Cookie文件夹中获取匹配该URI的域和路径的Cookie的步骤之前还包括以下步骤将Cookie文件夹从存放在一非易失性存储单元的一压缩档解压到所述本地存储单元中。
9.如权利要求7或8所述的Cookie读取方法,其特征在于所述本地存储单元为内存ο
10.如权利要求7所述的Cookie读取方法,其特征在于所述Cookie文件夹中的“/ URI域/URI路径/”文件夹中的Cookie为匹配该URI的域和路径的Cookie。
全文摘要
一种应用在Android平台终端中的Cookie保存方法,该方法包括新建一HTTP请求头,所述HTTP请求头包括一服务端的主机地址;新建一套接字,并将所述HTTP请求头发送给所述套接字;所述套接字向所述服务端发送HTTP请求;所述套接字接收来自所述服务端的HTTP响应;解析HTTP响应头,找出Cookie部分;及将Cookie写入到一本地存储单元中的Cookie文件夹中。本发明还揭示了一种应用在Android平台终端中的Cookie读取方法。根据本发明的技术方案,使得非浏览器的应用程序对Cookie的访存更高效,系统开销更小。
文档编号H04L29/08GK102447714SQ20101029903
公开日2012年5月9日 申请日期2010年10月7日 优先权日2010年10月7日
发明者蔡灯宇 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1