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
We give you the skills to build, deploy, and own a full product. Professional stack, AI co-pilot, no coding background required.