在$connect路由响应中可以设置哪些header?

0

【以下的问题经过翻译处理】 根据此示例[1],可以从设置为Websocket API的$connect处理程序的代理集成的Lambda函数中返回以下payload来设置“Sec-WebSocket-Protocol”标头:

{
  statusCode: 200,
  headers: {
    "Sec-WebSocket-Protocol" : "myprotocol"
  }
}

问题是,其他header也可以设置吗?目前来看其他标头都被删掉了。例如,当我在响应中设置“Set-Cookie”标头时,该标头不会出现在HTTP响应中。是否有一种方法可以配置路由响应或集成响应,以便显示这些header?

[1] https://docs.amazonaws.cn/en_us/apigateway/latest/developerguide/websocket-connect-route-subprotocol.html

profile picture
EXPERTE
gefragt vor 6 Monaten33 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 不可以,WebSocket API不允许设置其他标头。大多数标头(除了Upgrade、Connection、Sec-WebSocket-*之外的)在握手过程中没有意义。然而,根据规范,设置Cookie可能是可以的。

服务器可以使用与Cookie相关的选项字段来设置cookie,[RFC6265]中有详细描述。

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen