在$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
專家
已提問 6 個月前檢視次數 33 次
1 個回答
0

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

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

profile picture
專家
已回答 6 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南