从 iptables 的角度来看,后续的 http 请求的状态是怎样的?

从 iptables 的角度来看,后续的 http 请求的状态是怎样的?

当用户请求网页时,例如www.example.com/about-us/history.html
服务器将向他们发送一个 HTML 文件,该 HTML 文件将包含随后向服务器生成更多 HTTP 请求的元素,例如

  • <script src="./js/app.js"></script>
  • <link rel="stylesheet" type="text/css" href="theme.css">
  • <img src="smiley.gif" alt="Smiley face" height="42" width="42">

这些后续请求是否被 iptables 分类为

  • 已确立的
  • 新的
  • 有关的

答案1

这取决于连接的保持状态,以及他们是否使用 SPDY。

当您第一次连接到网站时,您将发送一个新的数据包,一旦连接,所有数据包都将被建立。

在 HTTP 1.0 中,每个资源都需要一个新的 TCP 连接,因此在这种情况下,您会看到一个以每个资源的新数据包开始的新连接。

但是,HTTP 1.1 会重复使用连接来获取后续资源,因此它会保持连接打开,并简单地将下一个 HTTP 请求放在同一个连接上。在这种情况下,您将看到一个 ESTABLISHED 数据包。但由于在 HTTP 1.1 中您一次只能加载一个资源,因此大多数浏览器会同时使用多个连接 - 每个连接都使用一个 NEW 数据包打开。

SPDY 看起来将构成 HTTP2 的基础,它可以多路复用单个连接,因此在这种情况下,您将能够同时在单个 TCP 连接上加载所有资源 - 因此只需一个新数据包即可启动连接。

您永远不需要担心 RELATED 数据包,它们适用于 FTP 等以协调方式使用多个 TCP 连接的协议。HTTP 连接不必相互了解,因此不需要被防火墙识别为相关连接。

相关内容