This is baffling me. For authentication reasons, I am doing all my
HTTP traffic via a custom flash.net.Socket where I create and parse
the HTTP request/response myself (using Digest authorization).
Everything works fine when I run the generated html/swf files locally,
but once I deploy them to the unprotected part of a webserver, the
response connection is not dropped by the server for several seconds.
I do a GET and receive the 401 immediately...send the same GET request
again with the Digest info. I receive the correct response from the
server immediately but the socket is not closed for 4 seconds by the
server. Has anyone seen this? 

I have "Connection: close" in my request but the socket is still kept
open. If I access this URI via browser URL bar, the delay is not
there. I sniffed the packets and even if I mimic the request String
exactly, the socket still hangs for 4 seconds. I suspect I am not
closing the socket request, though '\r\n\r\n' seems to be the standard
 (and it works when it runs locally). Any ideas???

Here is my exact request that hangs though the 200 response is
received immediately:

GET /myapp/mydata.xml HTTP/1.1\r\n
Host: www.mydomain.com\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Keep-Alive: 1\r\n
Connection: close\r\n
Cookie: JSESSIONID=8CCB32BBEDB875F082709FE17AA93679;\r\n
Authorization: Digest username="user1", realm="MYAPP",
nonce="MTIxMzEyODYwOTE0MDo1Njg5NTllYTUxMDYyN2VmNGNmMjViMTA4MDFiMDRjMA==",
uri="/myapp/mydata.xml", response="1175bbe7d5840a0d94fb5de3ef16a2a3",
qop=auth, nc=1, cnonce="0a4f113b"\r\n\r\n

Reply via email to