I’m happy to tell that the booklet HTTP/3 Explained is now ready for the world. It is entirely free and open and is available in several different formats to fit your reading habits. (It is not available on dead trees.)
The book describes what HTTP/3 and its underlying transport protocol QUIC are, why they exist, what features they have and how they work. The book is meant to be readable and understandable for most people with a rudimentary level of network knowledge or better.
These protocols are not done yet, there aren’t even any implementation of these protocols in the main browsers yet! The book will be updated and extended along the way when things change, implementations mature and the protocols settle.
If you find bugs, mistakes, something that needs to be explained better/deeper or otherwise want to help out with the contents, file a bug!
It was just a short while ago I mentioned the decision to change the name of the protocol to HTTP/3. That triggered me to refresh my document in progress and there are now over 8,000 words there to help.
The entire HTTP/3 Explained contents are available on github.
If you haven’t caught up with HTTP/2 quite yet, don’t worry. We have you covered for that as well, with the http2 explained book.
TLDR: fill in your info in this form if you want to buy a print copy!
Long time curl friend and contributor Dan Fandrich printed a (very limited) first edition of Everything curl on real actual dead-tree paper a while ago. Getting this rather heavy thing in your hand is actually an awesome feeling and quite different to just reading it on a screen!
However, those few initial copies were quickly given away to interested readers and there are none left now.
We are now investigating if there is still interest from people in getting one of these physical, hard copy versions, of the book. The price is likely to be about 20 Euros including International shipping. The first edition of the book is a 232 page professionally-printed and bound softcover book. The second edition is planned to be very similar.
The content of the first edition book was picked from the book’s git repository in March 2017 and is not the intended final version of the book. Who knows if there will ever be a final version. There are ‘tbd’ markers on many places in the book where additional content is meant to be added in a future.
To sign up for your own copy of the book and you are willing to pay around 20 Euros for one, please fill in your contact information in this Google form, and we if we get enough proof of interest we might get a second edition printed.
You buy this book because you want a physical version of it. All the contents is already available for free online, in PDF version and in two e-book formats. The money charged for the book will not go to the curl project but is for printing and shipping.
— How’s Daniel’s curl book going?
I can hear absolutely nobody asking. I’ll just go ahead and tell you anyway since I had a plan to get a first version “done” by “the summer” (of 2016). I’m not sure I believe in that time frame anymore.
I’m now north of 40,000 words with a bunch of new chapters and sections added recently and I’m now generating an index that looks okay. The PDF version is exactly 200 pages now.
The index part is mainly interesting since the platform I use to write the book on, gitbook.com, doesn’t offer any index functionality of its own so I had to hack one up and add. That’s just one additional beauty of having the book made entirely in markdown.
Based on what I’ve written so far and know I still have outstanding, I am about 70% done, indicating there are about 17,000 words left for me. At this particular point in time. The words numbers tend to grow over time as the more I write (and the completion level is sort of stuck), the more I think of new sections that I should add and haven’t yet written…
On this page you can get the latest book stats, right off the git repo.
After twelve releases and over 140,000 downloads of my explanatory document “http2 explained“, I eventually did the right thing and converted the entire book over to markdown syntax and put the book up on gitbook.com.
Better output formats, now epub, MOBI, PDF and everything happens on every commit.
Better collaboration, github and regular pull requests work fine with text content instead of weird binary word processor file formats.
Easier for translators. With plain text commits to aid in tracking changes, and with the images in a separate directory etc writing and maintaining translated versions of the book should be less tedious.
I’m amazed and thrilled that we already have Chinese, Russian, French and Spanish translations and I hear news about additional languages in the pipe.
I haven’t yet decided how to do with “releases” now, as now we update everything on every push so the latest version is always available to read. Go to http://daniel.haxx.se/http2/ to find out the latest about the document and the most updated version of the document.
Thanks everyone who helps out. You’re the best!
This is a slightly edited version of a genuine email I received in May 2012:
Dear Mr. Stenberg –
I recently came across the text you co-authored with Michael Schrenk, Webbots, Spiders, and Screen Scrapers, and was wondering if you might be interested in being a paid expert witness in a lawsuit we’re handling.
One of the major claims in the suit is unauthorized computer access in the form of a massive, multi-year campaign of screen scraping, and we’re looking for a qualified expert who can make the activity make sense to a jury (in the unlikely event that this matter reaches trial; fewer than 2% of cases do, in federal court).
We’re in Los Angeles, California, as is the case (and naturally would cover travel expenses, an hourly or per diem expert witness fee, etc). If you’reÂ interested (or even if you’re not), please let me know? You can reach me via email or at (xyz) xyz-xyzx.
Link to the book.
I responded to this mail saying that I’d rather not due to the distance and travel it’d require, but I never heard back from them again so I have no idea whatever happened in this case or who got to be the expert in the end…
Web scraping is aÂ practiceÂ that is basically as old as the web. The desire to extract contents or to machine- generate things from what perhaps was primarily intended to be presented to a browser and to humans pops up all the time.
When I first created the first tool that would later turn into curl back in 1997, it was for the purpose of scraping. When I added more protocols beyond the initial HTTP support it too was to extend itsÂ abilitiesÂ to “scrape” contents for me.
I’ve not (yet!) met Michael Schrenk in person, although I’ve communicated with him back and forth over the years and back in 2007 I got a copy of his book Webbots, Spiders and Screen Scrapers in its 1st edition. Already then I liked it to the extent that I posted this positive little review on the curl-and-php mailing list saying:
this book is a rare exception and previously unmatched to my knowledge in how it covers PHP/CURL. It explains to great details on how to write web clients using PHP/CURL, what pitfalls there are, how to make your code behave well and much more.
Fast-forward to the year 2011. I was contacted by Mike and his publisher atÂ Nostarch, and I was asked to review the book with special regards to protocol facts and curl usage. I didn’t hesitate but gladly accepted as I liked the first edition already and I believe an updated version could be useful to people.
Now, in the early 2012 Mike’s efforts have turned out into a finished second edition of his book. With updated contents and a couple of new chapters, it is refreshed and extended. The web has changed since 2007 and so has this book! I hope that my contributions didn’t only annoy Mike but possibly I helped a little bit to make it even more accurate than the original version. If you find technical or factual errors in this edition, don’t feel shy to tell me (and Mike of course) about them!
Frederick Brooks wrote this classical book already back in 1975 and added a few extra chapters for the twenty years anniversary 1995…
Large portions of it feels of the age and there’s a lot of talk about Fortran, System/360 and PL-1 as if we should know about them (which made me fast forward over some chapters). But there are gems as well, and the most significant things people seem to remember Brooks’ book for are still pretty valid and fine.
Adding more people to a project leads to the need for more communication and thus it may slow down development rather than speed it up. Also known as Brooks’s law.
Given the complexity of software and software development, there’s no single method or concept that will lead to an improvement by an order of magnitude – within a decade. There’s No Silver Bullet. (This section was not in the original edition of the book.)
The risks involved when rewriting something and wants to fix everything that was wrong in the previous version so you over-work and over-design the successor. The so called Second system effect.
A lot of the book is spent on thoughts and theories around how to manage really really large software projects, like when you involve thousands of persons. Is it even possible to make such huge projects successful and if so, what does it take? The extra chapters do indeed add value since they offered Brooks a chance to re-evaluate his earlier claims and ideas and to check what seemed to be truths and what mistakes he did in the original edition.
A very interesting read that I’m glad I finally got time to get through!