I have a page under mysite.example.com/form
that POSTs a form to a cgi script cgi.mysite.example.com/form.cgi
which processes the data and then replies with Location: mysite.example.com/reply
(plus a newline). In all browsers (Firefox, Chrome, Safari) on all platforms (Linux, Windows, MacOs, iPhone) I could test it with this works.
However, some users report that after clicking the submit button "nothing happens" and they stay on the filled-out form, prompting them to click the button again and again. But I can tell that the cgi script ran each time they clicked. So their browser POSTed to the cgi but then failed to GET to the landing page afterwards and stayed on the original page.
My suspicion is that this is because I neglected to issue a Status: 303 See Other
from the script or it could have to do with ipv6 -- but at any rate: I would like to be able to reproduce this before attempting a fix so I know that the fix worked.
Why does this happen and how do I reproduce it?
This is due to no Status
field being sent out. Sending Status: 303 See Other
before Location: mysite.example.com/reply
fixes the problem.