And what would you have them do instead? SSL to every service? Reauthenticate on every single call? What’s your clever solution?
There’s probably a dozen things you can terminate at a boundary that would cost so much to run through the entire system that it would bankrupt a company.
And then there’s tracing, which also uses headers.