August is a month of celebration in Budapest, and so it was at Easyling as well: while the rest of the country celebrated the national day, we celebrated our brand new documentation, as well as our new updates that make your life easier and the Proxy more powerful. For example, we can now process <video> tags as resources, set page rules to execute on-the-go search&replace operations during proxying, and we have rolled out the public cache accelerator to the public. See the full details after the jump!
Public Memcache Accelerator
The proxy has had the ability to load cacheable content into the AppEngine Datastore for a while now, but the option was available only for administrators as we were trialling this action.
To recap, if the page has the appropriate cache headers (Pragma: public; Cache-Control: public, max-age=/\d+/), the Google EdgeCache may elect to store it in its EdgeNodes, distributed around the globe. However, storing it in one place will not accelerate responses for requests from another.
To go around this, we have created our own Datastore-based caching solution: should the proxied page meet these requirements, we will store it for ourselves Now, even if a request falls through the EdgeCache, we will serve the content without forwarding the request and waiting for the remote server first, instead serving up the stored response as fast as the Datastore can return it (usually measured in the single-digit milliseconds).
Now, we have seen it fit to roll out the option to the public after we have verified that it works as we want it to. You can enable it in the Advanced Settings screen, among the Tweaks.
Brand New Documentation
One of the most common complaints we receive on our support channels is that our documentation and help leaves a lot to be desired. We have began to maintain a public help interface, but it was woefully insufficient. With this mind, we set about rewriting our entire documentation from scratch, focusing on user stories instead of logical divisions. The result is a greatly expanded user documentation, built around the most common questions we receive on our support channels. The online platform we chose offers easy searching in the docs, as well as the ability to download the manual in HTML or PDF formats, for offline viewing or distribution within the organisation.
You can browse our new and improved documentation from our home page (Resources menu), directly from here!
Search&Replace On the Go
The Path Settings dialog of the Dashboard is home to some of the more powerful options that can be set on a project. These include the ability to force the cache headers to specific values, override content types and charsets, and now, the option to outright alter the source content.
The Search&Replace option has two modes: either you can set a search term and its replacement verbatim, or you can set the search term to behave as a regular expression, enabling you to match variable content (as long as you can establish a general pattern). You must also specify a Content-Type which will restrict the replacement from affecting everything; and a default character encoding – since the replacement runs before anything else, the proxy has no information on the encoding used on the page. You can also specify multiple rules for the same domain, which will run in the order you added them, and can can affect the output of the preceding operations in the chain! Also, this replacement, if enabled, is the first operation the proxy carries out on the content, preceding even the Source Cache building – any caches will store the altered content.
<video> Tags As Resources
With the advent of HTML5, multiple new media types made their debut, including <video>. For a while, these new media types were little-used, but as browsers implemented the appropriate interfaces, compatibility began to spread. And as compatibility spread, so did the tags. And as they gained traction in the world, we have implemented our support for them as well.
With this, we are now handling the <video> tag, with both its sources (the src attribute or the <source> element), by adding the reference found there to the Resources view, allowing the user to replace them with links of their own choosing (naturally, those links must be valid in that given context).
Due to the potential size of the referenced files, we are not offering the option to upload replacement files, only the option of rewriting the reference to another one, hosted elsewhere.
Client-Side Translation Beta program continues
As usual, we are always on the lookout for pilot projects for our Client-Side Translation feature – if you’d like to trial translation in the client’s browser, please contact support for more information!
To recap, client-side translation is a good fit for large sites serving large amounts of traffic, as it bypasses the proxy and incurs no page serving costs. However, it is still in a BETA phase – it may not work for all sites and browsers (most notably, Internet Explorer 11 is the oldest supported browser).