Tra questi due codici di stato HTTP esiste una differenza importante per quello che riguarda le API REST.
200 è concepito solo per indicare che la richiesta ha avuto successo. La risorsa specificata è stata reperita ma non è di fatto avvenuto alcun cambiamento sul server.
201, al contrario, indica che la richiesta non solo ha avuto successo ma anche che una nuova risorsa è stata creata sul server.
Quindi dovremo ad esempio restituire 200 nel caso di un elenco di dati (GET) e 201 quando una richiesta (POST) di fatto porta alla creazione di un nuovo dato sul server.