代码改变世界

随笔分类 -  网络

初探单点登录 SSO

2014-04-03 19:39 by 捣乱小子, 16597 阅读, 收藏, 编辑
摘要: 单点登录单点登录(Single sign-on,SSO)是一种访问控制,在多个软件应用中,用户只需登录其中一个应用,就可以成功访问其他应用;同样,用户只需注销其中一个应用,就可以成功注销其他应用。当一个公司产品线越来越复杂,做的东西越来越多,考虑到用户的便利性和业务的交集,单点登录也就变得越来越必然。譬如,阿里巴巴中的淘宝网,天猫,聚划算和一淘,考虑下面的场景:我们用户登录淘宝网购物,紧接着朋友打电话说出去玩,于是打开聚划算的时候你会发现,你已经登了聚划算!可能这些细节都被大多数人忽略了(被谁给惯坏了),但如果要让用户再次手动登录聚划算,用户体验可想而知。这种便利性就是单点登录所带来的。在单点 阅读全文

urllib2 源码小剖

2013-08-25 23:38 by 捣乱小子, 2471 阅读, 收藏, 编辑
摘要: 两篇小剖已经完成:urllib 源码小剖urllib2 源码小剖urllib2 对 urllib 改进了好些,整个思路都改了,变得更加灵活,有“高内聚,低耦合”的味道。看看 urllib2 的新特性:将对 url 的处理单独成一个 request 类URLopener 和 FancyURLopener 都下架,取而代之的是 OpenerDirector另添加了 N 多 handlers,这些 handlers 主要对 HTTP 连接,HTTP request 或者 HTTP response 的处理,譬如往 HTTP request 中添加几个特定的 cookies 或者状态码处理,所有你能想 阅读全文

urllib 源码小剖

2013-08-25 11:49 by 捣乱小子, 1743 阅读, 收藏, 编辑
摘要: 两篇小剖已经完成:urllib 源码小剖urllib2 源码小剖urllib 是 python 内置的网络爬虫模块,如果熟悉 python 一定能很快上手使用 urllib。写这篇文章的目的是因为用到了它,但因为用的次数较多,又或者是具体的需求,有必要深入去理解内部的工作方式。最简单的使用urllib 最简单的使用,我也从下面的语句中开始:import urllibparams = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})f = urllib.urlopen("http:/ 阅读全文

基于TCP的C/S初级网络编程2

2012-08-06 20:40 by 捣乱小子, 1490 阅读, 收藏, 编辑
摘要: 导读本篇文章对http://www.daoluan.net/blog/?p=774中的“计算器”进行改进,与大家分享。上面那篇中的服务端属重复型,即一个时刻只处理一客户的请求,处理期间不搭理其他客户。此篇对上篇的“计算器”进行小小的改进——能够接受多个客户的请求。改进细则:独立bind,listen,accept,serve(即calc过程)功能模块;所有错误成功提示提取至各功能模块(函数)之外,错误/成功根据各函数的返回值判断(这更符合UNIX编程风范);客户的服务过程由产生的子进程负责。缺陷:由子进程来负责serve的部分。服务器主进程(父进程)不负责等待子进程结束,资源由内核回收(这一要 阅读全文

基于TCP的C/S初级网络编程1

2012-08-02 21:29 by 捣乱小子, 2648 阅读, 收藏, 编辑
摘要: 导读本篇实现C/S架构的“计算器”,与大家分享。看了会网络编程,便不自觉YY了下:实现一个简单的计算器,客户端给出简单的运算,服务端负责运算。这一小项目做起来很有意思,而且难度不大,所以推荐初学者试着去做做。下面分享在实现上述“计算器”的过程。简单的基于tcp协议的 C/S编程都离不开这几个函数:服务端:socket,bind,listen,accept,recv,send客户端:socket,connect,recv,send因为“计算器”还设计涉及客户端的阻塞(因为客户端提交了运算要求过后,服务端可能要等会才能回送计算结果,这时要求客户端阻塞等候),所以涉及select函数。select函 阅读全文