第5章:Web 服务器,第1张

逻辑上实现了http协议、管理web资源、负责提供web服务器的管理功能。

Web服务器逻辑和操作系统共同管理TCP连接。

Apache 就是 开源的 软件web 服务器的一种。

一旦连接建立起来并被接受,服务器会将新连接添加到其现存的web服务器连接列表中,做好监视连接上数据传输的设备。

可以用反向DNS对大部分web服务器进行配置,以便将客户端IP地址转换成 客户端 主机名。

好处: web服务器可以将客户端主机名用于详细的访问控制和日志记录。

坏处:主机名查找可能会花费很长时间,要么只允许特定内容进行解析。

有些web服务器还支持ident 协议。服务器可以通过ident协议找到发起http连接的 用户名 。对记录日志非常有用。

类似这种。

如果客户端支持ident协议,就在tcp端口113上监听 ident请求。

但ident在公共因特网上不能很好的使用

解析请求报文时,web服务器会不定期从网络上接受输入数据。网络连接可能随时都会出现延迟。web服务器从网络中读取数据,将部分报文数据临时存储在内存中,直到收到足以进行解析的数据并理解其意义为止。

web服务器对报文解析后,并用自己内部的数据结构来存储请求报文。

请求可能会在任意时刻到达,所以web服务器不停观察有无新的web请求。不同的web服务器会以不同的方式为请求服务。

线程的服务器一次只处理一个请求。一个事务处理结束后,才会去处理下一条连接。

结构容易实现,单性能很差。

多进程和多线程服务器用多个进程或更高效的现成同时对请求进行处理。

可以根据需要创建,或者预先创建一些线程/进程。有些服务器会为每条连接分配一个线程/进程,但当服务器同时要处理成百上千甚至上万的连接时,需要的继承或者线程数量可能会消耗太多内存或系统资源。(预先分配 线程池,进程池,内存池等手段)

因此这类服务器会对线程/进程的最大数量进行限制

线程与复用功能结合,利用计算机平台上多个CPU。多个线程中的每一个都在观察打开的连接。并对每条连接执行少量任务。

收到并解析请求后,可以根据方法、资源、首部和可选的主体部分对请求进行业务处理。

在web服务器将内容传送给客户端之前,要将请求 报文中的URI映射为web服务器上适当的内容或内容生成器,以识别出内容的源头。

请求URI 作为名字 来 访问 Web 服务器文件系统中的文件。通常web 服务器的文件系统中会有一个特殊的文件夹专门用于存放web内容。

即文档的 根目录

同时服务器也需要注意,不能让URL退到docroot之外,将文件系统的其余部分暴露出来。不允许这样的uri出现:

web服务器可以接受收对目录url的请求,其路径可以解析为一个目录。而不是文件。我们可以对大多数web服务器进行配置。使其在客户端请求目录url时 采取不同的动作。

大多数web服务器都会去查找目录中的一个名为indexhtml 的文件来替代此目录。

如果用户请求的时一个目录的url,并且这个目录中有一个名为indexhtml 的文件。服务器就会返回这个文件。

Web 服务器还可以将URI映射为动态资源,也就是说,映射到按需动态生成内容的程序上去。

实际上,有一大类名为应用程序服务器的Web 服务器会将Web服务器连接到复杂的后端应用上去。

Web 服务器主要做的事:

也就是说 web服务器会将URI路径名 映射为 可执行文件目录

服务器端包含项(SSI),如果某个资源被表示为存在服务器端包含想,服务器会在将其发送给客户端之前对资源内容进行处理。

web 服务器还可以为特定资源进行访问控制,有请求到达,要访问受控制资源时,服务器可以根据客户的ip地址进行访问控制,比如输入密码才能访问。

如果事务处理产生了响应 主体,就将内容放在响应报文中发回去。实体包括:

服务器要负责确定响应主体的MIME类型。有很多配置服务器的方法可以将MIME类型与资源关联起来。

Web 服务器有时会返回重定向响应而不是成功的报文。Web服务器可以将浏览器重定向到其他地方执行请求。

重定向返回码 3XX。Location响应首部包含了内容的新地址。

对于非持久连接而言,服务器应该发送了整条报文后,关闭自己一端。

对于持久而言,连接仍然可以保持打开状态。这种情况下服务器端要正确的计算content length,不然客户端无法知道响应何时结束。

当事务结束时,web服务器会在日志文件中添加一跳目录,来描述已执行的事务。

这个不需要数据库,如果是JAVA语言,你可以参看下TOCAT。它是一个JSP/SERVLET服务器,但也是可处处HTML。

当然你也可以参看下APACHE,它好像是C/C++写的。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 第5章:Web 服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情