# 4.14 Max-Forwards
> 作者:肖鹏-SpiritLing 时间:2018-11-24
~~~[sequence]
客户端-->代理服务器1: Max-Forwards: 2
客户端-->代理服务器1: (只能向下转发两次了)
代理服务器1-->代理服务器2: Max-Forwards: 1
代理服务器1-->代理服务器2: (只能向下转发一次了)
代理服务器2-->源服务器: X
源服务器-->代理服务器2: X
代理服务器2-->客户端: Max-Forwards: 0
代理服务器2-->客户端: (由我进行返回响应)
~~~
> 每次转发数值减一,当数值为0时,则返回响应
```http
Max-Forwards: 2
```
通过 TRACE 方法或 OPTIONS 方法,发送含有首部字段 `Max-Forwards` 的请求时,该字段以十进制整数形式指定可经过的服务器最大数目。服务器在往下一个服务器转发请求之前,会将 `Max-Forwards` 的值减一后重新赋值。当服务器接收到 `Max-Forwards` 值为 0 的请求时,则不再进行转发。而是直接返回响应。
使用 HTTP协议通信时,请求可能会经过代理等多台服务器。途中,如果代理服务器由于某些原因导致请求转发失败,客户端也就等不到服务器返回的响应了。对此,我们无从可知。
可以灵活使用首部字段 `Max-Forwards` 字段值为 0 ,服务器就会立即返回响应,由此我们至少可以对以那台服务器为终点的传输路径的通信状况有所把握
> 作者:肖鹏-SpiritLing 时间:2018-11-24
- 首语
- 第一章 HTTP协议及网络基础
- 第二章 协议返回状态码
- 第三章 HTTP通用首部字段
- 第一节 Cache-Control字段
- 第二节 Connection 字段
- 第三节 Date 字段
- 第四节 Pragma 字段
- 第五节 Trailer 字段
- 第六节 Transfer-Encoding 字段
- 第七节 Upgrade 字段
- 第八节 Via 字段
- 第九节 Warning 字段
- 第四章 HTTP请求首部字段
- 第一节 Accept 字段
- 第二节 Accept-Charset 字段
- 第三节 Accept-Encoding 字段
- 第四节 Accept-Language 字段
- 第五节 Authorization 字段
- 第六节 Expect 字段
- 第七节 From 字段
- 第八节 Host 字段
- 第九节 If-Match 字段
- 第十节 If-Modified-Since 字段
- 第十一节 If-None-Match 字段
- 第十二节 If-Range 字段
- 第十三节 If-Unmodified-Since 字段
- 第十四节 Max-Forwards 字段
- 第十五节 Proxy-Authorization 字段
- 第十六节 Range 字段
- 第十七节 Referer 字段
- 第十八节 TE 字段
- 第十九节 User-Agent 字段
- 第五章 HTTP响应首部字段
- 第一节 Accept-Ranges 字段
- 第二节 Age 字段
- 第三节 ETge 字段
- 第四节 Location 字段
- 第五节 Proxy-Authenticate 字段
- 第六节 Retry-After 字段
- 第七节 Server 字段
- 第八节 Vary 字段
- 第九节 WWW-Authenticate 字段
- 第六章 HTTP实体首部字段
- 第一节 Allow 字段
- 第二节 Content-Encoding字段
- 第三节 Content-Language 字段
- 第四节 Content-Length 字段
- 第五节 Content-Location 字段
- 第六节 Content-MD5 字段
- 第七节 Content-Range 字段
- 第八节 Content-Type 字段
- 第九节 Expires 字段
- 第十节 Last-Modified 字段
- 第七章 Cookie相关和其他的首部字段