directory search
Guides Access control CORS Authentication Browser detection using the user agent Caching Caching FAQ Compression Conditional requests Connection management in HTTP 1.x Content negotiation Content negotiation: List of default Accept values Cookies CSP Messages Overview Protocol upgrade mechanism Proxy servers and tunneling Proxy servers and tunneling: Proxy Auto-Configuration (PAC) file Public Key Pinning Range requests Redirections Resources and specifications Resources and URIs Response codes Server-Side Access Control Session Guides: Basics Basics of HTTP Choosing between www and non-www URLs Data URIs Evolution of HTTP Identifying resources on the Web MIME Types MIME types: Complete list of MIME types CSP Content-Security-Policy Content-Security-Policy-Report-Only CSP: base-uri CSP: block-all-mixed-content CSP: child-src CSP: connect-src CSP: default-src CSP: font-src CSP: form-action CSP: frame-ancestors CSP: frame-src CSP: img-src CSP: manifest-src CSP: media-src CSP: object-src CSP: plugin-types CSP: referrer CSP: report-uri CSP: require-sri-for CSP: sandbox CSP: script-src CSP: style-src CSP: upgrade-insecure-requests CSP: worker-src Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Access-Control-Allow-Credentials Access-Control-Allow-Headers Access-Control-Allow-Methods Access-Control-Allow-Origin Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Request-Headers Access-Control-Request-Method Age Allow Authorization Cache-Control Connection Content-Disposition Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type Cookie Cookie2 Date DNT ETag Expect Expires Forwarded From Headers Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Keep-Alive Large-Allocation Last-Modified Location Origin Pragma Proxy-Authenticate Proxy-Authorization Public-Key-Pins Public-Key-Pins-Report-Only Range Referer Referrer-Policy Retry-After Server Set-Cookie Set-Cookie2 SourceMap Strict-Transport-Security TE Tk Trailer Transfer-Encoding Upgrade-Insecure-Requests User-Agent User-Agent: Firefox Vary Via Warning WWW-Authenticate X-Content-Type-Options X-DNS-Prefetch-Control X-Forwarded-For X-Forwarded-Host X-Forwarded-Proto X-Frame-Options X-XSS-Protection Methods CONNECT DELETE GET HEAD Methods OPTIONS PATCH POST PUT Status 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 451 Unavailable For Legal Reasons 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 511 Network Authentication Required Status
characters

Forwarded首标包含来自被改变或丢失时代理参与请求的路径代理服务器的面向客户端的信息。

此标头的替代方案和事实上的标准版本是X-Forwarded-ForX-Forwarded-HostX-Forwarded-Proto的 header 。

此标题用于调试,统计和生成依赖于位置的内容,并且通过设计它可以显示隐私敏感信息,例如客户端的 IP 地址。因此,在部署此标头时必须牢记用户的隐私。

Header type

Request header

Forbidden header name

no

语法

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

指令

<identifier> 一个标识符,用于公开在使用代理时被更改或丢失的信息。这可以是:

  • 一个 IP 地址( v4 或 v6 ,可选地带有一个端口,以及用方括号括起来的 ipv6 ),

  • 混淆的标识符(如“_hidden”或“_secret”),

  • 或者当前面的实体不知道时“未知”(并且您仍然想要表明转发了该请求)。

by = <identifier> 请求进入代理的接口 server.for = <identifier>启动请求的客户端和代理链中的后续代理。host = <host> Host请求头部字段由 proxy.proto = <HTTP | HTTPS>

指示用于发出请求的协议(通常为“http”或“https”)。

例子

使用Forwarded标题

Forwarded: for="_mdn" # case insensitive
Forwarded: For="[2001:db8:cafe::17]:4711"# separated by semicolon
Forwarded: for=192.0.2.60; proto=http; by=203.0.113.43# multiple values can be appended using a comma
Forwarded: for=192.0.2.43, for=198.51.100.17

X-Forwarded-For过渡到Forwarded

如果您的应用程序,服务器或代理支持标准化Forwarded标题,则X-Forwarded-For可以替换标题。请注意,IPv6 地址被引用并放在Forwarded中的方括号中。

X-Forwarded-For: 123.34.567.89Forwarded: for=123.34.567.89X-Forwarded-For: 192.0.2.43, 2001:db8:cafe::17Forwarded: for=192.0.2.43, for="[2001:db8:cafe::17]"

规范

Specification

Title

RFC 7239, section 4: Forwarded

Forwarded HTTP Extension

Previous article: Next article: