HTTP Trailer 响应首部允许发送方在分块传输的消息末尾附加额外的元信息,这些信息可能在消息体发送过程中动态生成,例如完整性校验值、数字签名或处理状态等。详细规范参见 MDN Trailer。
当前 Surge 在通过脚本修改 HTTP 响应时,会丢失原始响应中的 Trailer 信息。若目标应用强制校验 Trailer 中包含的字段(如签名或校验和),则修改后的响应将被视为无效,导致功能异常。
为适配此类场景,需提供以下能力:
- 抓包支持 Trailer 字段
- http-response脚本支持获取和修改 Trailer
- 使用$httpClient发起请求时,支持获取响应中的 Trailer
- http-request脚本直接返回response时,支持携带 Trailer