Firebase REST API 307 临时重定向格式

Firebase REST API 307 temp redirect format

我有带网络套接字通信的嵌入式系统。我可以通过 SSL 连接到 firebase 服务器,然后执行 HTTP 流请求,因此每次数据库中发生更改时我都会收到通知。一切都很好,但 Firebase REST API docs 中提到的一件事让我担心。这是第二点:

2. Respect HTTP Redirects, in particular HTTP status code 307

我要求:

https://fakeproject-b66a6-default-rtdb.europe-west1.firebasedatabase.app/mySecretKey.json"
  1. 你知道在重定向的情况下 header 中的 Location 键的形式是什么吗?
  1. 最后会包含我的mySecretKey.json吗?
  2. 是否有可能在某个地方尝试一下,以便我从 firebase 获得 307?

我需要知道这一点,因为我必须正确解析它并发出第二次重定向位置请求。

Firebase 实时数据库 REST API 的服务器过去使用 307 代码将您重定向到正确的服务器。如今,他们不再经常使用 307,但在更新期间或移动流量时仍可能发生。

关于你可能得到的例子,你可以试试:

curl -v -H "Accept: text/event-stream" "https://s-euw1b-nss-500.europe-west1.firebasedatabase.app/test.json?ns=patryk-newest-rtdb-eu"

通过传递 Accept: text/event-stream header 我们可以防止代理,否则我们可以看到重定向流程。

我得到的回复:

< HTTP/1.1 307 Temporary Redirect
< Server: nginx
< Date: Fri, 25 Mar 2022 00:18:05 GMT
< Content-Type: text/plain
< Content-Length: 0
< Connection: keep-alive
< Location: https://s-euw1b-nss-200.europe-west1.firebasedatabase.app/test.json?ns=patryk-newest-rtdb-eu&sse=true
< Access-Control-Allow-Origin: *
< Strict-Transport-Security: max-age=31556926; includeSubDomains; preload