Cdn或者反向代理涉及的常见http header

来自三线的随记
Admin讨论 | 贡献2020年4月19日 (日) 15:49的版本

X-Forwarded-For (XFF) 在客户端访问服务器的过程中如果需要经过HTTP代理或者负载均衡服务器,可以被用来获取最初发起请求的客户端的IP地址,这个消息首部成为事实上的标准。在消息流从客户端流向服务器的过程中被拦截的情况下,服务器端的访问日志只能记录代理服务器或者负载均衡服务器的IP地址。如果想要获得最初发起请求的客户端的IP地址的话,那么 X-Forwarded-For 就派上了用场。【说人话: 让后端感知到"真实的"client address】


X-Forwarded-Host (XFH) 是一个事实上的标准首部,用来确定客户端发起的请求中使用  Host  指定的初始域名。 【说人话: 让后端感知到是通过客户端最初发起的访问域名】


X-Forwarded-Proto (XFP) 是一个事实上的标准首部,用来确定客户端与代理服务器或者负载均衡服务器之间的连接所采用的传输协议(HTTP 或 HTTPS)。在服务器的访问日志中记录的是负载均衡服务器与服务器之间的连接所使用的传输协议,而非客户端与负载均衡服务器之间所使用的协议。为了确定客户端与负载均衡服务器之间所使用的协议, X-Forwarded-Proto 就派上了用场。【说人话: 让后端感知到是通过http还是https访问】


X-Real-IP (多级代理)


Cdn-Src-IP (部分CDN厂家)


Via 是一个通用首部,是由代理服务器添加的,适用于正向和反向代理,在请求和响应首部中均可出现。这个消息首部可以用来追踪消息转发情况,防止循环请求,以及识别在请求或响应传递链中消息发送者对于协议的支持能力。


相关引述-规范化documentation: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Forwarded