cookie

跨服务器session共享

杀马特。学长 韩版系。学妹 提交于 2020-02-12 05:47:29
1. 基于NFS的Session共享   NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发。   这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录服务器mount到各频道服务器的本地session目录即可,缺点是NFS依托 于复 杂的安全机制和文件系统,因此并发效率不高,尤其对于session这类高并发读写的小文件, 会由于共享目录服务器的io-wait过高,最终拖累前端WEB应用程序的执行效率。   2. 基于数据库的Session共享   首选当然是大名鼎鼎的Mysql数据库,并且建议使用内存表Heap,提高session操作的读写效率。这个方案的实用性比较强,相信大家普 遍在 使用,它的缺点在于session的并发读写能力取决于Mysql数据库的性能,同时需要自己实现session淘汰逻辑,以便定时从数据表中更新、删除 session记录,当并发过高时容易出现表锁,虽然我们可以选择行级锁的表引擎,但不得不否认使用数据库存储Session还是有些杀鸡用牛刀的架势。   3. 基于Cookie的Session共享   这个方案我们可能比较陌生,但它在大型网站中还是比较普遍被使用。原理是将全站用户的Session信息加密、序列化后以Cookie的方式, 统一 种植在根域名下(如:.host.com)

清除UIWebView的缓存

こ雲淡風輕ζ 提交于 2020-02-12 05:43:17
//清除cookies NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (cookie in [storage cookies]) { [storage deleteCookie:cookie]; } // 清除webView的缓存 [[NSURLCache sharedURLCache] removeAllCachedResponses]; 一般这样就能删除UIWebView 中的缓存。 文/Tracey(简书作者) 原文链接:http://www.jianshu.com/p/b0607343e9be 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。 在加载不同文件的时候,缓存会导致输入输出流打开关闭异常。我第一次打开PDF,第二次打开DOC的时候就会爆异常:Stream 0x7fb5435c8a50 is sending an event before being opened。设置清除缓存之后,就可以避免这个问题。 来源: https://www.cnblogs.com/wobuyayi/p/5647634.html

python 之post、get与cookie实战

做~自己de王妃 提交于 2020-02-12 05:39:07
  项目名称:登陆考勤管理系统爬取个人考勤信息并写入excel表格 编写目的:   公司经常要统计员工的考勤信息,而员工每次都要登陆考勤系统,再复制相关信息出来,贴到EXCEL,再转给统计人员,统计人员再挨个核对,麻烦无比,实在是看不下去了。我擦。。。。。   由于登陆的是内网的考勤系统,出了公司就登陆不了,所以本篇文章仅做参考,来体验一下cookie、post与get登陆使用。 先说用用到哪些知识吧:   1、tkinter Gui编程,写爬虫没有GUI怎么能行   2、cookie   3、post,get 其实不多是吧,简单。 要爬取一个网站,总得要矢爬的网站登陆地址,及登陆信息吧。分析一下看看。。。 好的,我们获取了如下信息:   登陆地址:LoginUrl = 'http://17.xx.xx.xx/j_acegi_security_check'   post提交:post_data = {'j_username':'your_username','j_password':'your_password'} 那就开工 ,写一下登陆代码吧 #!/usr/bin/env python# _*_ coding:utf-8 _*_import urllibimport urllib2import cookielibLoginUrl = 'http://17.xx.xx.xx/j

Session共享的四种方法

南楼画角 提交于 2020-02-12 05:37:59
1. 基于NFS的Session共享   NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发。   这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录服务器mount到各频道服务器的本地session目录即可,缺点是NFS依托 于复 杂的安全机制和文件系统,因此并发效率不高,尤其对于session这类高并发读写的小文件, 会由于共享目录服务器的io-wait过高,最终拖累前端WEB应用程序的执行效率。 2. 基于数据库的Session共享   首选当然是大名鼎鼎的Mysql数据库,并且建议使用内存表Heap,提高session操作的读写效率。这个方案的实用性比较强,相信大家普 遍在 使用,它的缺点在于session的并发读写能力取决于Mysql数据库的性能,同时需要自己实现session淘汰逻辑,以便定时从数据表中更新、删除 session记录,当并发过高时容易出现表锁,虽然我们可以选择行级锁的表引擎,但不得不否认使用数据库存储Session还是有些杀鸡用牛刀的架势。 3. 基于Cookie的Session共享   这个方案我们可能比较陌生,但它在大型网站中还是比较普遍被使用。原理是将全站用户的Session信息加密、序列化后以Cookie的方式, 统一 种植在根域名下(如:.host.com)

