M.S. Dousti created HTTPCORE-475:
------------------------------------
Summary: Occasional issues in handling "204 No Content"
Key: HTTPCORE-475
URL: https://issues.apache.org/jira/browse/HTTPCORE-475
Project: HttpComponents HttpCore
Issue Type: Bug
Components: Examples, HttpCore
Affects Versions: 4.4.6
Environment: Windows, Java 8
Reporter: M.S. Dousti
Priority: Minor
While testing {{ElementalReverseProxy}}, I noted that occasionally, some
requests fail. Digging further, it seems that the code has some difficulty in
handling POST requests whose responses have "204 No Content" status. The bug is
intermittent, so it is a bit tricky to reproduce. One way is to run the proxy
against [http://www.bing.com]. (Notice it's HTTP and not HTTPS). Here are the
steps:
# Change line 274 of {{ElementalReverseProxy}} to further assist in debugging,
from:
{code:java}
System.err.println("I/O error: " + ex.getMessage());
{code}
to:
{code:java}
ex.printStackTrace(); System.exit(-1);
{code}
# Add the following lines to your {{hosts}} file ({{/etc/hosts}} in Linux, and
{{%SystemRoot%\System32\drivers\etc\hosts}} in Windows):
{code:none}
127.0.0.1 bing.com
127.0.0.1 www.bing.com
{code}
# Run {{ElementalReverseProxy}} against one of Bing's IP addresses. I used
{{204.79.197.200}}.
# Navigate your browser to {{http://www.bing.com:8888}}, and watch the output
of
{{ElementalReverseProxy}}. Here's a sample run:
{code:none}
Listening on port 8888
Incoming connection from /127.0.0.1
Outgoing connection to /204.79.197.200
New connection thread
>> Request URI: /
<< Response: HTTP/1.1 200 OK
Incoming connection from /127.0.0.1
Outgoing connection to /204.79.197.200
Incoming connection from /127.0.0.1
New connection thread
>> Request URI:
>> /fd/ls/l?IG=3C1FD9BC348B419DAF07D5D09D135555&CID=3ED5D1926AB96D71082FDB206BCB6CA6&Type=Event.CPT&DATA={%22pp%22:{%22S%22:%22L%22,%22FC%22:-1,%22BC%22:-1,%22SE%22:-1,%22TC%22:-1,%22H%22:116,%22BP%22:134,%22CT%22:169,%22IL%22:1},%22ad%22:[-1,-1,1600,770,1600,770,0]}&P=SERP&DA=Bn2
Outgoing connection to /204.79.197.200
New connection thread
>> Request URI: /fd/ls/lsp.aspx?
Incoming connection from /127.0.0.1
Outgoing connection to /204.79.197.200
New connection thread
Incoming connection from /127.0.0.1
>> Request URI:
>> /notifications/render?bnptrigger=%7B%22PartnerId%22%3A%22HomePage%22%2C%22IID%22%3A%22SERP.2000%22%2C%22Attributes%22%3A%7B%22RawRequestURL%22%3A%22%2F%22%7D%7D&IG=3C1FD9BC348B419DAF07D5D09D135555&IID=SERP.2000
Outgoing connection to /204.79.197.200
New connection thread
Incoming connection from /127.0.0.1
>> Request URI: /sa/8_01_0_000000/HpbHeaderPopup.js
<< Response: HTTP/1.1 204 OK
Outgoing connection to /204.79.197.200
New connection thread
>> Request URI: /sa/8_01_0_000000/homepageImgViewer_c.js
<< Response: HTTP/1.1 200 OK
<< Response: HTTP/1.1 200 OK
<< Response: HTTP/1.1 200 OK
>> Request URI: /HPImageArchive.aspx?format=js&idx=0&n=1&nc=1498898493932&pid=hp
org.apache.http.NoHttpResponseException: The target server failed to
respondIncoming connection from /127.0.0.1
at
org.apache.http.impl.io.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:131)
at
org.apache.http.impl.io.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:53)
at
org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at
org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
at
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at
org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at
ElementalReverseProxy$ProxyHandler.handle(ElementalReverseProxy.java:134)
at org.apache.http.protocol.HttpService.doService(HttpService.java:437)
at
org.apache.http.protocol.HttpService.handleRequest(HttpService.java:342)
at ElementalReverseProxy$ProxyThread.run(ElementalReverseProxy.java:262)
{code}
I don't know whether the problem lies within {{ElementalReverseProxy}}, or the
way HC handles the requests/responses.
I also wrote a simple PHP/HTML/JavaScript to reproduce the error without
relying on Bing, which I can provide if needed.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]