Technology1 min read

30 years of Internet transfers with curl

By · Published by Everything Blog

In short

The initial release of httpget in November 1996 consisted of barely over 100 lines of C code without URL support or error handling. To fetch currency rates automatically, the Sweden-based developer contributed fixes, resolved hostnames, and compiled revisions on workplace Unix systems. The software grew against the backdrop of an online ecosystem with only a fraction of today's users and websites. Version control for the evolving codebase was formally introduced through CVS in 1999 and subsequently transitioned to Git in 2010.

Key points

  • The utility was originally expanded to automate currency exchange rate downloads for an I…: The utility was originally expanded to automate currency exchange rate downloads for an IRC bot called Dancer.
  • Early household testing in Sweden relied on dial-up connections that operated at speeds o…: Early household testing in Sweden relied on dial-up connections that operated at speeds of roughly 30 kbps.
  • The project formalized its development by adopting CVS in September 1999 before migrating…: The project formalized its development by adopting CVS in September 1999 before migrating its version control to Git in 2010.

Sources checked by our analysis pipeline: 1

Thirty years ago, on November 11, 1996 the young Brazilian student Rafael Sagula posted the source code for his tiny HTTP download tool online. That was httpget 0.1: a little over 100 lines of C code. Bare bones source code with almost no error checks and limited functionality.

httpget

When I found the source code of that initial httpget release just days after Rafael put it online, I had no idea how HTTP worked. The language to speak over the network to ask for resources. Okay, I already knew we call it protocol but not a lot more. I also had never heard of neither httpget nor Rafael before. I imagine that I found httpget by searching on Altavista since this was before Google, but I can’t recall the details.

Seeing the simplicity of this code it was not difficult to immediately spot the fundamental basics of the protocol. I presume maybe in the same vain how countless others in decades to follow also have thought of it when seeing the details for the first time. Much later I would…

Technology