HTTP权威指南----第五章:Web服务器

本文详细介绍了Web服务器的相关概念,包括服务与服务器的区别、主流的Web服务器软件如Apache、Tomcat和Nginx,以及嵌入式Web服务器在物联网时代的应用。此外,还阐述了Web服务器的工作流程,包括连接建立、请求接收和处理、资源访问、响应构建与发送,以及访问控制。最后讨论了服务器的内部表示法、连接管理和动态内容资源的映射等技术细节。
摘要由CSDN通过智能技术生成

HTTP权威指南----第五章:Web服务器
在这里插入图片描述
通篇内容是基于中文和英文两版书籍的。对于中文版中翻译和措辞不便于理解的地方,我在尊重原著的的前提下,做了些许润色。





0x01 服务与服务器:

​ 本书中同时用“Web服务器”表达了“服务”和“服务器”两个概念,为了避免混淆,我在此将这两个概念分别明确一下。

  1. 服务(Service):即将要或已被搭建的,为了满足某种特定功能的程序(软件)。就像人类世界中的银行可以为大家提供金融服务。

  2. 服务器(Server):承载服务(Service)的实体(硬件)。就像上面例子中的银行大楼。

在这里插入图片描述

0x02 服务软件(Service Software):

​ 目前用来搭建HTTP服务的软件有很多,介绍几个主流的:(由于该书的出版时间,书中只介绍了几种历史悠久的)

  1. Apache:隶属于Apache软件基金会的项目。其开源、免费和跨平台,支持非常多HTTP功能的服务软件,而且运行稳定。因此占据绝大部分应用场景。
  2. Tomcat:Apache Tomcat,同是隶属于Apache软件基金会的项目。使用JAVA编写的免费、开源轻量级服务。是Apache的扩展,也可以独立于Apache之外运行。
  3. Nginx:由俄罗斯人编写的轻量级服务软件,其发音为“engine X”。高性能、占用内存少,并发能力强,部署方便。
  4. IIS 隶属于微软的,随微软的Windows操作系统收费。

0x03 嵌入式Web服务器:

​ 当代已经进入物联网时代,在万物互联的场景中,不可避免的就是对电子设备进行管理配置。这不再像上世纪80-90年代,拿着产品说明书,对着具有实体键的电子产品进行设置那般;而是采用了最为普遍的Web管理方式,将点按设备的实体键转变成了点按Web页面的虚拟按钮。

​ 这些电子设备大到价值千万的数据中心集群,小到家庭的宽带小盒子,都得能够支持Web登录,才能实现Web管理。这些搭建在设备中的Web服务器,就是嵌入式Web服务器。

​ 这些嵌入式Web服务器,往往是通过小巧的软件来实现的。毕竟只是为了满足一些特定的配置功能,而非完善的网页网站。

0x04 实际的Web服务器会做些什么

​ 较简单过程介绍:

​ 1. 建立连接:接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭。

​ 2. 接收请求:从网络中读取一条HTTP请求报文。

​ 3. 处理请求:对请求报文进行解释,并采取行动。

​ 4. 访问资源:访问报文中指定的资源。

​ 5. 构建响应:创建带有正确首部的HTTP响应报文。

​ 6. 发送响应:将响应回送给客户端。

​ 7. 记录事务处理过程:将与已完成事务有关的内容记录在一个日志文件中。

在这里插入图片描述

​ 较详细过程介绍:

  1. 接收客户端链接:

    1.1 处理新连接:

    当Web服务器收到一个来自客户端的TCP连接时,通常情况下Web服务器会接收并与客户端建立连接。连接建立之后

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值