Java--实现单点登录

℡╲_俬逩灬. 提交于 2020-02-12 04:26:12
1 什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的业务支持系统为其提供相应的管理和IT服务。例如财务系统为财务人员提供财务的管理、计算和报表服务;人事系统为人事部门提供全公司人员的维护服务;各种业务系统为公司内部不同的业务提供不同的服务等等。这些系统的目的都是让计算机来进行复杂繁琐的计算工作,来替代人力的手工劳动,提高工作效率和质量。这些不同的系统往往是在不同的时期建设起来的,运行在不同的平台上;也许是由不同厂商开发,使用了各种不同的技术和标准。如果举例说国内一著名的IT公司(名字隐去),内部共有60多个业务系统,这些系统包括两个不同版本的SAP的ERP系统,12个不同类型和版本的数据库系统,8个不同类型和版本的操作系统,以及使用了3种不同的防火墙技术,还有数十种互相不能兼容的协议和标准,你相信吗?不要怀疑,这种情况其实非常普遍。每一个应用系统在运行了数年以后,都会成为不可替换的企业IT架构的一部分,如下图所示。 随着企业的发展,业务系统的数量在不断的增加,老的系统却不能轻易的替换,这会带来很多的开销。其一是管理上的开销,需要维护的系统越来越多。很多系统的数据是相互冗余和重复的

会话管理-2.2.Session共享

丶灬走出姿态 提交于 2020-02-12 04:25:44
1.为什么需要Session共享? 随着互联网的日益壮大,单服务器单数据库早已经不能满足实际需求。目前大多数大型网站的服务器都采用了分布式服务集群的部署方式,所谓集群,就是让一组计算机服务器协同工作,解决大并发,大数据量瓶颈问题。但是在服务集群中,session共享往往是一个比较头疼的问题。因为session是在服务器端保存的,如果用户跳转到其他服务器的话,session就会丢失。 如果你的网站是存放在一个机器上,那么是不存在这个问题的,因为会话数据就在这台机器,但是如果你使用了负载均衡把请求分发到不同的机器呢? 这个时候会话id在客户端是没有问题的,但是如果用户的两次请求到了两台不同的机器,而它的session数据可能存在其中一台机器,这个时候就会出现取不到session数据的情况,于是session的共享就成了一个问题。 传统的应用服务器,如tomcat、jboss等,其自身所实现的session管理大部分都是基于单机的, 对于大型分布式网站来说,支撑其业务的远远不止一台服务器,而是一个分布式集群, 请求在不同服务器之间跳转。那么,如何保持服务器之间的session同步呢? 2.如何实现Session共享? Session共享有多种解决方法,常用的有四种:客户端Cookie保存、服务器间Session同步、使用集群管理Session、把Session持久化到数据库。 2.1

如何实现session的共享?

99封情书 提交于 2020-02-12 03:10:11
1、以cookie加密的方式保存在客户端.   优点是 减轻服务器端的压力   缺点是 受到cookie的大小限制 ,可能占用一定带宽,因为每次请求会在头部附带一定大小的cookie信息,另外这种方式在用户 禁止使用cookie的情况 下无效 2、服务器间同步。定时同步各个服务器的session信息,此方法可能有一定延时,用户体验也不是很好 3、基于Cookie的Session共享 这个方案我们可能比较陌生,但它在大型网站中还是比较普遍被使用。原理是将全站用户的Session信息加密、序列化后以Cookie的方式,统一种植在根域名下(如:.host.com),利用浏览器访问该根域名下的所有二级域名站点时,会传递与之域名对应的所有Cookie内容的特性,从而实现用户的Cookie化Session 在多服务间的共享访问。 优点无需额外的服务器资源; 缺点是由于受http协议头信心长度的限制,仅能够存储小部分的用户信息,同时Cookie化的 Session内容需要进行安全加解密,另外它也会占用一定的带宽资源,因为浏览器会在请求当前域名下任何资源时将本地Cookie附加在http头中传递到服务器。 4、 基于数据库的Session共享 首选当然是大名鼎鼎的 MySQL 数据库,并且建议使用内存表Heap,提高session操作的读写效率。这个方案的实用性比较强,相信大家普遍在使用

