Encoding 如何在GraphQL服务器上启用gzip?

Encoding 如何在GraphQL服务器上启用gzip?,encoding,graphql,Encoding,Graphql,根据,鼓励任何生产GraphQL服务启用GZIP,并鼓励其客户发送标题:接受编码:GZIP 我在Postman中对此进行了测试,启用或禁用了“接受编码”,在响应的“内容长度”中没有发现任何差异 所以我的问题是,如何在graphQL服务器上启用GZIP编码 Q:如何在graphQL服务器上启用GZIP编码 A:简短的回答,你不能 为什么?因为GraphQL只是一个库,用于解析图形查询并调用您提供的适当函数来构建图形响应 它不是压缩您的HTTP响应并确保响应中包含Content-Type=Gzip头

根据,鼓励任何生产GraphQL服务启用GZIP,并鼓励其客户发送标题:接受编码:GZIP

我在Postman中对此进行了测试,启用或禁用了“接受编码”,在响应的“内容长度”中没有发现任何差异

所以我的问题是,如何在graphQL服务器上启用GZIP编码


Q:如何在graphQL服务器上启用GZIP编码

A:简短的回答,你不能

为什么?因为GraphQL只是一个库,用于解析图形查询并调用您提供的适当函数来构建图形响应

它不是压缩您的
HTTP
响应并确保响应中包含
Content-Type=Gzip

换句话说,这篇文档试图说明的是,
GraphQL
响应看起来非常像
JSON
,因此在压缩时工作良好。这主要是因为原始的
图形
响应的大小可能非常庞大,在网络上传输它们效率低下且速度缓慢

为了防止
graphql
的HTTP服务器在
NodeJS
中实现,您可以使用
zlib
进行压缩。看


如果你是大多数使用NodeJs的
express
框架的人,那么它就更容易了,因为它已经有了一个压缩插件。请看。

我认为,对于OP的要求,这个回答的措辞非常混乱。我知道您正在描述HTTP服务器和GraphQL框架之间的关系,前者实际接收请求并提供响应,后者在代码中委托请求。但是,从OP可以清楚地看到,有一个HTTP服务器在本地运行,它使用GraphQL框架。仅仅因为OP中的措辞有点偏离,并不意味着你应该以“你不能”开头。对于OP和未来的读者来说,使用压缩libs会更有帮助,然后解释GQL和HTTP之间的区别