gpt4 book ai didi

javascript - 每个 Web 请求传输的字节数

转载 作者:行者123 更新时间:2023-12-03 07:30:18 32 4
gpt4 key购买 nike

当您执行 XMLHttpRequest 时,数据通常会被压缩。正在查看the Content-Length header

xhr.getResponseHeader("Content-Length");

为您提供响应正文中的八位字节数,您可以通过调整响应 header 的大小来添加 header 的近似值。

但是:如何找到实际传输的(压缩)字节数?(在 Firefox 中,如果这只能通过特定于浏览器的方式实现。)

在下面的屏幕截图中,您会看到几个文件的差异: different sizes transferred than received

以下内容都应该与此相同

  • 从套接字读取的字节数
  • squid 日志中的文件大小
  • 为响应请求而通过网络发送的应用层八位字节数

最佳答案

更新:performance api似乎提供了这个:调用为

performance.getEntries()[0]

并查看encodedBodySize (参见also at MDN)

<小时/>

上面的屏幕截图显示了 Network MonitorIts code似乎使用 network-monitor.js文件哪个

implements the nsIStreamListener and nsIRequestObserver interfaces. This is used within the NetworkMonitor feature to get the response body of the request.

相关代码好像是

  onProgress: function(request, context, progress, progressMax) {
this.transferredSize = progress;
// Need to forward as well to keep things like Download Manager's progress
// bar working properly.
this._forwardNotification(Ci.nsIProgressEventSink, "onProgress", arguments);
},

  _onComplete: function NRL__onComplete(aData)
{
let response = {
mimeType: "",
text: aData || "",
};

response.size = response.text.length;
response.transferredSize = this.transferredSize;

progress 事件不属于这两个界面。可能来自 xhr ,但目前还不清楚它来自哪里。

关于javascript - 每个 Web 请求传输的字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35825449/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com