在$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
专家
已提问 5 个月前29 查看次数
1 回答
0

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

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

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则