|Opera 7.52 freezing on re-directs|
Note: this thread was split off from an earlier thread [webmasterworld.com]
I have upgraded Opera to version 7.52. But the problem I'm facing is, with Opera alone, whenever there is a redirect script present - say after submitting a form - Opera browser seems to be stuck to that page without being redirected.
It occurs whenever I entered texts in a blog comments (so far). Normally, I would be redirected to the originating page. But Opera won't budge. So I had to manually click on a link to the page where I was supposed to be redirected and click on Refresh to get the page updated.
Is there a workaround on this?
[edited by: tedster at 11:32 pm (utc) on July 10, 2004]
I've posted on phpBB forums that redirect you to a different page after pressing submit and have had no problems - I'm not sure if this is the same type of thing that you're talking about though....
I realised that if the after submitting a form, and the redirecting URL has an anchor (e.g. http://www.example.com/example.php#anchor), Opera wouldn't budge. Removing the anchor (#anchor) would solve it. Interestingly, only Opera has this issue.
[edited by: tedster at 11:28 pm (utc) on July 10, 2004]
[edit reason] use example.com and de-link [/edit]
Yeah I got this problem too. Happens on a couple of sites regularly. I didn't realise it was an anchor in the URL to blame. I'll see if there's anything on the Opera support forums about this.
Once again, it appears that Opera is following the specs, where other browsers risk security.
Apparently, if a 302 status is generated by a form, it can be interpreted by the browser as a 303, leading to a successful redirect.
|10.3.3 302 Found |
If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.
Note: RFC 1945 and RFC 2068 specify that the client is not allowed to change the method on the redirected request. However, most existing user agent implementations treat 302 as if it were a 303 response, performing a GET on the Location field-value regardless of the original request method. The status codes 303 and 307 have been added for servers that wish to make unambiguously clear which kind of reaction is expected of the client.
(From RFC 2616 - HTTP/1.1)
Hmmm ... but the only difference being redirected or not is the presence of the #anchor at the end of the URI. I wonder how that makes any difference with 302/303 situation. But this is something to think about, really when creating forms and such. Thank you.
In the Opera Community website where I posted my concern, a user responded with some snippets from his packet sniffer and further explained Opera's compliance to specifications. With this, I guess the next time I code for form submissions, I will have to take into consideration on how Opera behaves.