ALB 认为什么是“有效”标头字段

Voi*_*son 11 http amazon-web-services amazon-elb

截至 2019 年 11 月 13 日,ELB LoadBalancerAttribute文档显示

仅 Application Load Balancer 支持以下属性...

  • routing.http.drop_invalid_header_fields.enabled - 指示负载均衡器是否删除具有无效标头字段的 HTTP 标头 (true) 或路由到目标 (false)。默认为 true。

标头字段的验证规则是否与RFC 7230中定义的规则不同?如果是这样,差异是否记录在任何地方?

编辑:Jon Zobrist 报告称,截至太平洋标准时间晚上 8 点(11 月 13 日),默认设置为 false。

Jor*_*cia 3

所有 AWS 文档似乎都指向这些标准:RFC 7230 第 3.2 节、RFC 822 第 3.1 节和 RFC 2616 第 4.2 节。因此,我可以自信地说,不,没有与这些 RFC 中定义的规则不同的标头字段验证规则。

只要每个标头字段包含不区分大小写的字段名称,后跟冒号(“:”)、可选的前导空格、字段值和可选的尾随空格,就可以了;这基本上是 RFC 7230 第 3.2 节中定义的内容 ( https://www.rfc-editor.org/rfc/rfc7230#section-3.2 )

字段由回车符 (CR) 和换行符 (LF) 分隔。

维基百科有一个很好的标准和常见非标准标头字段列表: https://en.wikipedia.org/wiki/List_of_HTTP_header_fields

其他 RFC 链接:

https://www.rfc-editor.org/rfc/rfc822#section-3.1

https://www.rfc-editor.org/rfc/rfc2616#section-4.2