How do I know when Hooks are called and in what order? I want to alter a HTTP header and I am looking for the appropriate hook to use.  I can tell a general time of when some hooks are called but not exactly when.  How do I know exactly when hooks are called, and what hook I should be using to change my header?

edit:  I have managed to change my HTTP header. But something else is adding to my header and that is taking precedent over my header portion.  Is there a way to know where this is coming from?
You're looking for an event, not a hook to do this in 8.x

Specifically, you're looking for the RESPONSE event, see \Drupal\Core\EventSubscriber\AnonymousUserResponseSubscriber for an example. Create a class like that, register it in yourmodule.services.yml and then do whatever you want with the $response object.