When I was a teenager in the late 1990s, I was playing around a little creating a website and putting it on Geocities. Of course, being a kid, I didn’t have much content to offer, and the pages looked terrible, but it was the cool thing to do.
So am I correct in assuming that no matter what you do or see on the web, it’s always HTML, either static or (more likely) dynamically generated? Or are there web technologies that run independently of HTML?
This is where most of the magic lies. While they are technically integrated (although the CSS is often a linked external file), they’re not HTML. The <script> element is HTML, but an HTML parser has no clue what is happening inside.
If you’re fishing for a suggestion on where to start with all this newfangled web stuff, I would suggest running through a React.js tutorial. This is not a magic job-seeking bullet, but it will at least get you up to speed with one very common way of doing things.
Your browser is rendering HTML, but that HTML might have been created by a script running locally within your browser. And things you do on the page might change that HTML code, without the server necessarily even knowing that you did it.
I’d prefer to think of it as the fundamental web display technology is a DOM tree and HTML has become just the standard way of serializing a single state of a DOM tree.
(There are also RPC methods that send and receipt HTTP requests/responses like a web page, and the payload of the response is JSON or something else that is not HTML, but those are not normally meant to be displayed by browsers, so probably don’t qualify as “websites”).
This is my understanding. If there are any mistakes, please correct me.
So if a regular language can generate browser bytecode a program can run anywhere there is a browser. This is an attractively large number of machines worldwide. Some languages are compiled and can be configured to generate code that can execute on several different computer architectures. Browser based byte code, simply adds another to the list. Wiki tells me there are about 40 languages that support WASM now.
For larger organisations that have some control over the computers in use, using a regular languages that may have battle tested tools and testing, this may make a lot of sense to include a browser as a target environment for running app. For Internet startups whose customers are the great unwashed out there in jungle that is the Internet…maybe, maybe not.
Berners-Lee designed HTML to be a simplified markup language to try to help organised the multiplicity of formats on the computers at CERN in the 1990s. Mark up languages have been around ever since there has been a printing business. Many big industries had their own versions to try to put some kind or standard and order in their documentation. He created a version that was orientated towards rendering the document not on paper, but on screen. So HTML included simple headings, a bit of styling, rudimentary forms and able to handle images. He also added the magic hyperlink, which gave us the facility to surf from one page to another transparently despite being on different servers. It solved a problem. Then it evolved as people found new applications and computers and their screens became more capable.
There were other markup languages that came after HTML. XML in all its incarnations. This did not fare so well, which is why we are still stuck with a dominance of proprietary formats like PDF and various Microsoft formats and a handful of open document standards. The brave new world of virtual reality is probably the next file format bun fight.
Static websites are definitely a thing.
So you are right, every website at its core is nothing but HTML.
I’m not sure that I would call Markdown user-friendly. It makes it easy to add formatting to a piece of writing, but it makes it too easy: You often end up with formatting where you didn’t intend it. Like, how do you spell the name of that Korean War sitcom from the 70s? MAS*H, of course.
I also note that much of the files are sent in a compressed form, and nearly always encrypted these days.