¿Cuál es la diferencia entre HTTP_HOST y SERVER_NAME en PHP?

¿Cuál es la diferencia entre HTTP_HOSTy SERVER_NAMEen PHP? dónde: HTTP_POST === $_SERVER['HTTP_HOST'] SERVER_NAME === $_SERVER['SERVER_NAME'] ¿Cuándo considerarías usar uno sobre el otro y por