<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi,</div><div><br></div><span class="Apple-tab-span" style="white-space:pre"> </span>Have this bug been fixed in the latest version?<div><br></div><div>B.R.<br><div><br><div>下面是被转发的邮件:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>发件人: </b></span><span style="font-family:'Helvetica'; font-size:medium;">caox <<a href="mailto:caox@lightpole.net">caox@lightpole.net</a>><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>日期: </b></span><span style="font-family:'Helvetica'; font-size:medium;">2011年8月16日 下午05时45分27秒格林尼治标准时间+0800<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>收件人: </b></span><span style="font-family:'Helvetica'; font-size:medium;">Ingela Anderton Andin <<a href="mailto:ingela@erix.ericsson.se">ingela@erix.ericsson.se</a>><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>抄送: </b></span><span style="font-family:'Helvetica'; font-size:medium;">Micael Karlberg <<a href="mailto:bmk@erix.ericsson.se">bmk@erix.ericsson.se</a>><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>主题: </b></span><span style="font-family:'Helvetica'; font-size:medium;"><b>回复: Inets(5.5.1) http client keep alive mode doesn't follow RFC2616</b><br></span></div><br><div>Thanks.<br><br>在 2011-8-16,下午5:28, Ingela Anderton Andin 写道:<br><br><blockquote type="cite">Hi!<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Well it looks like a bug to me, probably a slip up during a refactoring<br></blockquote><blockquote type="cite">of the code.<br></blockquote><blockquote type="cite">I have created a ticket for it to be solved for the next release.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Regards Ingela Erlang/OTP team - Ericsson AB<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">caox wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">Sorry to bother you. But I have some questions of inets http client as<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">below. And I found you in the author list of inets so I sent this to you.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">下面是被转发的邮件:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">*发件人: *caox <<a href="mailto:caox@lightpole.net">caox@lightpole.net</a> <<a href="mailto:caox@lightpole.net">mailto:caox@lightpole.net</a>>><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">*日期: *2011年8月14日上午11时32分57秒格林尼治标准时间+0800<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">*收件人: <a href="mailto:*erlang-bugs@erlang.org">*erlang-bugs@erlang.org</a> <<a href="mailto:erlang-bugs@erlang.org">mailto:erlang-bugs@erlang.org</a>><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">*主题: **Inets(5.5.1) http client keep alive mode doesn't follow RFC2616*<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Hi<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">According to RFC2616, a HTTP/1.1 client should send a request and<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">then wait for the response before sending any subsequent request on a<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">persistent connection if without pipelining.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">But when using inets5.5.1 of R14B01, we found httpc send requests<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">directly to the connection without checking whether the earlier<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">request on it has been responded. According to the TCP packets we<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">captured from web communication, several requests were passed on the<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">same connection in one TCP packet and it seems worked in pipelining<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">mode. And we use the default inets opiton setting so the pipelining<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">should be off in the situation.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Also, we follow the source code of inets implementation and do not<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">find any significant difference between keep alive and pipelining in<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">the sending mechanism. In both mode httpc_manager:handle_request call<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">httpc_handler:send, and in httpc_handler:send pipelining and keep<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">alive requests will be queued in different queue in the process state<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">and then sent to current connection of handler by httpc_request:send<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">and then httpc_transport:send.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">So,it is a bug, or there is something I have missed in the source code?<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">BR<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><br></div></blockquote></div><br></div></body></html>