HTTP Post:文件上传发生在 HTTP POST 之前

HTTP Post:文件上传发生在 HTTP POST 之前

注意:如果这个网站不适合这个主题,我深表歉意。这个问题是针对网络工程的超级用户的

我正在关注麻省大学 Wireshark 实验室, 尤其,TCP 上的一个

在这个实验中,你被要求将文件上传到网站,并观察 TCP 流量。令我惊讶的是,上传文件的传输首先发生(通过 TCP),然后才POST发出请求。我将我的捕获与他们提供的一个(tcp-ethereal-trace-1),但它显示的是同样的事情。

这引出了几个问题:

  • 文件传输是否确实发生在 HTTP POST 请求之前?
  • 如果是,为什么?
  • 服务器如何知道要接收一个文件?
  • 为了预期 POST 请求,它将监听并记录文件多长时间?
  • 实验中的第 7 个问题要求您将 HTTP POST 视为 TCP 连接中的第一个段。这似乎与其他发现相矛盾。这是怎么回事?

答案1

文件传输是否确实发生在 HTTP POST 请求之前?

不是的。参考 tcp-ethereal-trace-1 以及它在 wireshark 中的显示方式:

  • 在转储的第 1 到 3 帧中,TCP 握手已完成。
  • POST 请求从第 4 帧开始:您会在帧内容中看到“POST /ethereal-lab ..”
  • POST 请求持续到第 199 帧,即请求的最后一帧。
  • 最后一帧在 wireshark 中显示为实际 POST,因为只有这样才能收集重建完整请求所需的所有信息。如果您查看详细信息,它还会显示此请求由 122 个 TCP 段组成,即显示的所有在此之前到达的帧,其中第一帧是请求的开始。

相关内容