The Backend Engineering Show with Hussein Nasser

Graceful shutdown in HTTP

There are cases where the backend may need to close the connection to prevent unexpected situations, prevent bad actors or simply just free up resources. Closing a connection gracefully allows clients and backends to clean up and finish any pending requests. 

In this episode of the backend engineering show I discuss graceful connections in both HTTP/1.1 via the connection header and HTTP/2 via the GOAWAY frame. 

  • 0:00 Intro
  • 4:58 Why shutdown connection? 
  • 6:46 HTTP/1.1 Graceful shutdown
  • 12:26 Cost of HTTP/2 
  • 17:40 HTTP/2 GoAWAY frame
  • 23:40 Summary

Links

https://www.youtube.com/watch?v=fVKPrDrEwTI&t=1s 

https://chromium.googlesource.com/chromium/src/net/%2B/master/socket/client_socket_pool_manager.cc#76

https://issues.chromium.org/issues/40555364

https://issues.chromium.org/issues/40501721