Sono stato abituato ad avere il numero di versione nell'URL stesso (/v1/). Personalmente penso che questo sia un approccio molto più pulito: in questo modo, l'utente finale (o sviluppatore) non ha bisogno di gestire le intestazioni HTTP e può semplicemente modificare l'API/chiamata REST per accedere a diverse versioni dell'API secondo necessità.
Penso che sia anche possibile che alcune delle API HTTP là fuori in diverse lingue possano non avere il pieno supporto per le intestazioni HTTP, quindi fai sempre per rendere l'API più prontamente disponibile per l'utente finale. La riscrittura dell'URL è il modo più semplice e dovrebbe funzionare con tutto ciò che supporta HTTP là fuori.
Infine, consentire la specifica della versione API utilizzando l'URL consente un semplice test utilizzando un browser Web. Se si incorpora la versione in un'intestazione HTTP, lo sviluppatore è costretto a utilizzare un linguaggio di programmazione per eseguire i test.