Some HTTP GET headers

Today's tip comes from High Performance Web Sites by Steve Souders. Before the author jumps into web tuning tips, he provides a very brief introduction to some of the features of the HTTP GET headers, including:

  • compression for requests which the Accept-Encoding and Content-Encoding headers to reduce the size of the response using common compression techniques

  • conditional requests which uses the If-Modified-Since, ETag, or If-None-Match headers to send the last modified date back to the server - if the server returns a 304 status it skips sending the body of the response

  • expiring requests which use the Expires header to save the expiration date with the component in it's cache

  • persistent connections which use the Keep-Alive header to keep the same TCP connection open to the same server (reducing the overhead of opening and closing multiple socket connections)

If you're a regular performance tester, there's no news there... but I though it was a nice summary for those who might be just breaking in.

I'm a couple chapters into the book and like it quite a bit. The format reminds me of the "How to Break Software" series of books, only instead of attacks the book provides rules. I'm not willing to sumarize any of the rules without contacting the author, but I recommend the book. It's well written and covers some great fundamentals of front-end performance optimization.