HTTP中Keep-Alive在碰到代理时,持久连接的对象是代理么?

查看:62
本文介绍了HTTP中Keep-Alive在碰到代理时,持久连接的对象是代理么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

看书的时候想到的问题
代理或网关会执行Connection首部规则,在将报文转发出去前,会删除Connection首部中命名的所有首部字段及Connection首部本身。那么,通过代理的报文到达服务器后,是没有Keep-Alive的,书上说哑代理才会直接转发,导致问题。
问题来了,这是不是意味着客户端所持久连接的对象是第一层的代理呢?还是说,在有代理存在的情况下(非哑代理),Keep-Alive就没办法实现了?

解决方案

代理实现的方式有很多种,当然有能够实现Keep-Alive的方式,不管如何实现,只要实现了Keep-Alive,那就一定是客户端与代理端进行长连接,再由代理端与服务器进行长连接。另外,哑代理就是因为代理端未实现对Connection的处理,导致客户端与服务器收到的信息与实际情况不匹配,才导致的结果。当然,并不是除了盲中继代理以外的代理都会实现Keep-Alive的处理,代理也可以直接抛弃Connection规则,永远选择不进行长连接。

这篇关于HTTP中Keep-Alive在碰到代理时,持久连接的对象是代理么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