HTTP的X-Forwarded-*系列header

本文介绍了HTTP的Forwarded和X-Forwarded-*系列头部字段,主要用于在代理服务器和负载均衡场景下追踪原始客户端信息。重点讲解了Forwarded头的语法和用途,以及X-Forwarded-For头如何表示客户端IP,强调了这些头部在处理用户隐私时的注意事项。同时提到了X-Forwarded-Port的非标准使用情况,并讨论了从X-Forwarded-For向Forwarded迁移的过程。
摘要由CSDN通过智能技术生成

简介

在互联网上,有各种代理服务器介入转发HTTP请求,但是也修改了报文格式,因此增加了额外的字段包含原始信息。

2014年,RFC7239 中定义了Forwarded这个http首部1字段,标准化了其格式和含义。

但是在这之前互联网上的代理服务器已经大量使用了X-Forwarded-* 系列首部,比如 X-Forwarded-For 、 X-Forwarded-Host 以及X-Forwarded-Proto这三个首部,其含义已经成为既成标准


Forwarded2

Forwarded 首部中包含了代理服务器的客户端的信息,即由于代理服务器在请求路径中的介入而被修改或丢失的信息。

这个消息首部会被用来进行调试和统计,以及生成基于位置的定制化内容,按照设计的目的,它会暴露一定的隐私和敏感信息,比如客户端的IP地址。所以在应用此消息首部的时候,需要将用户的隐私问题考虑在内。

语法

Forwarded: by=<identifier>; for=<identifier>; host=<host>; proto=<http|https>

  1. <identifier>
    一个 identifier 显示了在使用代理的过程中被修改或者丢失的信息。它们可以是以下几种形式:
    一个IP地址(V4 或 V6,端口号可选,ipv6 地址需要包含在方括号里面,同时用引号括起来),
    语意不明的标识符(比如 “_hidden” 或者 “_secret”),
    或者是 “unknown”,当当前信息实体不可知的时候(但是你依然想要说明请求被进行了转发)。
  2. by=<identifier>
    该请求进
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值