An operation is idempotent when making the same request multiple times produces the same server state as making it once. HTTP GET, PUT, DELETE, HEAD, and OPTIONS are idempotent. POST is not. Idempotency is critical for safe retry behavior.
Idempotency means that performing an operation N times leaves the system in the same state as performing it once. In HTTP, idempotent methods are safe to retry automatically on network failure. GET retrieves the same resource each time. PUT writes a complete replacement – replacing the same data twice is the same as replacing it once. DELETE removes a resource – deleting something that's already deleted still leaves it deleted (server returns 404 but the state is the same). POST is not idempotent: submitting an order twice creates two orders. The distinction matters for: automatic retry logic, load balancer behavior, and API client design.