2015-07-20 veryyoung
tomcat-redis-session-manager 用tomcat默认的方式来管理session是很有问题的,比如项目重启tomcat,用户会话就会丢失,这样用户体验非常糟糕。应用只要稍微上点规模或者需要多机负载,这是必须做的工作了。 web server自带解决方案有2: tomcat有自带的session共享方式cluster,多个tomcat实时复制session。缺点是服务器之间会频繁的进行数据同步,如果在不同机器上网络开销会非常大,而且数据同步会有延迟的,这可能导致数据不一致,还有缺点就是session在每台机器都保有一份,太浪费资源了! ngnix有基于ip hash转发的策略,用这个来保证每个IP每次 继续阅读 »
2015-10-13 veryyoung
很多应用都在需要用户登陆的 controller 添加了拦截器,未登陆或登陆超时会被重定向到登陆页面。 但是长期不操作 session 过期之后,执行 Ajax 请求,返回的数据会直接是登陆页面的 html 文件。 这样用户操作起来会得不到任何的反馈,没有返回数据,也没重定向到登陆页面。 继续阅读 »
2015-07-25 白若水
背景 最近接到一个需求:需要在 ASP.NET Web API 中对一个外部 API 做一次调用。而外部 API 又是以 Cookie 作为验证。问题来了,在 ASP.NET Web API 中当然是不能记录 Cookie ,但 Cookie 还得记下该怎么办? 继续阅读 »
2014-03-15 刘太华
交错 tornado session 管理 我们在用到的tornado的session方法, 是一个开源的session代码 继续阅读 »
2013-02-05 Zhang zhengzheng
今天在segmentfault上和某人探讨了一下这个https的握手流程,其实我一开始也不是很清楚,也没有好好去思考过,通过回答这个问题,对https有了更深的认识。 首先我搜索到的流程正规说法是: more 1. 用户浏览器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送到服务器。 继续阅读 »
2018-01-20 YongHao Hu
DNS
记得大学里有计算机网络这门课程,我找过著名的两本的国外教材,分别从自底向上,由上到下两个角度来诠释网络是如何连接的。冗长的介绍接线器,光缆,吓得我粗略的一略而过,结果自然是『万花丛中过,片叶不沾身』。 而后,我的编程生涯里,似乎也没有被网络所困扰。不懂得各种原理,似乎用框架,查查 stackoverflow,Google 挖个遍,也可以 6666. 不做底层的咸鱼,怎么会需要原理呢,我学的什么编译链接,session,segment,,内存管理也不过是镜中花,水里月。 继续阅读 »
2015-08-17 veryyoung
浏览器端有cookie这个概念,能够很方面的保存客户端的状态,在cookie中保存sessionId,在客户端每次请求的时候都把这个sessionId带上,去和服务端的session对比,如果能匹配,则验证通过,返回登录状态下应该返回的页面。 搬到客户端来这一套就不好使了。因为客户端每个请求都是无状态的,服务端没法识别该请求来自哪个用户。 more 思路很简单,伪造一个类似cookie的东西,客户端每次请求都带上。一般情况下这东西叫做token。 接口如下: public interface TokenService { /** * 判断token是否有效 * * @param 继续阅读 »
2017-04-30 Robert Zhang
Ruby Rack及其应用(上)对Rack的定义、基本原理和构建方法做了介绍,并且提到Rails、Sinatra等web框架都是在Rack之上构建的。现在让我们来看几个Rack作为中间件的典型例子,包括Auth、Session以及Log。 继续阅读 »
2016-11-24 YongHao Hu
go
孤儿进程: 当父进程被杀掉时, 所有的子进程都会变成孤儿进程, 被init进程(pid为1, 且第一个被kernel启动的进程)接管, 有些linux的实现会定期检查子进程, 如果他们退出了就清空他们的资源. 注意, 在Ubuntu系统里, 最新版已经是孤儿进程都是让init --user(session instance of upstart) 而不是PID为1的init进程托管了.虽然登录后此进程的PID就不变了,但是重新登录后又会变化. 继续阅读 »
2014-05-30 summer
发送消息 ``` package com.nova.jms.topic; import javax.jms.DeliveryMode; import javax.jms.MapMessage; import javax.jms.Session; import javax.jms.Topic; import javax.jms.TopicConnection; import javax.jms.TopicConnectionFactory; import javax.jms.TopicPublisher; import javax.jms.TopicSession; 继续阅读 »