收藏
回答

严重疏漏:request 返回的 header 是个结构体???

问题模块
API和组件

在 HTTP 协议中,返回的 header 的字段是有可能重复的,最常见的就是 Set-Cookie


服务端返回 header 如图:




如今 request 里的 success 给的 header 是个 Set,值只有第一个 Set-Cookie:




面对 Request 里的 Cookie 问题,官方也没有提供解决方案,

JS 写解析 header 还挺吃力,

加上现在这个没法返回完整的 header 表示...无力吐糟...


不知道官方是故意让我们解藕 Cookie,用不同的两套逻辑,还是疏漏???

最后一次编辑于  2017-09-18  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

1 个回答

  • Link
    Link
    2017-09-18

    你好,request 返回的 header 是一个 key-value 的 Object,其中 key 是 field-name ,value 是 filed-value。根据 RFC2616(https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2) 的定义,如果同一个 filed-name 返回了多个 field-value,会以逗号分隔开来。小程序 request 接口的也是遵循这个标准的,而不是你描述的只有第一个值。




    Multiple message-header fields with the same field-name MAY be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list [i.e., #(values)]. It MUST be possible to combine the multiple header fields into one "field-name: field-value" pair, without changing the semantics of the message, by appending each subsequent field-value to the first, each separated by a comma. The order in which header fields with the same field-name are received is therefore significant to the interpretation of the combined field value, and thus a proxy MUST NOT change the order of these field values when a message is forwarded.



    2017-09-18
    赞同
    回复