- 浏览: 28454 次
- 性别:
- 来自: 深圳
最新评论
-
coral0212:
好贴,为什么没人顶呢,这里我想说说我理解的策略(Strateg ...
spring中的设计模式 -
khotyn:
贺喜文学青年开博~~
tomcat源码分析之connector -
yjhexy:
富豪榜第15名,发来贺电~!
tomcat源码分析之connector
文章列表
深入JAVA虚拟机读书笔记
- 博客分类:
- jvm
深入java虚拟机读书笔记
第一章 java体系结构介绍
1.1为什么使用java环境的需要。由于逐渐通过网络连接起来的智能设备和计算机组成的基础结构开创了软件的新环境,而这些设备和计算机一般都有不同的硬件体系,自然有不同 ...
二、tomcat中的HTTP实现
tomcat中http的实现是在Http11*Processor中的process方法中做的。之所以加上*号是因为有Http11Processor,Http11AprProcessor,Http11NioProcessor三种,为什么有三种这里就不做说明,我们仅选第一个即也是最简单的来分析。
下面重点对keepAlive的实现做一下分析。
5、HTTP协议的版本
HTTP1.1和HTTP1.0的区别
Persistent Connection(持久连接)
在HTTP1.0中,每对Request/Response都使用一个新的连接。
HTTP 1.1则支持Persistent Connection, 并且
4.3、通用信息头(普通报头)
Cache-Control
用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为Pragma。
请求时的缓存指令包括:no-cache(用于指示请求或响应消息不能缓存)、no-store、max-age、max-stale、min-fresh、only-if-cached;
响应时的缓存指令包括
转自http://www.blogjava.net/amigoxie/archive/2009/12/03/304634.html
3.1 Cookie和Session
Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力。
Session可以用Cookie来实现,也可以用URL回写的机制来实现。用Cookie来实现的Session可以认为是对Cookie更高级的应用。
3.1.1两者比较
转自http://www.1861web.com/website-design-03/html/technology/webtechnology/PHP/20100104/10851100902.html
一、基础篇 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协 ...
spring在ioc的两个体现:一个是BeanFactory,一个是ApplicationContext。
一、BeanFactory
BeanFactory factory = new XmlBeanFactory(Resource resource) 的过程
二、ApplicationContext
spring在ioc的两个体现:一个是BeanFactory,一个是ApplicationContext。
一、BeanFactory
AliasRegistry:
提供了注册、删除、获得以及是否是 别名 的方法。
BeanDefinitionRegistry:
提供了注册、删除、获得以及是否包含 bean的定义 的等方法,并继承了AliasRegistry。
SimpleAliasRegistry:
实现了AliasRegistry中的方法。
SimpleBeanDefinitionRegistry:
实现了BeanDefinitionRegist ...
这一段时间看了tomcat的HTTP相关的源码实现,重点关注了keep-alive的实现机制。以下是对源码的分析和一些自己的感悟。
谈HTTP的实现还是要对http协议本身做一些了解。下面先对HTTP相关的知识做一些整理,再谈一下HTTP在tomcat的实现。
一、HTTP协议
谈HTTP协议之前先谈下
我对设计模式的理解:
应该说设计模式是我们在写代码时候的一种被承认的较好的模式,就像一种宗教信仰一样,大多数人承认的时候,你就要跟随,如果你想当一个社会存在的话。好的设计模式就像是给代码造了一个很好的骨架,在这个骨架里,你可以知道心在哪里,肺在哪里,因为大多数人都认识这样的骨架,就有了很好的传播性。这是从易读和易传播来感知设计模式的好处。当然设计模式本身更重要的是设计原则的一种实现,比如开闭原则,依赖倒置原则,这些是在代码的修改和扩展上说事。说到底就是人类和代码发生关系的四种场合:阅读,修改,增加,删除。让每一种场合都比较舒服的话,就需要用设计模式。
但是话说如果你是个毛毛虫,又怎么懂得人的骨骼 ...
最近看了tomcat的源码,想写点总结。
tomcat的模块划分可以用下面的图视之:
从上面的图可以看出,在客户端访问tomcat的时候有一层叫做connector的东西,这其实是处理来自于客户端的协议,左边的coyote connector是对HTTP/1.1协议处理,右边的jk connector是对AJP/1.3协议做处理。
以下就针对coyote connector做一下源代码分析。
首先我们看两个相关的类图:
对上面的类图做一下简单说明:
JIoEndpoint:提供监听线程Acceptor接受socket并且创建一个新的Worker线程处理connection,处理完放 ...