I have been using CloudFlare for about 5 months. I mainly chose to look into using CloudFlare because of the performance benefits for my blog. CloudFlare is similar to a CDN in that it will cache many of the static elements on your site, such as images, Javascript, and CSS, and then send them to your visitors when they are requested. This means that your host’s server just needs to worry about sending the dynamic content, such as the Web pages, which reduces the load on the server.
Last week my host had an issue. There was a denial-of-service (DoS) attack against the server that hosts my blog. Because I am on a shared hosting plan, the DoS probably caused issues with several sites, and not just my blog
The DoS attack prevented my blog from being displayed properly when visitors requested pages from my host. If it wasn’t for CloudFlare, only an error page would have been displayed for each visitor.
What happened instead is CloudFlare showed a cached copy of the web page to the visitor. While I can’t be sure it was like that for every page, many of the pages I viewed showed the content of the page.
While I’m not sure what exactly happens with CloudFlare, but it may be something like this. CloudFlare caches the content of the pages on their servers. The static content, as mentioned at the beginning of the article, is always sent from the CloudFlare servers, instead of your host’s server. The content is sent from your host.
If CloudFlare detects that your Web site, or blog, can’t be reached, it will send a cached copy of the requested Web page to your visitor. A message strip at the top of the page will indicate that the page is a cached version, and may not be the most current version. Once your site is up and running again, CloudFlare will stop sending the cache copy and begin sending the pages for the host.
So when my blog went down last week, CloudFlare sent the cached pages to my visitors, and once the problem was corrected, the current pages were sent to my visitors. In doing so, CloudFlare had allowed my blog to remain online, even though it was actually down.
While it takes time for CloudFlare to cache all pages of my blog, it seemed that the more common, high-traffic, pages were returned from their server, as I could see in my analytics log.
So, in addition to providing some performance benefits, CloudFlare also provides some added piece-of-mind with regards to my blog’s outages. For a free service, it has provided some great benefits.