The Max-Forwards header is used to restrict the number of times that a message can be forwarded. It is only used for HTTP TRACE and HTTP OPTIONS requests. This is useful, for example, when troubleshooting problems in a message chain or locating network loops. The HTTP header is set with an integer value that indicates the number of forwards remaining, at most.
Max-Forwards: <# of forwards remaining>
When an intermediary receives a HTTP response with the HTTP Max-Forwards header, it will remove the HTTP header, decrement the value, and replace the HTTP header with the new one for the next HTTP request. Effectively, this reduces the number of remaining forwards because it counts itself as part of the chain.
If an intermediary receives a HTTP Max-Forwards header with a value of zero then it can no longer forward the message. Instead, the intermediary must respond to the message with a 200 OK and the original HTTP request as message body.
The HTTP Max-Forwards header is a mechanism used for troubleshooting that restricts the number of times that messages can be forwarded under certain circumstances.