我想写一个http代理服务器(在Delphi 6中,带有Synapse库),我不明白为什么代理应该删除"Connection:" header。如果删除了该标头,我的代理连接到的下一个服务器将不知道我的代理想要什么类型的连接。
让我们说Client1向MyProxy发送一个请求" Connection:Close"标题包括在内MyProxy删除该标头并将请求转发给Server1。现在,Server1会认为MyProxy需要持久连接(默认为http / 1.1),这是错误的。
这是什么逻辑?我错过了什么?
答案 0 :(得分:1)
连接选项是每个连接。每个发件人必须将Connection头字段设置为与其使用的连接一致。在您的情况下,代理可能会保持与原始服务器的连接打开,而您的客户端将关闭与代理服务器的连接。
另见http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-26.html#header.connection,很快就会淘汰RFC 2616。