When learning something new I tend to take a top-down approach. I like to get
something working from a very high level and then dig deeper and slowly pry
apart the different layers until I have a solid understanding of how it works.
I remember when i first learned how to make AJAX requests in JQuery. I didn’t
care how I was magically requesting data asynchronously using convenience
$.getJSON(). I just thought it was super cool I could fetch the
surf forecast and log it to my console (thanks magicseaweed.com). It wasn’t
until later, once I had a solid grasp of the whole async thing that I wanted to
know how it actually worked underneath the hood. So, as I always have, I swam
down a layer and learned all about the browsers’
XMLHttpRequest API. This
seems to be a recurring pattern in my learning.
We hop on our command line and begin by openning a TCP connection on port 80:
Then we send an HTTP GET request followed by the resource
As a response we get a pure HTML document representation! That is it! We get no headers or meta data, just an HTML document.
I thought it was pretty cool reading through the response from the command line. I can’t imagine how pumped Tim and the team must have been when they saw something like this for the first time.
Of course, now clients can request and servers can respond in various formats and media types, however this is where it all started and I think it is pretty damn cool. I encourage any person with a passion to dive deeper into what it is they are truly interested in. If it is the internet, then you’re very lucky because there is so much cool stuff out there. However, your passion could be surfing (another one of mine) or video games, or really whatever - as long as you’re having fun that’s rad! If anything this is just a testament to how much the internet has changed since its inception nearly 20 years ago. And I can’t wait for the next 20!
Now I should probably get back to studying for my data structures final tomorrow.