单点登录原理与简单实现

做~自己de王妃 提交于 2020-02-12 02:20:32
转: https://www.cnblogs.com/ywlaker/p/6113927.html 单系统登录机制 1、http无状态协议    web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系   但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请求,响应合法请求,忽略非法请求;要鉴别浏览器请求,必须清楚浏览器请求状态。既然 http协议无状态,那就让服务器和浏览器共同维护一个状态吧!这就是会话机制 2、会话机制   浏览器第一次请求服务器,服务器创建一个会话,并将会话的 id作为响应的一部分发送给浏览器,浏览器存储会话id,并在后续第二次和第三次请求中带上会话id,服务器取得请求中的会话id就知道是不是同一个用户了,这个过程用下图说明,后续请求与第一次请求产生了关联   服务器在内存中保存会话对象,浏览器怎么保存会话 id呢?你可能会想到两种方式 请求参数 cookie   将会话 id作为每一个请求的参数,服务器接收请求自然能解析参数获得会话id,并借此判断是否来自同一会话,很明显,这种方式不靠谱

集群session管理问题

自作多情 提交于 2020-02-12 02:19:20
转自:http://book.51cto.com/art/201405/439557.htm 先来看一下什么是Session。 用户使用网站的服务,基本上需要浏览器与Web 服务器的多次交互。HTTP 协议本身是无状态的,需要基于HTTP 协议支持会话状态(Session State)的机制。而这样的机制应该可以使Web 服务器从多次单独的HTTP 请求中看到“会话”,也就是知道哪些请求是来自哪个会话的。具体实现方式为:在会话开始时,分配一个唯一的会话标识(SessionId),通过Cookie 把这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识来告诉Web 服务器请求是属于哪个会话的。在Web 服务器上,各个会话有独立的存储,保存不同会话的信息。如果遇到禁用Cookie 的情况,一般的做法就是把这个会话标识放到URL 的参数中。我们可以通过图2-8 来看一下上述过程。 当我们的应用服务器从一台变到两台后,如同图2-7 中的结构,我们就会遇到Session的问题了。具体是指什么问题呢? 我们来看图2-9,当一个带有会话标识的HTTP 请求到了Web 服务器后,需要在HTTP请求的处理过程中找到对应的会话数据(Session)。而问题就在于,会话数据是需要保存在单机上的。 在图2-9 所示的网站中,如果我第一次访问网站时请求落到了左边的服务器,那么我的Session

单点登录学习笔记

亡梦爱人 提交于 2020-02-12 02:19:00
单点登录(SSO)概述 概念:简单点说就是,用户只需要登录一次就可以访问所有相互信任的应用系统。 SSO体系结构: 1.认证中心 2.用户与账号系统、用户数据获取接口 3.客户端模块即授权验证(用户请求系统时,首先要对请求进行拦截) 4.令牌(token) 可以看作钥匙 SSO认证流程:工作原理和工作过程 1.浏览器发起访问系统的请求 2.客户端模块对用户请求进行拦截 3.验证token是否存在(不存在时重定向到登陆界面) 4.token存在时验证token是否有效(有效时可以访问系统) 5.token无效时重定向到登陆界面 6.进入登录界面,登录成功后进行授权(授权失败时提示授权失败) 7.授权成功则生成token令牌 8.生成token之后,再次返回到资源请求后重新再次进行验证 SSO相关核心技术: 1.HTTP协议的基础知识(无状态的协议) HTTP处理的一般分为三个步骤:接收请求、处理请求、返回结果。 因为HTTP是无状态的,所以无法判断第二个问题中问的是什么多少钱一支。 由于以前浏览器的请求都是用于请求的静态的资源,为了保持请求的高效,所以将HTTP设为了无状态,但随着不断的发展,HTTP无状态的已经无法处理更多的问题了,所以就需要对会话的维持: cookie:每次网络请求中,服务端返回给每个请求的唯一标识,每次发请求时会被传送【客户端】 session