The data a server sends back after receiving an HTTP request, including a status code, headers, and a body.
When your app sends an HTTP Request to a server (like Supabase), the server sends back an HTTP Response. This response contains everything your app needs to know about what happened.
Every HTTP response has three parts:
Status Code — A number that tells you if the request succeeded or failed. 200 means success, 400 means you sent bad data, 403 means permission denied, 500 means the server crashed.
Headers — Metadata about the response, like what format the data is in (usually JSON) and CORS permissions.
Body — The actual data. For a successful request, this might be an array of posts. For a failed request, this might be an error message like {"message": "new row violates row-level security policy"}.
You can see all three parts in the Network Tab by clicking on any request. The Response tab shows the body, the Headers tab shows the headers, and the Status column shows the status code.
Common response patterns you'll encounter:
200 with data → success, your loader received data200 with empty array [] → RLS is silently blocking your query201 with created object → your action successfully created a record400 with error message → your app sent malformed data (validation issue)401 → auth token missing or expired403 → RLS or permissions blocking the operation500 → Edge Function or server crashed (check logs)Related: HTTP Request, Status Code, Network Tab, HTTP Header, CORS, JSON
Learn the concepts, fix things with confidence, and ship real products with AI beside you. No coding background required, and we're with you from the first idea to launch.
Free to start. No card. Leave whenever you want.