Les codes de statut HTTP se rangent en familles. Les 4xx désignent une erreur du côté de celui qui demande (400 mauvaise requête, 403 interdit, 404 introuvable) : le problème est chez toi, et il est souvent corrigeable. Les 5xx désignent une panne du côté du serveur (500 erreur interne, 503 indisponible) : là, tu ne peux qu'attendre.
Tout le drame du formulaire de ma femme tient dans cette confusion : un 4xx corrigeable en deux secondes, affiché comme s'il n'y avait plus rien à faire.
À lire : Ne mens pas à tes utilisateurs.