POST request explained.
A POST request is the HTTP method used to send data to a server to create or submit something, such as the fields of an HTML form.
How a POST request works
HTTP has a small set of methods that say what a request intends. GET asks a server for something and should never change anything, which is why you can refresh a GET page safely. POST does the opposite: it sends data in the request body and asks the server to act on it, typically to create or submit something new. Because a POST has an effect, it isn't safe to blindly repeat, and browsers warn before resubmitting one. The data rides in the body rather than the URL, so it isn't capped by URL length and isn't left sitting in browser history or server logs, and a Content-Type header tells the server how that body is encoded. The server does the work and replies with a status code that reports the outcome.
An HTML form with method="post" is the everyday example: on submit, the browser gathers the fields, encodes them, and POSTs them to the form's action URL.
For a form backend that action points at a hosted endpoint, so when a visitor submits, the browser POSTs the fields straight to FormWire, which receives, filters, stores and delivers them.
How POST differs from GET.
It sends data
The fields travel in the request body, so a POST carries the form's contents rather than appending them to the URL.
It has an effect
POST is meant to create or submit, so unlike a GET it changes state on the server and isn't safe to repeat blindly.
It declares its encoding
A Content-Type header names how the body is encoded, from url-encoded fields to multipart uploads.
Related questions
GET retrieves and should have no side effects, so its parameters ride in the URL and it's safe to repeat. POST sends data in the body to create or change something, so it has an effect and isn't safe to blindly resubmit. Form submissions that store data use POST for exactly that reason.
Because submitting a form changes state (it creates a record, sends a message, places an order), which is what POST is for. POST also keeps the fields out of the URL, so they aren't length-limited or left in browser history and server logs, and it handles file uploads a GET query string can't.
How FormWire receives your POST →To the URL in the form's action attribute, using the method set to post. With a form backend that action is a hosted endpoint, so the browser POSTs the fields there instead of to a server you run, and the backend takes over from receipt onward.
An HTTP status code reporting the outcome, a 2xx for success, a 4xx if the request was bad, a 429 if it was rate limited. FormWire responds so your page can confirm the submission and, when you want, redirect the visitor to a thank-you page.
Want to see it working?
Read the docsHow FormWire fills the role.
Send your first form POST.
Free tier forever. No credit card required.