- 博客(56)
- 资源 (12)
- 收藏
- 关注
原创 浏览器多标签,Http协议和底层socket的情况
2个浏览器标签同时访问同1个url(即相同ip),来get数据,判断http的chunked数据包会不会交叉1、发现chrome是2个标签使用同一个链接 但是第2个get是在第一个get数据收完后才发送的。2、而IE7是2个标签使用不同的socket 所以没的影响。所以认为:浏览器来控制get数据不会交叉的从服务器下载。参考:1、为什么浏览器会
2014-03-28 18:09:50 1432
原创 HTTP状态码大全,Nginx 408/499错误
不错的一个笔记!http权威指南读书笔记转:http://www.cnblogs.com/littlewish/category/442671.html
2014-03-28 17:08:51 11400
原创 Netty 学习笔记之【回调设置】
连接断开回调Channel连接断开时,执行函数/** * Remover from HashMap */ private final ChannelFutureListener remover = new ChannelFutureListener() { public void operationComplete( ChannelFuture future)
2014-03-28 10:15:36 2722
转载 Transfer-Encoding:chunked 说明
参考:http://blog.csdn.net/wy5761/article/details/17568851先说解决方法:::不让服务器返回Transfer-Encoding:chunked,在客户端请求的时候可以使用http 1.0的协议。通常,HTTP协议中使用Content-Length这个头来告知数据的长度。然后,在数据下行的过程中,Conte
2014-03-27 11:47:21 11747
转载 Netty源码分析之handler decoder
ChannelHandler是处理业务逻辑的代码所在。下面首先分析下ChannelHandler的体系结构,然后重点分析几个有意思的Handler:IdleStateHandler、ExceptionHandler1.ChannelHandler在Netty中的位置ChannelHandler分upstreamChannelHandler和downstreamChannelHandle
2014-03-27 10:06:15 2757
原创 SSL:用Keytool生成和签发数字证书
参考:http://chrui.iteye.com/blog/1018711http://blog.sina.com.cn/s/blog_634d74310101c7bg.htmlhttp://utensil.github.io/tech/2011/06/11/how-to-play-with-certificates-and-keys.htmlhttp://blog.csdn
2014-03-26 18:22:58 6325
转载 WSAEventSelect模型
WSAEventSelect模型 WSAEventSelect模型也是I/O模型中较为常用的一个异步模型,它也允许应用程序在一个或多个套接字上,接收以事件为基础的网络事件通知。该模型最主要是将网络事件投递至一个事件对象句柄。 事件通知 事件通知模型要求我们的应用程序针对打算使用的每一个套接字,首先创建一个事件对象。创建方法是调用WSACreateEv
2014-03-24 22:20:56 1190
原创 WinSock IO模型 实例
WSAEventSelect模型事件触发条件说明1. FD_READ事件 调用WSAEventSelect函数时,如果当前有数据可读 有数据到达时,并且没有发送过FD_READ事件 调用recv/recvfrom函数后,仍然有数据可读时2. RD_WRITE事件 调用WSAEventSelect函数时,如果调用能够发送数据时 调用con
2014-03-24 22:19:54 1267
转载 Linux下高性能网络编程中的几个TCP/IP选项
_SO_REUSEADDR、SO_RECVBUF、SO_SNDBUF、SO_KEEPALIVE、SO_LINGER、TCP_CORK、TCP_NODELAY等 最近在新的平台上测试程序,以前一些没有注意到的问题都成为了性能瓶颈,通过设置一些TCP/IP选项能够解决一部分问题,当然根本的解决方法是重构代码,重新设计服务器框架。先列出几个TCP/IP选项:
2014-03-24 22:18:16 1138
原创 在write或send过程中——网络断了
(iptables封端口,拔网线,对端宕机)—此时应用程序和操作系统都认为连接还是存在的。 Client端在没有收到Server端的ACK的情况下,会连续重传。 Linux2.6内核下测试结果为重传16次,总时常为15分钟左右,write或send将返回ETIMEOUT错误,同时发送RST包给Server端。 连续重传之间的时间差,分别是0.2、0
2014-03-24 22:16:37 2647
原创 TCP socket如何判断连接断开
1、SocketSO_KEEPALIVE不能取代心跳线程的原因(1)SO_KEEPALIVE是系统底层的机制,用于系统维护每一个tcp连接的。(2)心跳线程属于应用层,主要用于终端和服务器连接的检查。 即使SO_KEEPALIVE检测到连接正常,但并不能保证终端和服务器连接的正常。有一种情况,服务器进程死了,但它和客户端的tcp连接还连着(该连接由系统维护的)。...
2014-03-24 22:13:25 47778 5
转载 NetScaler的cipher选择机制
这些天很是研究了一把NetScaler关于cipher选择的机制。通过抓包进行分析得知一个初步结论为NetScaler针对cipher选择的机制可能是匹配client hello包中的第一个cipher,也就是说按照此包中的cipher list进行顺序匹配。这样的机制很被动,因为客户端的cipher list是我们不可控的。原来以为NetScaler会根据client hello的ciphe
2014-03-24 21:58:33 1730
原创 Openssl WIN/LINUX 下编译
使VS的环境,进入cmd命令平台。 工具----命令行主要的三个命令:编译32位:perl Configure VC-WIN32 no-asm #配置ms\do_msnmake -f ms\ntdll.mak #编译nmake -f ms/ntdll.mak test #测试编
2014-03-24 21:56:15 1812
转载 ###openssl 详解#####
SSL记录协议中的MAC(摘要算法) MAC算法(MD5或SHA-1)`ssl的消息已经是加密的了,为何还要MAC,难道还有人会修改消息吗?如果怕有人修改消息,加一个摘要不就可以了吗?为何还要mac呢?这是怕有人离线攻击,我们可以信任协议本身,但是却不能信任加密算法,特别是ecb加密算法。MAC = HASH [shared-key,
2014-03-24 21:55:13 19444
转载 SSL证书转换
PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有: PKCS#7 Cryptographic Message Syntax Standard PKCS#10 Cer
2014-03-24 21:51:42 2296
转载 openssl建立证书,非常详细配置ssl+apache
openssl建立证书,非常详细配置ssl+apache一,什么是ssl SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的
2014-03-24 21:48:05 8301
转载 证书链(The Certificate Chains)
证书链(The Certificate Chains)名词解释 写道DN (Distinguished Name) 标识名, 包含一些指定实体身份的字段 ,如通用名,组织等等CSR(Certificate Signing Request)数字证书签名请求 其中包含了你的公钥和DN三级证书 是指用户的SSL证书是在"受信任的根证书颁发机构"下的"中级证书颁
2014-03-24 21:44:25 4642 2
转载 HTTPS SSL详解
SSL连接建立过程分析字体大小:大中小博文SSL连接建立过程分析(1)(2006-10-23 08:54)分类:opensslSSL连接建立过程分析(1)本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn:[email protected]来源:
2014-03-24 21:43:16 1737
转载 ssl的消息读写以及和tcp语义的异同
SSL实现必须读取整条记录,哪怕select返回了一个字节可读,那么ssl也要读取整个记录,这种基于纪录的读写方式就是为了正确的加密个解密。因此如果用select模型的话可能会出现一些莫名其妙的问题,事实上也正是ssl消息需要加密解密从而需要整个消息整个消息读写才使得ssl协议的行为和tcp的有了少有的不一致。 1、tcp的特点是流式传输,流式的特点就是没有消息边界,一个连接就
2014-03-24 21:40:40 2544
转载 用openssl进行SSL编程
主要介绍openssl进行SSL通信的一些函数以及过程,主要是初始化过程,至于数据的接收以及后续处理可以具体问题具体分析。oad所有的SSL算法: OpenSSL_add_ssl_algorithms(); 建立SSL所用的method: SSL_METHOD *meth=SSLv23_method(); 初始化上下文情景: SSL_CTX
2014-03-24 21:38:49 12513
转载 mod_ssl源码分析一
apache(httpd-2.2.14) mod_ssl源码分析一 前几天读了张中庆老师的《Apache源代码全景分析》让我受益匪浅,因为公司最近要分析Apache源代码中的mod_ssl部分,但是这本书中这部分介绍的非常少,在此的基础上我开始了mod_ssl的探索: 要分析mod_ssl,首先要分析的openssl在通信中的位置,那就是位于TCP以上,http(应用层以下
2014-03-24 21:37:07 2250 4
原创 openssl多线程实例
openssl多线程实例 本示例用多线程实现了一个ssl服务端和一个客户端。服务端代码如下:#include #include #include #include //#ifndef _WIN32#if defined (WIN32) || defined(WIN64) #include #incl
2014-03-24 21:34:57 3003
转载 dtls_udp_echo.c
/** Copyright (C) 2009 - 2011 Robin Seggelmann, [email protected],* Michael Tuexen, [email protected]** All rights reserved.** Redistribution and use in sou
2014-03-24 21:32:24 3708
转载 mttest.c
/* crypto/threads/mttest.c *//* Copyright (C) 1995-1998 Eric Young ([email protected])* All rights reserved.** This package is an SSL implementation written* by Eric Young ([email protected]
2014-03-24 21:30:46 1678
转载 openssl的man中文文档
发信站: BBS 水木清华站 (Fri Nov 10 20:19:30 2000) 不久前接到有关ssl的活, 结果找遍中文网站资料实在奇缺。感觉是好象现在国内做这个技术的人不多所有有兴趣写点东西来介绍一下。 我使用的ssl的toolkit是openssl就用openssl做例子来讲解 openssl实在太大了,指令也多,API也多,更严重的是 它的API
2014-03-24 21:28:35 5425
原创 ssl介绍以及双向认证和单向认证原理
最近接触到了ssl,Google了一下,这里记录学习。1 证书介绍SSL安全证书可以自己生成,也可以通过第三方的CA(Certification Authority)认证中心付费申请颁发。SSL安全证书包括:1.1. CA证书:也叫根证书或中间级证书。 单项:单向认证的https,CA证书是可选的。主要目的是使证书构成一个证书链,以达...
2014-03-24 21:27:07 3069 1
转载 RESTEasy中的HTTP异步处理
转自:http://weli.iteye.com/blog/1273163在RESTFul WebService一书中,介绍了使用HTTP协议来实现异步请求的一个轻量级设计模式,叫做ASync Job Service。而RESTEasy很好地支持了这个模式,并提供了一个例子说明使用方法。本文对这种设计模式及其在RESTEasy下的使用方法做出说明。 ASync Job Service
2014-03-20 15:31:20 3251
转载 Java语言的26个细节
java中整数的相等比较如果比较两个数值相等的Integer类型的整数,你可能会发现,用“==”比较(首先你必须明确“==”比较的是地址),有的时候返回true,而有的时候,返回false。比如:Integer i = 128;Integer j = 128;System.out.println(i == j);//返回false而Integer m = 127;Integ...
2014-03-19 17:46:47 1554
转载 提高java性能的26个细节
最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单
2014-03-19 17:27:19 868
转载 JAVA中String类以及对象池的概念
学java的都知道String这个类,是我们一般都要用的一个类,那么我们对这个类又了解多少呢?下面我来给大家介绍下这个类!String 这个类有两大模式一个是对象池的概念,而另一个就是不变模式!String类和对象池 我们知道得到String对象有两种办法: String str1="hello"; String str2=new String("hello
2014-03-19 17:13:55 2727 2
转载 openssl编程
OpenSSL是一个开放源代码的SSL协议的产品实现,它采用C语言作为开发语言,具备了跨系统的性能。调用OpenSSL 的函数就可以实现一个SSL加密的安全数据传输通道,从而保护客户端和服务器之间数据的安全。#include #include 基于OpenSSL的程序都要遵循以下几个步骤:(1 ) OpenSSL初始化 在使用OpenSSL前,必须先对O
2014-03-18 22:16:56 2547
转载 重入问题
一、可重入函数1)什么是可重入性? 可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入 函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的
2014-03-18 22:12:01 3909
转载 Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例
Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例
2014-03-18 22:09:12 1733
转载 Nginx 多进程流程、配置文件详解
nginx多进程配置#直接看下配置:user nginx ; #用户worker_processes 8; #工作进程,根据硬件调整,大于等于cpu核数error_log logs/nginx_error.log crit; #错误日志pid logs/nginx.pid; #pid放置的位置wor...
2014-03-18 22:07:56 1562
转载 Netty长连接的事件处理顺序问题
博客分类: 网络开发+Mina+Netty最近的一个线上项目(认证服务器)老是出现服务延迟的情况。具体的问题描述:(1)客户端发送一个请求A(长连接),在服务器端的业务层需要20秒以上才能接收到。(2)客户端发送一个请求B(端连接),在服务器端的业务层可以迅速接收到。 从现象大致知道问题出在服务器端的网络接收层,大量通过长连接发送过来的请求都堵塞在网络层得不到处
2014-03-18 21:59:31 4653
转载 Netty框架入门
1:下载netty的jar和官方文档:http://www.jboss.org/netty/。现在的稳定版netty-3.6.3.Final-dist.tar.bz2。2:将一个jar(netty-3.6.3.Final.jar)加到项目中,另一个源码包(netty-3.6.3.Final-sources.jar)也可以加进去。3:例子实现《服务端程序》(一)首先编
2014-03-18 21:57:25 1685
转载 闲扯LUA之三
·070函数作为Lua的第一类值,像string和number类型的变量一样也可以有全局函数和局部函数之分。局部函数包括作为table的域的函数(如math.sin和os.time等)和使存放在局部变量中的函数(如local add = function(x, y) return x + y end)·071作为table的域的函数可按如下几种方式创建:1)
2014-03-18 21:49:59 1103
转载 闲扯LUA之二
053当函数只有一个参数且这个参数是字符串或表构造的时候,用于表明是函数调用的()可以省略。例如:print("Hello world") print "Hello world",type({1, 2, 3}) type{1, 2, 3}。·054Lua提供了面向对象方式调用函数的语法:o:fun(x) o.fun(o, x)·055Lua调用的函数可
2014-03-18 21:49:18 1426
转载 闲扯LUA之一
闲扯LUA之一·001Chunk是一系列语句,可以是一个语句、一系列语句的组合、或者函数。一行代码是一个chunk,一个.lua脚本被看做是一个chunk·002语句结尾的分号是可选的(不建议把多条语句写在同一行)。·003如果一行不是一个完整的Chunk,Lua等待续航,并给出提示符(一般是>>)·004>lua -la -lb(-l选项会
2014-03-18 21:46:51 1356
转载 软件架构设计
软件架构设计【一】-软件架构设计过程软件架构设计尚没有万灵的方法论支持,还是个非常新兴的行业,给出个人理解的行业软件架构设计过程,受个人水平有限,仅供参考:1.业务分析:针对目标行业的业务战略、蓝图、业务功能及流程进行分析,提出其中部分功能可以使用信息化进行处理,通过分析可以得出信息化要解决的问题。2.解决方案设计:根据业务战略,形成行业信息化解决方案。
2014-03-18 21:42:42 1087
linux 定时发送邮件 应用sendmail技术
2010-04-25
中文分词算法介绍、分类详解
2010-04-25
Cluence搜索引擎源码
2009-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人