未读取请求即提供 200 条服务

未读取请求即提供 200 条服务

我有一个系统

  • 服务器从客户端接收大文件
  • 文件未使用并立即删除
  • 客户端无法更新以停止发送文件
  • 已知客户端数量(所需线程数为常数)
  • 服务器必须是 Windows/IIS VM

如何最小化此系统的占用空间?我唯一的想法是在请求被 IIS 解析和加载之后,但理想情况下我希望有一个不读取大文件(阻止网卡)的解决方案。有没有办法在 Windows 或 IIS 中阻止请求,同时仍返回 200?

答案1

HTTP 客户端会将其请求写入服务器,然后读取答复。理论上,您可以在连接打开后或读取请求开头后立即写入答复,但如果您的客户端在发送所有数据之前读取并做出反应,我会感到非常惊讶,它甚至可能会冻结某些东西。简而言之,如果您希望客户端获得其“200”答复,您就无法阻止它写入它期望得到答复的请求。(如果您不关心客户端是否获得其 200 回复,您可以关闭服务器或断开 TCP 连接)。

如果您无法修改客户端,那么您所能做的就是让服务器尽可能高效地丢弃数据(而不是将其写入文件),并且如果遇到带宽问题则升级连接(您没有说您的具体问题是什么,只是说您想尽量减少系统占用的空间)。

相关内容