the http workshop 2024 is over

Nils Goroll nils.goroll at uplex.de
Thu Nov 14 17:18:00 UTC 2024


... so here is my report addition from the train, after having had to leave a 
little early.

Most of the general reporting work has already been done by the workshop's 
inofficial correspondent Daniel Stenberg, so I will link to his blog and just 
add some comments from my personal notes. I will mostly only comment where I 
believe to have anything to add, so not all the points are reflected. Read 
Daniel's blog and the slides...

DAY1
----

https://daniel.haxx.se/blog/2024/11/13/the-2024-http-workshop/

Make Cleartext HTTP harder

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/1.%20Security/cleartext.pdf

I was probably one of those "bringing back the discussion" which Daniel thought 
had been left behind, but I find the idea of a "central url registry" simply 
evil and with the increasing lock-in of user-agents, this topic felt to me like 
dialing up the frog-boiler's temperature another tick.

The valid argument behind the discussion is the need to solve the tls downgrade 
issue. HSTS only works after having visited a site at least once, so there is 
the "preload list" and sure enough, that doesn't scale. I do not have a solution 
to the problem either, but killing clear text http deployments does really not 
seem like the right choice to me - even if they are already made less and less 
attractive because of reduced support for newer browser features.

HTTP 2/3 abuses

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/1.%20Security/glitches.pdf

Read the slides! We as Varnish-Cache should really consider Willy's explicit and 
implicit advise from his experience and I expect to personally get back to this 
relatively soon, because I am getting closer to the H2 re-implementation which I 
have on my list for next year...

QUIC pacing

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/2.%20Performance/quic%20pacing.pdf

Maybe not for our immediate attention, but the insights seem very valuable. In 
particular the "send acks in intervals of rtt" advice, and I learned an 
interesting detail from side discussions: At least two people from different 
teams said that they found SO_TXTIME to be broken on Linux.

Priorities

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/2.%20Performance/HTTP%20prioritization.pdf

One interesting idea from the discussion: implement one priority as a cache 
pre-warm "fetch, but don't send at all". If the client then decides it actually 
wants the object, it updates the priority...

DSR

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/2.%20Performance/QUIC%20cache%20DSR.pdf

Discussing the topic after the workshop, I learned about one use case which was 
absolutely not clear to me: At scale, the traffic patterns can be such that it 
does not pay off to copy longtail objects to another "neighbor" cache in the 
same cluster. So yes, DSR seems to make sense. Though the particular design 
presented looked to me like there really should be an easier way...

DAY2
----

https://daniel.haxx.se/blog/2024/11/13/the-2024-workshop-day-two/

CAPSULE

This made me realize again really _how_ many not even particularly new things 
there are where we as Varnish-Cache have nothing to offer...

Reverse HTTP

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/3.%20Semantics/reverse%20HTTP.pdf

This sounds interesting from our perspective, I think. Others already have 
non-standardized solutions and workarounds, but the use case really seems 
compelling: Instead of connecting to backends, have backends connect to us. An 
interesting question is how to signal the need for more capacity, for which the 
answer probably is a streams usage in h2/3, but I am not sure if an easy 
solution exists for h1.

MoQ

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/4.%20Evolution/MoQ.pdf

My engineer mind got hooked, even though this topic probably has close to zero 
relevance for what I am doing at the moment. Overall impression: The MoQ folks 
could probably benefit from learning about some common caching topics...

Multiplexing in the year 2024

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/4.%20Evolution/multiplexing.pdf

A smart choice of title to maybe not trigger some defensive reflexes, but it was 
really about H3 over QUIC-ish over TLS over TCP. I can see how that could be 
useful besides maybe reducing the maintenance burden: For clients on 
udp-unfriendly networks and for traffic in environments with excellent, 
predictable network infrastructure, where all the quic (re)prioritization tricks 
are not relevant.

DAY3
----

https://daniel.haxx.se/blog/2024/11/14/workshop-season-six-episode-three/

Do you speak http

https://github.com/HTTPWorkshop/workshop2024/blob/main/talks/5.%20Testing/testing.pdf

Vtest had multiple appearances here and I pushed my neglected vtest-related 
tasks further up my list of bad consciousness.

I had to leave during the following break to not risk to miss the one eurostar 
train I really had to take to make it home in time for a birthday...

Nils



-- 

Nils Goroll (he/him)

** * * UPLEX - Nils Goroll Systemoptimierung

Scheffelstraße 32
22301 Hamburg

tel +49 40 28805731
mob +49 170 2723133
fax +49 40 42949753

xmpp://slink@jabber.int.uplex.de/

http://uplex.de/


More information about the varnish-dev mailing list