#xiaodeng #web服务器 #HTTP权威指南 86 #各种形状和尺寸的web服务器。 #web服务器会对HTTP请求进行处理并提供响应。 #web服务器用来表示web服务器的软件,也可以用来表示提供web页面的特定设备或计算机。 #5.1.1 web服务器的实现: #web服务器实现了HTTP和相关TCP的连接处理。负责管理web服务器提供的资源,以及对web服务器的配置、控制及拓展方面的管理。 #web服务器逻辑实现了HTTP协议,管理者web资源,并负责提供web服务器的管理功能。 #web服务器有各种不同的形式: 1)可以在标准的计算机系统上安装并运行通用的软件web服务器。 2)如果不想那么麻烦的去安装软件,可以买一台web服务器设备。 3)随着微处理出现,可以用少量计算机芯片实现嵌入式web服务器。 #通用软件web服务器: 基本所有的计算机和操作系统中都有可用的web服务器软件。 免费的Apache软件 微软的web服务器。 #web服务器设备: web服务器设备是预先打包好的软硬件解决方案。 应用解决方案不再需要安装及配置软件,通常可以极大的简化管理工作。 #嵌入式web服务器: 嵌入式服务器要嵌入到消费类产品中去的小型web服务器。 嵌入式web服务器允许用户通过便捷的web浏览器接口来管理其消费者设备。 #实际的web服务器会做些什么? #基本web服务器请求的步骤: 1)建立连接:接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭。 2)接收请求:从网络中读取一条HTTP请求报文 3)处理请求:对请求报文进行解读,并采取行为。 4)访问资源:访问报文中指定的资源 5)构建响应:创建带有正确首部的HTTP响应报文 6)发送响应:将响应回送给客户端 7)记录事务处理过程:将与已完成事务有关的内容记录在一个日志文件中。 #处理新连接: 1)客户端请求一条到web服务器的TCP连接时,web服务端会建立连接,判断连接的另一端是哪个客户端,从TCP连接中将IP地址解析出来。 2)一旦新的连接建立起来并被接受,服务端就会将新连接添加到其现存的web服务器连接列表中,做好监视连接上数据传输的准备 3)web服务器可以随意的拒绝或立即关闭一条连接,web服务器可能会因为客户端ip地址或主机名未认证,而关闭连接。 #客户端主机名识别: 1)可以用‘反向DNS’对大部分web服务器进行配置,以便将客户端IP地址转换成客户端主机名。 2 #通过ident确定客户端用户: #5.7.1 docroot 根目录 web服务器支持各种不同类型的资源映射。但最简单的资源映射形式就是用请求uri作为名字来访问服务器文件系统中的文件。 web服务器的文件系统中会有一个特殊的文件夹专门用于存放web内容。这个文件夹被称之为文档的根目录。