FIELD NOTES · WEBSITE HANDOVER

Form redirects: verify method and body after submission

Synthetic teaching example for a website delivery brief. Not a client result, live account test or certification.

A redirect code is part of the form contract

A website buyer may see the expected confirmation screen without knowing whether the browser changed the request method or forwarded the submitted body. For an enquiry or booking form, that distinction affects which endpoint receives data and whether a refresh can repeat a request. Agree the destination and method explicitly.

StatusObserved Node fetch methodObserved body
301GETEmpty
302GETEmpty
303GETEmpty
307POSTSYNTHETIC=ONLY
308POSTSYNTHETIC=ONLY

Download the self-contained loopback test and run node post-redirect-test.mjs with Node 24+. It binds an ephemeral port on 127.0.0.1, performs five sequential requests and closes its own server. It never calls a public website, sends an enquiry or uses real contact information.

The output includes the actual Node version and two assertions per status. Treat 301 and 302 here as observations of that runtime’s fetch behaviour, not a universal guarantee about every client. The separate 303 and 307 references below explain the intended method distinction. A permanent redirect also has caching implications beyond this local observation.

What should be proven on an authorised staging form?

Record the initial endpoint, status, Location, follow-up method and whether sensitive data appears in the URL. A POST/Redirect/GET design should not be confused with a method-preserving redirect. Test refresh and replay separately: a redirect alone is not an idempotency mechanism.

Never copy a real form body to a third-party redirect target. Confirm ownership and the retention requirements before tracing production submissions. This fixture contains only a harmless constant and does not test actual browser caching, authentication or a merchant’s processing queue. It changes no HTTP rule or existing form.

Primary facts and limits

MDN 303: Describes retrieving the redirected resource with GET. MDN 307: Describes preserving the request method and body.

Sources reviewed 15 October 2026. The supplied input and acceptance rules are original teaching design; check current platform versions and your actual delivery contract before implementation.

A confirmation redirect does not prove email delivery