当用户请求网页时,例如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 连接不必相互了解,因此不需要被防火墙识别为相关连接。