What was HTTP supposed to do?
Transfer hypertext.
Transferring hypertext is simple. It has a utility.
Then we decided to transfer photos. Still simple. But photos are neither text not hypertext.
But that wasn't enough either. We added stuff like GIFs, JavaScript and Flash.
Fast forward. Now everything HTTP does is so complicated, a web browser can be more complex than an operating system.
The reason HTTP sucks for *everything* is that you have to add layers and layers of stuff through it.
Web devs already know this.
But if you're not a dev: press <ctrl> and <u>, what do you see at the top?
Almost always <!doctype html>. Which means:
1. It's a document
2. What follows next is hypertextual mark-up language (HTML)
But are you necessarily utilizing the page as a document? How much HTML is actually being used?
This varies. Nonetheless, the <html> tag is required.
@atomicpoet And now that it's so popular, that itself is being used to shove more things through it. DoH is an insanely hostile idea, and it's sole designed purpose is to bypass network tools by hiding DNS inside HTTP traffic, which is harder to block wholesale.
Now every new Internet protocol is shoved through HTTP as a feature for that reason.
@Irongeek Not everything requires a web browser, not should it.
Maybe from a network point of view, it's easier to shove everything through HTTP/HTTPS.
But now you're just offloading complexity to other areas of development.
Call me crazy, but maybe it would be better to generally download things through a BitTorrent client than through a web browser.
@atomicpoet it's not the programmers fault. They had no choice. I was one of them.
In the early naughties we tried developing systems that connected on other ports and spoke different protocols.
But our corporate users could not use them. They were on networks locked down by paranoid security engineers.
Only port 80 was allowed. Or port 443.
So we had to rewire it to fit where corporate security firewalls allowed.
And thus, paranoid security engineers forced everyone to make everything look like web traffic. Which of course makes the whole system less secure.