`
liuzhaomin
  • 浏览: 207516 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
Apache HTTP连接处理流程 总结帖:     首先更新虚拟主机信息,利用process_connection挂钩函数处理。   1. 请求读取 ap_read_request 报文解析,HTTP_PROTOCOL   HTTP请求头:"GET index.html HTTP/1.1" HTTP请求域:"Accept:*/*" HTTP请求体:数据   请求信息保存在request_rec中,在请求处理过程中一直存在。   读取报文的处理也在这个地方做,输入处理过滤器。比如说文件分隔符(Windows ...
Apache Architecture: How do we measure performance? 如何测量web服务器的性能?   –Requests per Second 每秒请求次数 –Bandwidth 带宽 –Latency 等待时间 –Concurrency (Scalability) 并发(可扩展) Building a scalable web server:设计可扩展的web server   handling an HTTP request 处理http请求 –map the URL to a resource ...
接触openssl已经有一段时间了,我读过很多源码,感觉不错的也就那么几个,linux内核是其中之 一,openssl也是其中之一。openssl说白了不是什么功能性的东西,而是提供了一个支撑性的底层框架,本质上和linux内核一样,但是和 apache有区别,apache明确的实现了一个功能,就是web服务器,而openssl中我认为最重要的就是它提供的BIO框架和EVP框架,与其 说openssl是一个ssl的实现不如说ssl只不过是openssl框架的一个demo,本质上openssl提供了一套抽象的IO接口,这就是 BIO,还有一套很容易使用的加密解密接口,这就是EVP,最后证实ssl这 ...
tomcat是一个很优秀的轻量级的web引擎和java容器,它本身用java开发,而java是一个面向对象的语言,因此面向对象的语言开发出来的tomcat当然也就继承了面向对象的特征,tomcat还说明,OO真的使得开发变得简单,而且开发出来的产 ...
linux内核差一点就走进了windows的为需求而升级的发展道路从而偏离了它原来 的“只提供机制不提供策略”的道路,那就是在2.4内核时期,内核提供了一个叫做khttpd的内核级别的web服务器,当时linux的性能还不是很 好,比如进程调度算法还是O(n)的方式,而且不能有效利用多处理器的优势,线程的实现还是很拙劣,很多方面没有达到posix的高性能指标,因此当时的 开发者可能就钻进了解决性能瓶颈的牛角尖上,鉴于apache服务器很多都运行在linux上,而且web服务是如此的普遍和重要,因此性能瓶颈也就主要 是apache的性能瓶颈,因此面对这个如此“特化”而又如此不能不管的需求 ...
本文转自: http://blog.csdn.net/dog250  天地有如此静穆,我不能大笑而且歌唱   曾经读过n多个开源的代码,包括linux内核,apache,openssl,memcache,libevent,vsftpd,xinetd等等其 中我最喜欢的就是linux内核了,除了linux内核排第二的就是apache,本文我就把欣赏的心得记录下来。      apache中我最喜欢的有两个模块,一个就是它的MPM,一个就是内存管理,mem使得它可以最高效得挖掘操作系统固有的优势,而不用为了接口兼容或者 接口一致而必须提供低效的模拟层,比如windows的进程创建过于低效,但是 ...
Apache体系结构ppt
为什么要用线程池? 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTT ...
线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其实这就是一些"池化资源"技术产生的原因。比如大家所熟悉的数据库连接池正是遵循这一思想而产生的,本文将介绍的线程池技术同样符合这一思想。 目前,一些著名的大公司都特别看好这项技术,并早已经在他们的产品中应用该技术。比如IB ...
随便说说,关于处理器技术和龙芯之类 作者声明啊:那些大黑体字是版主帮我编辑字体大小的时候加上的,可能是为了方便阅读吧。我本人不太喜欢这种大字报一样的强调,感觉太强势。我本人也没有这种强调让大家接受这 ...
13.10 创建自己的处理器 在了解了处理器的细节之后我们就可以创建自己的处理器了。本章中我们将创建一个简单的处理器example_handler,该处理器的作用很简单,只是返回固定的报文信息。 13.10.1 定义处理器 在创建自己的过滤器之前,你必须首先要考虑清楚你的处理器的名称以及它在什么条件下会被调用。对于我们的示例处理器而言,处理器的名称为”example_handler”,它的触发条件则如下所示: <Location /example_status> SetHandler example_handler </Location>
13.8 目录处理器 13.8.1目录处理器概述 除了普通的磁盘文件之外,还有另外一种情况就是请求被映射到目录。那么这时候服务器就必须确定如何进行响应,通常情况下有三种情况可供选择: 1. 返回默认的索引页面。 大部分情况下这是默认的选择。通常默认页面会取名为default.html,index.html等名称。为了实现默认的索引页面,Apache中提供了mod_dir模块,它内部提供了DirectoryIndex指令用于指定默认的索引页面。 2.
在HTTP请求处理的关键步骤中 Apache对不同类型的文件的处理是不一样的。比如对于所有.html文件,通常的处理方法就是直接将该文件返回给客户端,而对于各种脚本文件比如.pl、.asp或者CGI则需要经过预处理生成html之后才能返回给客户端。不同类型的脚本的处理又由不同的应用程序处理。 为了能够对各种类型的文件方便的进行处理,Apache中引入了处理器的概念。 13.1 内容处理器概述 Apache对不同类型的文件的处理是不一样的。比如对于所有.html文件,通常的处理方法就是直接将该文件返回给客户端,而对于各种脚本文件比如.pl、.asp或者CGI则需要经过预处理生成html之后才能返回 ...
<meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style type="text/css"> <!-- a { text-decoration: none; color: #FF0000; } a:hover { color: ...
window中经常用到各种虚拟键,收集如下VK_LBUTTON鼠标左键0x01 VK_RBUTTON鼠标右键0x02 VK_CANCELCtrl + Break0x03 VK_MBUTTON鼠标中键0x04 VK_BACKBackspace键0x08 VK_TABTab键0x09 VK_RETURN回车键0x0D VK_SHIFTShift键0x10 VK_CONTROLCtrl键0x11 VK_MENUAlt键0x12 VK_PAUSEPause键0x13 VK_CAPITALCaps_Lock键0x14 VK_ESCAPEEsc键0x1B VK_SPACE空格键0x20 VK_PRIORP ...
Global site tag (gtag.js) - Google Analytics