---如果代理服务器收到请求,该请求包含值为“100-”的请求头字段,代理服务器可能知道下一个站点的服务器遵循HTTP/1.1或更高协议,或者它可能不知道下一个站点服务器的HTTP版本,那么它必须包含这个头字段来转发这个请求。
--- 如果代理服务器知道下一个站点服务器版本是 HTTP/1.0 或更低版本,则它无法转发此请求,并且必须以 417(预期失败)状态进行响应。
---代理服务器应该维护一个缓存来记录最近访问的下一个站点服务器的HTTP版本号。
--- 如果接收到的请求来自版本为HTTP/1.0(或更低)的客户端,并且该请求不包含值为“100-”的请求头字段,则代理服务器无法转发100(继续) 回复。 。 )
既然我们使用的是代理服务器,还有一个不可忽视的原因,那就是目标网页的HTTP版本号是否为1.0或更早版本,而代理服务器当前的版本为1.1或以上。 这种情况下,代理服务器不会转发我们的Post请求,并报错(417)。
再次查看数据包信息,可以清楚地看到协议的版本号是HTTP1.1。 这样我们就基本可以确定(417)的原因了:
握手失败,请求头字段类型不匹配。