中年一文看懂web服务器、应用服务器、反向代理服务器区别与联系


地址:
cnblogs.com/vipyoumay/p/7455431.html
我们知道 , 不同肤色的人外貌差别很大 , 而双胞胎的辨识很难 。 有意思的是Web服务器/Web容器/Web应用程序服务器/反向代理有点像四胞胎 , 在网络上经常一起出现 。 本文将带读者对这四个相似概念如何区分 。
Web 服务器概念与基本原理
Web 服务器的历史
1989 年 , 互联网之父 Berners-Lee 向其雇主 CERN 提出了一个新项目 , 目的是通过使用超文本系统来缓解科学家之间的信息交流 。
该项目导致 Berners-Lee 在 1990 年编写了两个方案:

  • 一个名为 World Wide Web 的浏览器 。
  • 世界上第一个网络服务器 , 后来被称为 CERN httpd , 它运行在 NeXTSTEP 上在 1991 年至 1994 年期间 , 用于通过万维网冲浪和交换数据的早期技术的简单性和有效性有助于将其移植到许多不同的操作系统 , 并将其用于科学组织和大学 , 然后传播到行业 。
1994 年 , Berners-Lee 决定组建万维网联盟(W3C) , 通过标准化过程来管理涉及的许多技术(HTTP , HTML 等)的进一步发展 。
就是这台服务器:
中年一文看懂web服务器、应用服务器、反向代理服务器区别与联系
本文插图
Web 服务器的主要功能是存储 , 处理和传递网页给客户 。 客户端和服务器之间的通信使用超文本传输协议(HTTP)进行 。
交付的页面最常见的是 HTML 文档 , 除了文本内容之外 , 还可能包含图像 , 样式表和脚本 。
一个用户代理 , 通常是 Web 浏览器或 Web 爬虫 , 通过发起一个 HTTP 请求以获取服务器资源 , 服务器根据请求返回该资源或由于某种原因响应错误消息 。
该资源通常是服务器辅助存储上的真实文件 , 但这不一定是这种情况 , 取决于 Web 服务器的实现方式 。
中年一文看懂web服务器、应用服务器、反向代理服务器区别与联系
本文插图
虽然主要功能是提供内容 , 但 HTTP 的完整实现还包括从客户端接收内容的方式 。 此功能用于提交 Web 表单 , 包括上传文件 。
许多通用 Web 服务器还支持使用 Active Server Pages(ASP) , PHP 或其他脚本语言的服务器端脚本 。
这意味着 Web 服务器的行为可以在单独的文件中脚本化 , 而实际的服务器软件保持不变 。
通常 , 此函数用于动态生成 HTML 文档(“即时”) , 而不是返回静态文档 。 前者主要用于从数据库检索或修改信息;后者通常快得多 , 并且更容易被缓存 , 但不能提供动态内容 。
Web 服务器不仅用于为万维网服务 。 它们也可以被嵌入到诸如打印机 , 路由器 , 网络摄像机等设备中 , 并且仅服务于本地网络 。
然后 , Web 服务器可以用于监视或管理所讨论的设备的系统的一部分 。
这通常意味着客户端计算机上不需要安装其他软件 , 因为只需要一个网络浏览器(现在大多数操作系统都包含在内) 。
Web 服务器工作原理
HTTP 协议基于 TCP 协议上 , 是一个应用层协议 , 用于用户代理和 Web 服务器进行通信 。
Web 服务器通常采用一问一答的方式进行工作: