【问题标题】:Google Cloud Functions Headers responseGoogle Cloud Functions 标头响应
【发布时间】:2017-12-09 17:05:30
【问题描述】:

我正在执行由 Http 请求触发的 GCF,我只需要接收自定义消息,但是,我收到了所有这些标头:

HTTP/1.1 200 OK
Server: nginx
Content-Type: application/json; charset=utf-8
x-powered-by: Express
cache-control: private
Strict-Transport-Security: max-age=31556926; includeSubDomains; preload
etag: W/"19-7046833f"
function-execution-id: nx88bs3fra23
x-cloud-trace-context: 302401ba6a3c3d461c32dc7e4825c54d;o=1, 302401ba6a3c3d461c32dc7e4825c54d
Content-Length: 25
Accept-Ranges: bytes
Date: Wed, 05 Jul 2017 01:48:23 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-lax8651-LAX
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1499219281.929840,VS0,VE22189

我不需要使用任何标头,因为我正在从 3G 模块而不是 Web 浏览器发出请求。用于接收的代码如下:

'use strict';
exports.myfunction = functions.https.onRequest((req, res) => {
  admin.database().ref('/root').once('child_changed', (snapshot) =>{
    res.send(snapshot.val());
  });
});

有没有办法从响应中删除这些标头? 一直在看response documentation,找到了res.set(field [, value])方法。

你知道是否可以删除服务器发送的自动标头吗?

【问题讨论】:

    标签: javascript express firebase google-cloud-functions


    【解决方案1】:

    我刚刚尝试了Hello World Cloud Functions example,基于此,Google Cloud Functions 添加了以下响应标头:

    Content-Length: 12
    Date: Sat, 08 Jul 2017 12:12:12 GMT
    ETag: W/"c-1a2b3c4d"
    Server: Foo
    content-type: text/html; charset=utf-8
    function-execution-id: SOME_EXECUTION_ID
    x-cloud-trace-context: SOME_CONTEXT_1;o=1
    x-cloud-trace-context: SOME_CONTEXT_2
    x-powered-by: Express
    

    无法从 Google Cloud Functions 端移除任何这些标头。您的响应中的某些标头似乎来自 Varnish 缓存,因此除非您打算删除 Varnish 缓存,否则我猜您将无法删除它们。

    响应标头的开销非常小(在您的示例中

    【讨论】:

    • 您好,感谢您的回复!我忘了说实际上我正在使用 Firebase Cloud Functions,这就是为什么我们的标头不同......我知道它真的很小,问题是我使用的微控制器没有串行缓冲区大小来读取超过 256 个字符。
    • @JoseMarquez - 明白了! 256 个字符在谈论 HTTP 请求/响应时非常小,但在使用微控制器时是合理的大小。我猜你有一些主机会获取有效负载并将其传递给微控制器?您是否有机会以不同的方式解决此问题,例如过滤掉主机端无用的标头?
    • 我最终使用了 Firebase REST API,现在我每次只收到最多 50 个字符的事件。感谢您的支持!
    猜你喜欢
    • 2019-10-13
    • 2019-03-03
    • 1970-01-01
    • 2018-02-22
    • 2018-07-07
    • 2019-02-04
    • 2018-06-26
    • 2021-07-22
    • 1970-01-01
    相关资源
    最近更新 更多