3 ms·
> It fundamentally changed the way I think about computers at every level I had the exact same revelation also in the late 90s! (~1998 for me). I was already
by varenc 3y ago
> It fundamentally changed the way I think about computers at every level
I had the exact same revelation also in the late 90s! (~1998 for me). I was already telnetting into servers a bunch and was getting into running an Apache server. I remember the moment I typed "GET / HTTP/1.1" into port 80 so clearly because it suddenly turned the "web" and "HTTP" into something comprehensible with composable parts I could understand at a deeper level.
In our current world of SSH and HTTPS, it seems less likely the new generation will have the same experience. But we also have browser developer tools nowadays which make it so much easier and motivating for someone to start to learn the about the web and JavaScript. In the 1990s I had to use proxomitron to painstakingly modify a webpage's JavaScript or HTML, but these days it's dead simple.
- firstlink 3y ago> In our current world of SSH and HTTPS, it seems less likely the new generation will have the same experience. Pushing encryption into the transport layer a la QUIC could solve this, if not for the spurious dependency on user-hostile TLS instead of a simpler PKI. SSH would become telnet over a QUIC stream, which could be used with a QUIC-enabled netcat (say). HTTP/3 could have been either 1.1 or 2, just over QUIC, but this wasn't pursued.
- GauntletWizard 3y ago`openssl s_client` is underused, and it's not as clunky since they added support for host:port syntax over separate args. Encouraging thinking of that as the modern replacement would help.
- varenc 3y agoWow thanks for showing me about `openssl s_client`. I just have this a try and you're it was quite easy! openssl s_client -connect example.org:443 [TLS details...] GET / HTTP/1.1 Host: www.example.org <newline> <newline> [headers and HTML response!] The one thing tricker nowadays is almost all of the time you need to send the `Host:` header for things to work. Took me a sec to realize that since in 1998 it was almost never necessary.
- GauntletWizard 3y agoGlad to spread the knowledge, and glad you gave it a shot! It really is that easy, and host headers have been pretty regularly required anyway. Slightly more interesting is using it to access internal sites, and setting up your own TLS roots and chains for personal or corporate infrastructure. In practice, while useful for internal use, I generally recommend everyone use LetsEncrypt and public names for even internal APIs when they cross team boundaries, because it's just easier.