01 2013 档案
摘要:1. WebSocket介绍 WebSocket协议是一种双向通信协议,它建立在TCP之上,同http一样通过TCP来传输数据,但是它和http最大的不同有两点:1.WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UA都能主动的向对方发送或接收数据,就像Socket一样,不同的是WebSocket是一种建立在Web基础上的一种简单模拟Socket的协议;2.WebSocket需要通过握手连接,类似于TCP它也需要客户端和服务器端进行握手连接,连接成功后才能相互通信。简单的建立握手的时序图如下:握手过程:Browser与WebSocket服务器通过.
阅读全文
摘要:1. 模块架构org.apache.coyote.http11包支持http1.1协议,内部分为三类:ARP、NIO、普通http,这里只对最基本的普通http(使用java的IO流,而非NIO流)作简单研究。这个包主要有以下几个类:Http11Protocol,实现了ProtocolHandler接口Http11Processor,实现了ActionHook接口InternalInputBuffer,实现了InputBuffer接口InternalOutputBuffer,实现了OutputBuffer接口InputFilter和OutputFilter接口,具体的实现类在 org.apac
阅读全文
摘要:Coyote是Tomcat的HTTP Connector框架,它处理底层的socket,并将http请求、响应等字节流层面的东西,封装成Request和Response两个类(这两个类是tomcat定义的,而非servlet中的ServletRequest和ServletResponse),供容器使用;同时,为了能让我们编写的servlet能够得到ServletRequest,Tomcat使用了Facade模式,将比较底层、低级的Request包装成为ServletRequest(这一过程通常发生在Wrapper容器一级)。因此,Coyote本质上是为tomcat的容器提供了对底层socket
阅读全文
浙公网安备 33010602011771号