Definition
HTTP methods define the kind of request a monitor sends to an endpoint. The three most relevant to monitoring are GET (retrieve a resource), HEAD (retrieve only the headers, no body), and POST (submit data to an endpoint).
Choosing the right method matters because it affects both what the check tests and whether it's safe. GET and HEAD are safe and don't change anything; POST can trigger actions, so it should be used carefully.
Why It Matters
Using the wrong method can either fail to test the right thing or cause real side effects. A monitor that POSTs to an order endpoint every minute could create junk orders or trigger billing. Picking the right method keeps checks both meaningful and harmless.
How It Works
You select the method per monitor. GET fetches the full response and is the default for most checks. HEAD is a lighter option that returns only headers — useful for confirming availability without downloading the body. POST sends a request body and headers, used only when an endpoint specifically requires it (such as some health or API endpoints).
Real-World Example
A team monitors a marketing page with GET to confirm it loads, uses HEAD on a large file to check availability without downloading it, and uses POST only for an API health endpoint that expects a small JSON body — carefully configured so it has no side effects.
Best Practices
- Use GET for most checks — it tests the full response safely
- Use HEAD to check availability without downloading large bodies
- Use POST only when an endpoint requires it and has no side effects
- Never POST to endpoints that mutate data or trigger billing
- Set required headers and body correctly when using POST
Common Mistakes
- Using POST on endpoints that create or change data
- Defaulting to POST when GET or HEAD would be safer
- Forgetting the request body or headers a POST check needs
- Using HEAD when you actually need to validate the response body
- Assuming all endpoints accept all methods
In Monitoristic
Monitoristic supports GET, HEAD, and POST. Use GET or HEAD for most checks, and POST only when an endpoint genuinely requires it — with the right headers configured so the check stays safe.