什么是源站?|源站定义

源站的目的是处理和响应来自 Internet 客户端的传入 Internet 请求。

Share facebook icon linkedin icon twitter icon email icon

源站

学习目标

阅读本文后,您将能够:

  • 定义源站
  • 将源站与 CDN 边缘服务器区分开来
  • 解释 CDN 源站保护的局限

什么是源站?

源站的目的是处理和响应来自 Internet 客户端的传入 Internet 请求。源站的概念通常与边缘服务器或缓存服务器的概念结合使用。源站的核心是一台运行一个或多个程序的计算机,这些程序旨在侦听和处理传入的 Internet 请求。源站可以承担为网站之类的 Internet 资产提供内容的全部责任,只要流量不超出服务器能够处理的范围并且延迟不是主要问题即可。


源站和发出请求的客户端之间的物理距离会增加连接的延迟,进而增加加载 Internet 资源(例如网页)的时间。使用 SSL/TLS 的安全 Internet 连接需要客户端和源站之间的额外往返时间 (RTT) ,这也为请求增加了额外的延迟,直接影响客户端从源站请求数据的体验。通过使用内容分发网络 (CDN),可以减少往返时间,并且也可以减少对源站的请求量。

边缘服务器和源站有什么区别?

简单地说,CDN 边缘服务器是放置在全球主要互联网提供商之间重要关口的计算机,用于尽快交付内容。边缘服务器位于网络“边缘”的 CDN 内,专门用于快速处理请求。通过策略性地将边缘服务器放置在网络之间存在的 Internet 交换点 (IxP),CDN 能够缩短到达 Internet 上特定位置所花费的时间。


这些边缘服务器在具有战略意义的位置缓存内容,以减轻一个或多个源站的负担。通过将静态资产(如图像、HTML 和 JavaScript 文件以及可能的其他内容)尽可能移到请求客户端计算机附近,边缘服务器缓存可以减少加载 Web 资源所需的时间。使用 CDN 时,源站仍具有重要的功能,因为重要的服务器端代码(例如用于身份验证的哈希客户端凭据数据库)通常维护在源站内。


下面是边缘服务器和源站一起工作以提供登录页面并允许用户登录服务的简单示例。一个简单的登录页面需要下载以下静态资产,才能正确呈现网页:

  1. 网页的 HTML 文件
  2. 网页样式的 CSS 文件
  3. 几个图像文件
  4. 几个 JavaScript 库

这些文件都是静态文件;它们不是动态生成的,对于网站的所有访问者都是相同的。因此,这些文件可以缓存,并从边缘服务器提供给客户端。所有这些文件都可以加载到更靠近客户端计算机的位置,避免消耗源站的带宽。

CDN edge cache response

接下来,当用户输入他们的登录名和密码并按“登录”时,对动态内容的请求将返回到边缘服务器,然后边缘服务器会将请求代理回源站。然后,源站将在关联的数据库表中验证用户的身份,再发回特定帐户信息。

CDN uncached origin fetch diagram

使用 CDN 时,处理静态内容的边缘服务器与提供动态内容的源站各自承担一些责任。一些 CDN 的功能也可以扩展到这种简化模型之外。

使用 CDN 时,源站仍然可能被攻击吗?

简单来说,是的。CDN 不能使源站立于不败之地,但如果使用得当,它可以使源站不可见,从而充当传入请求的防护罩。隐藏源站的真实 IP 地址是设置 CDN 的重要部分。因此,CDN 提供商应建议在实施 CDN 策略时更改源站的 IP 地址,以防止 DDoS 攻击绕过防护罩并直接击中源站。Cloudflare 的 CDN 包括全面的 DDoS 保护。