Thijs Feryn

Developing cacheable PHP applications by Thijs Feryn

Most of us are familiar with HTTP, but when it actually comes to creating cacheable web content, there is still a lot to be learned.

In this presentation I will show you how to leverage specific mechanism to achieve a good hit rate without losing touch with some of the challenges of real-life web projects.

Keywords: cache control, cache variations, conditional requests, stateful content, HTTP fragments, invalidation.

The goals is to empower developers to control the behavior of reverse caching proxies like Varnish, Content Delivery Networks, or even browser cache, using the power of HTTP.

Talk Questions

  • Question 65
    Why Varnish vs CloudFlare?
  • Question 76
    Is there a mechanism in ESI that allows o make a backend call but not wait for its response? Thinking in a trace only
  • Question 50
    If i have page content diff based on country+isMobile, could it be solved via xvary?
  • Question 51
    What are some common stuff that we would like to cache for logged in users? And how far along is support for Side Includes in symfony and laravel?
  • Question 70
    ESI + Tracing?
  • Question 68
    How Etag decreases CPU? You still need to execute the whole code to check if the Etag is the same or not,right? (Even though you don't send anything saving bandwidth)
  • Question 73
    What's the difference between Vary vs x-Vary headers?
  • Question 66
    Can Varnish sit in the middle of httpS traffic? or you need to couple it with something else?
  • Question 64
    How should it be pronounced, "cashe", "cach", "cash"
  • Question 77
    Is there any easy way to debug and test vanish?
  • Question 78
    Is it really maintainable to use the vmod lua way to get the username? What if we change the way we save in redis? Is there a balance between maintainability and cacheability?
  • Question 67
    How do you keep warm cache?
  • Question 69
    Are there plans to have ESIs in parallel for the free version of Varnish?
  • Question 71
    How does reverse proxy apply to APIs? Can we apply ESI as well?
  • Question 74
    Are there any tools that help visualize VCL steps for debugging?
  • Question 75
    Any tools for testing Varnish config is set correctly?