B
BGS
I have a web site (www.on-the-matrix.com) that displays photos in a "slide
show" format on ASPX pages that run in an inline frame on an ASP page (or in
a separate pop-up window). The ASPX pages use a hidden form to transmit
information back to the server so it will know which is the next photo to
load. All of this works as intended in modern versions of Internet
Explorer, Netscape and Mozilla.
With Opera, however, users receive a "Connection closed by remote server"
error. This error occurs even in Opera 7.11, the most recent version.
From the folks at Opera, I received the explanation listed below (which,
frankly, is over my head).
My question to the group is: Is there some way through ASP.NET, or through
some META tag, that I can solve this problem? (I am on a shared hosting
service so I do not have direct access to server settings.)
All help most appreciated,
Bruce
OPERA'S EXPLANATION OF "CONNECTION CLOSED" ERROR:
The reason for this problem is that the serverside script that handles the
request is submitted as a form and returns a malformed HTTP chunked encoding
response.
What the server sent in the case I looked at was:
------------start of response
23c6<CRLF>
<0x23c6 bytes of data (9158 bytes>
<CRLF>
<CRLF>
------------end of response/connection shut down
What Opera expected was this:
------------start of response
23c6<CRLF>
<0x23c6 bytes of data (9158 bytes>
<CRLF>
0<CRLF>
<CRLF>
------------end of response/connection shut down
Please notice the line with the zero length.
For more information about chunked encoding see RFC 2616, sec. 3.6.1
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1 .
In this case Opera believes that there was a transmission error, which
caused the response to be truncated.
Under normal circumstances Opera would have resubmitted the request in order
to verify the length, or get the rest of the data. As this request is
submitted as a forms request, however, that approach is not possible. There
could be undesirable side effects when a form is submitted twice (Oh, you
didn't order those two cars? Then why are there two orders from you in our
system?).
Because Opera did not receive the end of body indication, Opera has to
assume that it didn't receive the entire document, and as it cannot verify
the length by refetching it informs the user that there was a problem and
that the result may not be what the user expected by displaying a
"Connection closed by remote server" message.
The problem can be solved by inserting a "<CRLF>0" sequence between the end
of the body and the two last <CRLF>'s .
BTW: On a normal request, if Opera is not able to determine the correct size
of the document because the size is varying erratically, Opera will say that
multiple attempts to load the document failed.
END OF OPERA'S EXPLANATION.
show" format on ASPX pages that run in an inline frame on an ASP page (or in
a separate pop-up window). The ASPX pages use a hidden form to transmit
information back to the server so it will know which is the next photo to
load. All of this works as intended in modern versions of Internet
Explorer, Netscape and Mozilla.
With Opera, however, users receive a "Connection closed by remote server"
error. This error occurs even in Opera 7.11, the most recent version.
From the folks at Opera, I received the explanation listed below (which,
frankly, is over my head).
My question to the group is: Is there some way through ASP.NET, or through
some META tag, that I can solve this problem? (I am on a shared hosting
service so I do not have direct access to server settings.)
All help most appreciated,
Bruce
OPERA'S EXPLANATION OF "CONNECTION CLOSED" ERROR:
The reason for this problem is that the serverside script that handles the
request is submitted as a form and returns a malformed HTTP chunked encoding
response.
What the server sent in the case I looked at was:
------------start of response
23c6<CRLF>
<0x23c6 bytes of data (9158 bytes>
<CRLF>
<CRLF>
------------end of response/connection shut down
What Opera expected was this:
------------start of response
23c6<CRLF>
<0x23c6 bytes of data (9158 bytes>
<CRLF>
0<CRLF>
<CRLF>
------------end of response/connection shut down
Please notice the line with the zero length.
For more information about chunked encoding see RFC 2616, sec. 3.6.1
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1 .
In this case Opera believes that there was a transmission error, which
caused the response to be truncated.
Under normal circumstances Opera would have resubmitted the request in order
to verify the length, or get the rest of the data. As this request is
submitted as a forms request, however, that approach is not possible. There
could be undesirable side effects when a form is submitted twice (Oh, you
didn't order those two cars? Then why are there two orders from you in our
system?).
Because Opera did not receive the end of body indication, Opera has to
assume that it didn't receive the entire document, and as it cannot verify
the length by refetching it informs the user that there was a problem and
that the result may not be what the user expected by displaying a
"Connection closed by remote server" message.
The problem can be solved by inserting a "<CRLF>0" sequence between the end
of the body and the two last <CRLF>'s .
BTW: On a normal request, if Opera is not able to determine the correct size
of the document because the size is varying erratically, Opera will say that
multiple attempts to load the document failed.
END OF OPERA'S EXPLANATION.