IOS-54-IOS开发中cookie的作用简介
2016-02-29 11:01
190 查看
一般在网页中用到cookie、session等机制。其实涉及到浏览器的一般都需要
1.SESSION与COOKIE区别:
Session 将信息保存在服务器上.服务器在接受到唯一的SESSION_ID后,根据这个ID获取相关数据,然后将信息传递到客户端(浏览器).
Cookie 是将所有信息以文本的形式存在本地文件,并由客户端(浏览器)进行管理与维护.
因为Session 数据存储在server端,所以远程client无法对数据进行修改;而Cookie存储在client本地,容易被获取和篡改.所以Session安全性较高.
2.cookie: 是一种远程客户端存储数据和跟踪识别用户的机制.是服务器临时存放数据在本地用户的一个文本文件.文本文件格式:”用户名@网站地址[数字].txt”
3.当前我开发的APP中,主要是用于域名、用户跟踪
iOS中存储cookie信息:
本周提交测试、有一些bug要改,这个月发正式版,希望尽快完成!
1.SESSION与COOKIE区别:
Session 将信息保存在服务器上.服务器在接受到唯一的SESSION_ID后,根据这个ID获取相关数据,然后将信息传递到客户端(浏览器).
Cookie 是将所有信息以文本的形式存在本地文件,并由客户端(浏览器)进行管理与维护.
因为Session 数据存储在server端,所以远程client无法对数据进行修改;而Cookie存储在client本地,容易被获取和篡改.所以Session安全性较高.
2.cookie: 是一种远程客户端存储数据和跟踪识别用户的机制.是服务器临时存放数据在本地用户的一个文本文件.文本文件格式:”用户名@网站地址[数字].txt”
3.当前我开发的APP中,主要是用于域名、用户跟踪
iOS中存储cookie信息:
/** * 手动添加3份cookies(登录后,服务端会传一份cookie,由于目前有4个domain需要用到该cookie,因此需要手动创建3份对应domain的cookie) * 登录的domain为api.·····.com */ + (void)addTELDSIdCookies { //http://····.······.cn/···· NSArray *domainArr = @[kCMSApiDomain,kSMSApiDomain,kWxDomin]; NSHTTPCookie *TELDSIDCookie = [self TELDSIDCookie]; if (TELDSIDCookie) { for (int i = 0; i < [domainArr count]; i++) { NSMutableDictionary *propertiesDic = [NSMutableDictionary dictionary]; [propertiesDic setObject:domainArr[i] forKey:NSHTTPCookieDomain]; [propertiesDic setObject:TELDSIDCookie.name forKey:NSHTTPCookieName]; [propertiesDic setObject:TELDSIDCookie.value forKey:NSHTTPCookieValue]; [propertiesDic setObject:TELDSIDCookie.path forKey:NSHTTPCookiePath]; [propertiesDic setObject:@"0" forKey:NSHTTPCookieVersion]; NSHTTPCookie *newCookie = [NSHTTPCookie cookieWithProperties:propertiesDic]; [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:newCookie]; } } } /** * 清除所有TELDSIdCookies */ + (void)deleteAllTELDSIdCookies { NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray *cookiesArr = [cookieStorage cookies]; [cookiesArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { NSHTTPCookie *cookie = obj; if ([cookie.name isEqualToString:kBaseCookieName]) { [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie]; } }]; } // 取TELDSID cookie + (NSHTTPCookie *)TELDSIDCookie { NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray *cookiesArr = [cookieStorage cookies]; for (NSHTTPCookie *cookie in cookiesArr) { if ([cookie.name isEqualToString:kBaseCookieName] && [cookie.domain isEqualToString:kBaseApiDomain]) { return cookie; } } return nil; }
本周提交测试、有一些bug要改,这个月发正式版,希望尽快完成!
相关文章推荐
- IOS 消息机制(NSNotificationCenter)
- iOS-子线程与主线程嵌套使用
- iOS开发学习之 - 初识调试(1)
- iOS开发文件夹--Copy items if needed
- iOS开发证书"此证书的签发者无效"解决方法
- Block循环引用进行弱处理
- ios卡牌游戏项目源码
- iOS开发-类的加载load函数和initialize函数
- H5与iOS交互
- ios卡牌游戏项目源码
- iOS URL scheme
- IOS 多线程知识学习
- iOS开发常用之block传值
- iOS Keywords
- iOS推送之远程推送
- iOS开发笔记11:表单键盘遮挡、浮点数价格格式化显示、省市区选择器、View Debugging
- iOS中监控软键盘显示或隐藏的可靠方法
- iOS中监控软键盘显示或隐藏的可靠方法
- iOS中监控软键盘显示或隐藏的可靠方法
- iOS多线程GCD