【问题标题】:Angular get response size HTTP requestsAngular 获取响应大小的 HTTP 请求
【发布时间】:2020-11-06 04:55:08
【问题描述】:

对于我的学校项目,我想知道 HTTP 请求结果的压缩大小。它是 gzip 压缩的,并且没有给出大小的标题。这必须针对两种不同类型的 API,REST 和 GraphQL。对于 graphql 请求,我使用 apollo。我需要的尺寸是what is shown here

我想要这样做的原因是比较结果大小差异,以检查 GraphQL 在数据使用方面是否更有效,以及它的效率如何。

如果在 Angular 中无法做到这一点,API 是带有 express 的 Node.js,我可以在那里添加它。我使用的 GraphQL 的后端包是 express-graphql。

我找不到任何可能性,但我认为这应该是可能的。任何想法

【问题讨论】:

    标签: angular express graphql gzip httpresponse


    【解决方案1】:

    您需要content-length 标头。

    查看此示例,可能会有所帮助:

    fetch('https://drag13.io/')
      .then((rawResponse)=> console.log(rawResponse.headers.get('content-length')))
    

    【讨论】:

    • 在后端我使用npmjs.com/package/compression 作为gzipper,但这会删除内容长度标头。当我自己添加时,它是未压缩内容的大小。 ://
    • 嗯,奇怪,让我检查一下
    • 谢谢! this 是我在屏幕截图中使用的端点。它是公开的,所以如果你愿意,你可以在这里查看我正在使用的结果。这是 500 篇带有用于检查大小差异的虚拟数据的“文章”
    • 那是因为它使用了Transfer-Encoding: chunked 这是一个要点,您可以在其中检查如何处理和计算更改的数据gist.github.com/jfsiii/034152ecfa908cf66178
    • 不幸的是,这不起作用。它非常接近,但这是经过解压缩的响应。所以我从这个 gist 得到的响应是 +-4MB,但我想要的数量是 +-57.9KB。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    相关资源
    最近更新 更多