Een 4xx-code geeft een fout aan die door de gebruiker is veroorzaakt, terwijl 5xx-codes de client vertellen dat ze alles correct hebben gedaan en dat het de server zelf is die het probleem heeft veroorzaakt. 401 (ongeautoriseerd), 403 (verboden), 404 (niet gevonden), enzovoort, betekenen allemaal dat de klant het probleem aan zijn kant moet oplossen voordat hij het opnieuw probeert. 400s: foutcodes van de klant die aangeven dat er een probleem was met het verzoek. 500s: serverfoutcodes die aangeven dat het verzoek is geaccepteerd, maar dat een fout op de server de uitvoering van het verzoek verhinderde. Binnen elk van deze klassen bestaat een verscheidenheid aan servercodes die door de server kunnen worden geretourneerd.