普通互联网用户通过浏览器来浏览互联网世界的Web资源(例如文字、图片和视频等)。这个过程中,浏览器实际上充当了客户端的角色,而服务端的角色则由Web服务器应用程序来充当,例如IIS、Apache和Nginx等。
由于Web服务器应用程序本质上仍然是程序,所以同样会存在各种漏洞,这些漏洞可能源于设计逻辑的失误,也可能源于代码编写的失误,这些漏洞会衍生出各种不同的黑客攻击方案,Web服务器应用程序必须面对的风险如拒绝服务(Denial of Service,DoS)攻击。
1、Web服务器应用程序简介
用户访问Web服务的流程是,首先由浏览器向Web服务器发送一个HTTP请求;然后Web服务器对接收到的请求信息进行处理,将处理的结果返回给浏览器;最终浏览器将处理后的结果呈现给用户。
下图展示了整个流程:
简言之,Web 服务器的工作就是接收请求、处理请求以及发送数据。一台完整的Web服务器应该包含硬件(CPU、内存和硬盘)、操作系统和实现Web服务的应用程序,这些部分共同决定了Web服务器的整体性能。目前主流的Web服务器应用程序有Apache、Nginx和IIS等。
- Apache:这是一款历史悠久的开源Web服务器应用程序,从1996年到2019年一直是世界使用量排名第一的Web服务器应用程序,可以运行在几乎所有的计算机平台上。
- Nginx:这是一款高性能的 Web 服务器应用程序,由伊戈尔·赛索耶夫