Is blocking outgoing HTTP connections from a home network and only allowing HTTPS connections reasonable? Will it reduce the chances of a man in the middle attack?
Yes, it will add security, but not as much as one could expect.
Many web sites have HTTP port open, but redirect your requests to HTTPS port. -> Blocking HTTP will not give more security. Your first request sent via HTTP will be visible to possible interceptors. After web site redirected you to HTTPS port, all further requests will be not visible. So you more security during the 1st request only.
Some sites support HTTPS only. -> Blocking HTTP will give more security when accessing sch sites.
Some sites support both HTTP and HTTPS. -> In such cases you will get more security because the traffic will be protected by TLS/SSL.
Some sites still support HTTP only. -> Blocking HTTP means such sites will be not accessible from your home network. But yes, information that is potentially available to any interceptor in case of HTTP will be no more available (because you just don't access such sites).
There are also sites that combine HTTP and HTTPS. They provide some resources like images and fonts via HTTP and other resources via HTTPS.
Only you can decide if blocking HTTP is reasonable to you.
I wouldn't do this on network level, because
- it will make the non-HTTPS sites completely inaccessible.
- it could only protect you when you are home.
Instead, you could do this on your browser e.g. using EFF's HTTPS Everywhere extension. In Encrypt All Sites Eligible (EASE) it will force HTTPS on every site it can, even if there's no redirection (or a MitM preventing it), but allows visiting HTTP sites after acknowledging a warning.