I've understood guidance to use
Strict-Transport-Security header for connections over HTTP.
Now on the face of it, it seems like 301 redirecting HTTP traffic to come over HTTPS is intended to achieve the same effect. However, as we know from questions like Is an HTTP 301 redirect to HTTPS, insecure?, 301 redirects don't actually create perfect security.
So yes, 301 redirect doesn't really prevent MITM attack, but it does seem to me like it can help prevent eavesdropping attacks. So assuming we care about information disclosure of the server response, is there any reason it wouldn't be best practice to always 301 redirect incoming HTTP traffic in addition to using the