获取 HTTP 请求和响应的数据大小

Get data size of HTTP request and response

我正在尝试管理我的 Meteor 网络应用程序的 API 使用情况,有两个问题。

  1. 如何知道传入POST请求数据的大小?请注意,我不关心 headers 的贡献;我只想知道数据部分的大小。
  2. 如果我使用 JSON 响应 HTTP 调用,如何先验计算将传输的数据量?

我愿意使用 Iron Router 或 Node 的 HTTP 包。我之前问过 setting some limits,但在这种情况下,我想计算并跟踪进出我的应用程序的数据量。

  1. 您可以获得内容 header 元素 content-length,但据我了解,此字段无法保证。 你能在收到 POST 数据后检查它的大小吗? 节点还指定

Note: Node does not check whether Content-Length and the length of the body which has been transmitted are equal or not. https://nodejs.org/api/http.html#http_class_http_clientrequest

  1. 在json序列化后,您可以得到字符串的长度作为字节。但我不认为这将是带宽使用的准确表示,考虑到压缩。如果你对内存感兴趣,你可以使用 object-sizeof(https://www.npmjs.com/package/object-sizeof)。该模块基于 objects 的内存分配进行假设,因此它可能不适合此目的。