When submitting a contribution form, I first get taken to what seems like a truncated URL:
https://mysite.example.com/donate/?page=CiviCRM&q=civicrm/contribute/transact. The HTTP response code is 302 and I get redirected to
https://mysite.example.com/donate/?page=CiviCRM&q=civicrm/contribute/transact&_qf_Confirm_display=true&qfKey=ea68d5378e175112aace8d733a982f53_5648. Then the response code is 200 and the page displays all fine. I'm seeing all of this in the Network tab of the browser's developer tool.
My question is whether this is the intended behavior of Civi. This redirect seems rather odd to me.
I'm using Civi 4.6.8 with Wordpress 4.3.1 (multisite). I use a shortcode to load the contribution form into the Wordpress page (but without hijacking the whole page).
I tried this on the Civi Wordpress demo site - http://wp46.demo.civicrm.org/contribution-page - and I get the absolutely same behavior. First a truncated URL and a redirect to the complete URL. I also tried the test-drive link on the backend: http://wp46.demo.civicrm.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcontribute%2Ftransact&reset=1&id=1&action=preview . When clicking Confirm Contribution there is again a redirect and then we get to the complete URL. So this redirect behavior doesn't seem to be related to the use of the shortcode.