Caching on the Edge
Besides obvious optimizations like using APC, you probably have some caching strategy for your PHP projects. Most frameworks nowadays provide tools to cache whole pages or only page fragments, and interfaces to software like Memcache. But did you know that caching is a large part of the HTTP specification (RFC 2616), published more than 10 years ago? It describes very powerful techniques that are mostly unknown to web developers.
Do you know for instance how to use the 'Cache-Control' HTTP header? And do you know the pros and cons of the 'ETag' and 'Last-Modified' HTTP validation headers? In the first part of this session, I will show how you can take advantage of HTTP caching and how to leverage gateway caches.
Akamaï and other companies wrote the ESI language specifications (Edge Side Includes) in 2001 to provide a means to build pages with different HTTP resources. It brings a lot of flexibility to the table. Squid and Varnish, two of the most popular reverse proxies, support ESI out of the box. The second part of this session will show how you can use ESI in your next PHP project.