在$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달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인