BlogsCloudflareWebsite Content Optimization

Website Content Optimization

Website Content Optimization

214
posts
2011–2026

Cloudflare Pages build experience has been significantly improved with a new build infrastructure that drastically reduces build initialization time to 2-3 seconds by using pre-warmed machines and gVisor for secure sandboxing. Build logs are now streamable for faster debugging. Users gain control over branch builds, allowing specification of branches for automatic deployments and the use of 'CI Skip' commands. Future improvements include incremental builds, caching of external dependencies, up. This post introduces native support for custom headers and enhanced redirects, allowing developers to configure SEO, security, and CORS headers directly within their projects via `_headers` and `_redirects` files. The underlying matching engine is modeled after the URLPattern specification, with plans for full implementation in the Workers runtime.

2026

When "idle" isn't idle: how a Linux kernel optimization became a QUIC bug

5/12/2026

This post details a critical bug discovered in the CUBIC congestion control algorithm, specifically within Cloudflare's quiche implementation of QUIC. It explains how a Linux kernel optimization, intended to align with RFC 9438, inadvertently caused CUBIC's congestion window to get permanently pinned at its minimum after a congestion collapse event. The post traces the bug's origin from a 2017 Linux kernel change, its porting to quiche in 2020, and the specific user-space implementation details that led to the issue. It highlights the successful identification and resolution of this bug, which was crucial for maintaining the performance and reliability of QUIC connections.

Shared Dictionaries: compression that keeps up with the agentic web

4/17/2026

This post introduces Cloudflare's upcoming support for shared compression dictionaries and delta compression, a significant advancement in website content optimization. It addresses the challenge of increasingly larger web pages and more frequent deployments (driven by agents and AI development) by enabling browsers to only download file diffs instead of entire assets. This leverages the browser's cache of previous versions as a dictionary to compress new versions, drastically reducing bandwidth usage and improving load times. The post details the technical implementation, the historical context of similar technologies like SDCH, and the phased rollout plan, starting with passthrough support.

Redirects for AI Training enforces canonical content

4/17/2026

Introduced 'Redirects for AI Training' feature, which leverages Cloudflare's verified bot classification and existing canonical tags to issue HTTP 301 redirects for verified AI training crawlers. This ensures that AI models are trained on current content, addressing the issue of deprecated documentation being ingested. Also enhanced Radar's AI Insights with Response status code analysis for AI crawlers.

We deserve a better streams API for JavaScript

2/27/2026

This post critically analyzes the fundamental usability and performance issues of the WHATWG Streams Standard (Web Streams), which underpins many modern web APIs and Cloudflare Workers. It highlights design decisions made a decade ago that no longer align with current JavaScript development practices, such as excessive ceremony for common operations and a problematic locking model. The post proposes an alternative approach built around JavaScript language primitives that demonstrates significantly faster performance (2x to 120x) and aims to spark a conversation about the future of streaming APIs.

Introducing Markdown for Agents

2/12/2026

This post introduces 'Markdown for Agents,' a new capability that allows for real-time conversion of HTML to Markdown at the edge for AI crawlers and agents. This feature aims to optimize content delivery for AI by reducing token usage and processing complexity, leveraging content negotiation headers. It also introduces the `Content-Signal` header for AI usage preferences and enhances Cloudflare Radar with AI bot content type insights.

2025

How does Cloudflare’s Speed Test really work?

10/27/2025

This post introduces Cloudflare's Speed Test, a new tool that measures internet connection quality by focusing on realistic usage patterns rather than peak throughput. It details how the test works, leveraging Cloudflare's global network and Workers, and explains how to interpret its results, which include loaded and idle latency, jitter, packet loss, and an Aggregated Internet Measurement (AIM) score. This expands the scope of website content optimization to include user-facing measurement tools that assess the quality of experience for various online activities.

How Cloudflare uses the world’s greatest collection of performance data to make the world’s fastest global network even faster

9/26/2025

This post details how Cloudflare is leveraging its extensive network data and Real User Measurement (RUM) data to dynamically optimize congestion control algorithms. It introduces the concept of predicting RUM measures from passive logs and using this to fine-tune congestion control parameters, leading to an average of 10% performance improvement. The post also discusses the migration to a Rust-based network technology stack for greater flexibility in experimenting with congestion control algorithms.

First-party tags in seconds: Cloudflare integrates Google tag gateway for advertisers

5/8/2025

This post introduces a new integration with Google tag gateway for advertisers, enabling first-party serving of Google tags directly from a customer's domain proxied through Cloudflare. This simplifies server-side tagging, improves measurement accuracy and campaign performance by leveraging Cloudflare's infrastructure, and offers these benefits for free to all customers. It enhances website content optimization by ensuring more accurate data collection and campaign measurement.

2024

Introducing Speed Brain: helping web pages load 45% faster

9/25/2024

Introduces Speed Brain, a new feature that leverages the Speculation Rules API to prefetch and prerender content for likely next navigations. This aims to reduce page load latency by downloading or rendering pages before the user navigates to them. Details the technical approach, including conservative and aggressive speculation models, and reports lab testing results showing up to a 75% reduction in LCP with the aggressive model. Highlights immediate availability for all plan types and the benefit of enabling Real User Measurements (RUM) for improved future prefetching.

New standards for a faster and more private Internet

9/25/2024

Introduces Zstandard (zstd) compression as a new option for Cloudflare users, detailing its performance benefits (42% faster compression than Brotli, 11.3% smaller file sizes than GZIP) and technical advantages over Zlib (larger window, parallel processing, branchless design, Finite State Entropy). Also announces the re-rollout of Encrypted Client Hello (ECH) for enhanced privacy.

2023

Image optimization made simpler and more predictable: we’re merging Cloudflare Images and Image Resizing

9/26/2023

This post announces the merging of Cloudflare Images and Image Resizing into a single product. It introduces a new, more predictable pricing model based on unique transformations ($0.50 per 1,000 unique transformations) and offers a zero-storage plan for customers who only need image resizing. This simplifies the image management pipeline for users by consolidating storage, optimization, and delivery into one offering and addresses customer pain points around unpredictable billing for Image Resizing.

Cloudflare Fonts: enhancing website font privacy and speed

9/25/2023

This post introduces Cloudflare Fonts, a new feature that enhances website privacy and performance by serving Google Fonts from the user's own domain. It details how this eliminates third-party requests to Google, reduces DNS lookups and TLS connections, and leverages Cloudflare's ROFL module for on-the-fly HTML alterations. The post also quantifies the performance benefits, showing significant improvements in First Contentful Paint and Lighthouse scores.

Connection coalescing with ORIGIN Frames: fewer DNS queries, fewer connections

9/4/2023

This post introduces and details the concept of connection coalescing, specifically focusing on the HTTP/2 ORIGIN Frame extension as a mechanism to reduce the number of DNS queries and TCP/QUIC connections required to load web pages. It explains the problem of numerous connections, the benefits of coalescing (efficiency, reduced metadata exposure), and contrasts IP-based coalescing with the more flexible ORIGIN Frame approach. The post highlights how this standard allows servers to signal to clients which hostnames can share an existing TLS connection, leading to fewer overall connections and improved performance.

How Cloudflare Images addressed the aCropalypse vulnerability

7/10/2023

This post details how Cloudflare Images and Image Resizing products inherently protect customers from the aCropalypse vulnerability by re-encoding images and stripping trailing data. It further explains the specific technical implementations using Rust wrappers for libjpeg-turbo and a custom PNG parser to guarantee that no affected images are served, ensuring customer privacy and data security.

Cloudflare Zaraz supports JSONata

6/27/2023

This post introduces JSONata integration into Cloudflare Zaraz, enabling users to perform data transformations and manipulations directly within the configuration of third-party tools. This provides a middle-ground solution between simple property passing and full Cloudflare Worker usage, allowing for more detailed and customized data payloads to be sent to analytics, conversion pixels, and other JavaScript tools, thereby enhancing the granularity of data collected and transmitted.

Recapping Speed Week 2023

6/26/2023

This post recaps Speed Week 2023, highlighting advancements in measuring and improving website and application performance. It announces new products like Observatory, Digital Experience Monitoring (DEX), and Timing Insights, which offer user-centric performance monitoring. It also details network performance updates, fastest Zero Trust solutions, and introduces several new features (Smart Hints, HTTP/3 Prioritization, Argo for UDP, Brotli end-to-end, LL-HLS for Stream, Ricochet for API Gateway) designed to simplify and accelerate traffic. The post also touches on AI/ML integration for performance and migration programs, all reinforcing the ongoing evolution of website content optimization.

All the way up to 11: Serve Brotli from origin and Introducing Compression Rules

6/23/2023

This post introduces end-to-end Brotli compression support, enabling the highest compression levels (up to 11) from origin to client, a significant improvement over previous limitations. It also introduces Compression Rules for Enterprise customers, offering granular control over compression for specific content types and extensions, further optimizing performance and bandwidth usage.

How we scaled and protected Eurovision 2023 voting with Pages and Turnstile

6/23/2023

This post details how Cloudflare's services, specifically Cloudflare Pages for frontend hosting, Turnstile for API protection against emulated browsers, and integrated DDoS protection, were used to scale and secure the Eurovision 2023 voting application. It highlights the rapid DNS propagation for backend scaling and the effectiveness of Tiered Caching in mitigating attacks while serving dynamic content, showcasing the platform's capability for handling massive, real-time traffic spikes for critical events.

Speeding up APIs with Ricochet for API Gateway

6/23/2023

This post introduces Ricochet for API Gateway, a new feature that extends Cloudflare's caching capabilities to API requests. It addresses the challenges of caching dynamic API data by intelligently caching requests based on session identifiers and automatically invalidating the cache when non-safe HTTP methods are detected. This aims to significantly reduce API latency and origin load, even for previously un-cacheable request types like GraphQL POST requests.

Introducing the Cloudflare Radar Internet Quality Page

6/23/2023

This post introduces the Cloudflare Radar Internet Quality page, which provides aggregated insights into internet connection performance (bandwidth, latency, jitter) at country and network (ASN) levels. This expands upon the earlier speed.cloudflare.com speed test tool by offering a broader perspective on internet quality beyond raw speed, incorporating crucial factors like latency and jitter. It also highlights partnerships with organizations like M-Lab to provide a representative picture of global internet quality.

Speeding up your (WordPress) website is a few clicks away

6/22/2023

This post details how Cloudflare Workers can be used to automatically identify and prioritize critical resources, specifically LCP images, to improve website performance. It analyzes HTTP Archive data to identify opportunities for optimization, discusses the challenges of default CMS behaviors like lazy loading, and proposes heuristics (e.g., prioritizing the first few non-small images) to address these issues. It also mentions Chrome 114's experiment with image prioritization.

It's never been easier to migrate thanks to Cloudflare's new Migration Hub

6/21/2023

This post introduces the Cloudflare Migration Hub, a centralized resource for migrating to Cloudflare services. It relaunches and enhances the Turpentine tool for VCL to Workers translation, provides detailed migration guides comparing Cloudflare features to competitors like Akamai and Fastly, and establishes a Professional Services group to assist customers with complex migrations. The hub aims to simplify the onboarding process for both self-serve and expert-guided migrations, highlighting success stories of cost savings and improved reliability.

Faster website, more customers: Cloudflare Observatory can help your business grow

6/20/2023

Introduced Cloudflare Observatory, a new unified dashboard for website performance monitoring. Observatory integrates Real User Monitoring (RUM) data with scheduled Google Lighthouse synthetic tests from multiple regions. It provides tailored, one-click recommendations for Cloudflare features to address identified performance bottlenecks, improving upon the previous Speed Tab by simplifying the optimization process and offering more actionable insights.

Are you measuring what matters? A fresh look at Time To First Byte

6/20/2023

This post critically examines Time To First Byte (TTFB) as a performance metric, arguing for its limitations and advocating for Real User Monitoring (RUM) metrics like Core Web Vitals (Largest Contentful Paint, First Input Delay, Cumulative Layout Shift) as more accurate indicators of user experience. It details how TTFB fails to capture the complexity of modern web page loading, including render-blocking resources and the benefits of HTTP/2 and HTTP/3 multiplexing. Cloudflare's own performance optimization features, such as Zaraz, Rocket Loader, and image optimization, are highlighted as contributing to better RUM scores rather than solely impacting TTFB.

Introducing Timing Insights: new performance metrics via our GraphQL API

6/20/2023

This post introduces 'Timing Insights,' a new set of performance metrics available through the GraphQL Analytics API. It allows customers to query and analyze Time to First Byte (TTFB) by breaking it down into specific components such as origin DNS lookup time and origin response time. This provides deeper server-side performance diagnostics, especially for APIs, and complements existing client-side performance metrics like Web Vitals.

Introducing HTTP/3 Prioritization

6/20/2023

Introduced full support for HTTP/3 Extensible Priorities (RFC 9218), a new standard for web page loading optimization. This feature allows clients to signal request urgency and incremental processing, enabling Cloudflare's network to prioritize and schedule response data for improved performance, with observed Largest Contentful Paint (LCP) improvements of up to 37%. The post details the 'urgency' and 'incremental' parameters, how they are signaled via HTTP headers and PRIORITY_UPDATE frames, and Cloudflare's server-side scheduling recommendations based on these signals. It also provides examples of how server-side overrides can be used with Cloudflare Workers or origins to customize prioritization behavior.

INP. Get ready for the new Core Web Vital

6/20/2023

This post introduces and analyzes Interaction to Next Paint (INP) as a new Core Web Vital, explaining its technical differences from First Input Delay (FID) by measuring input delay, processing time, and presentation delay across all user interactions. It presents data from Cloudflare's RUM-enabled sites comparing FID and INP scores, highlighting INP's greater challenge, especially on mobile devices. The post also details how Cloudflare's Web Analytics and Observatory products can provide INP data and discusses strategies for optimizing INP, including reducing third-party script impact.

Smart Hints make code-free performance simple

6/19/2023

This post introduces 'Smart Hints,' a new feature that automates the application of Early Hints and Fetch Priorities. It leverages Cloudflare's extensive RUM data and network capabilities to dynamically determine optimal resource prioritization without requiring manual configuration from developers. This significantly lowers the barrier to entry for performance optimization, especially for users without origin access or deep technical knowledge.

Welcome to Speed Week 2023

6/18/2023

This post introduces Speed Week 2023, highlighting a shift in focus from traditional metrics like Time to First Byte (TTFB) to Real User Monitoring (RUM) and Core Web Vitals (Largest Contentful Paint, First Input Delay, Cumulative Layout Shift, and Interaction to Next Paint) as the key indicators of website performance. It announces new products and features designed to help users measure and improve actual end-user experience, moving beyond network-centric measurements. The post also emphasizes Cloudflare's commitment to being the fastest in various areas and facilitating rapid customer migration.

Understand the impact of Waiting Room settings with Waiting Room Analytics

6/7/2023

This post introduces Waiting Room Analytics, a new feature that provides detailed insights into end-user experience and traffic patterns within Cloudflare's Waiting Room. It allows customers to analyze how waiting room settings impact traffic, queue times, and user experience, enabling more informed configuration decisions and better protection against traffic surges. The post also explains the underlying settings of Waiting Room and how the new analytics help in optimizing them.

Examining HTTP/3 usage one year on

6/6/2023

This post provides a one-year retrospective on HTTP/3 usage across Cloudflare's network, detailing trends for browser traffic, API requests, and mitigated traffic. It analyzes the adoption of HTTP/3 by major browsers (Chrome, Safari, Edge, Firefox) and notes the continued low adoption by search engine and social media bots. The post also discusses the technical aspects of HTTP/3 discovery via Alt-Svc and HTTPS DNS records, and the transition from draft ALPN IDs to the final RFC 'h3'.

Cloudflare is deprecating Railgun

6/1/2023

This post announces the deprecation of the Railgun product, a decade-old solution for delta compression of dynamic content. It explains the reasons for deprecation, including stagnation and the availability of superior alternatives. The post guides users on migrating to newer Cloudflare offerings such as Cloudflare Tunnel, Argo Smart Routing, Cloudflare Network Interconnect, and R2 storage, highlighting how these address the original problems Railgun solved with improved performance and efficiency.

Making home Internet faster has little to do with “speed”

4/18/2023

This post emphasizes the critical role of latency, alongside bandwidth, in determining overall internet connection speed and web page load times. It provides empirical data and analogies to illustrate how reducing latency significantly improves user experience, reinforcing Cloudflare's strategic focus on network latency reduction across its global infrastructure. The post also clarifies the distinction between bandwidth and latency and how different applications are affected by each.

2022

The state of HTTP in 2022

12/30/2022

This post details the significant advancements in HTTP protocols during 2022, focusing on the publication and adoption of HTTP/3 as a major performance enhancement over HTTP/1.1 and HTTP/2 by addressing head-of-line blocking at the transport layer. It also covers the updates to core HTTP specifications, the emergence of Early Hints as a practical alternative to server push for performance gains, and the development of privacy-focused intermediation protocols like MASQUE and Oblivious HTTP. Security enhancements like Digest Fields and HTTP Message Signatures are also highlighted.

Cloudflare Pages gets even faster with Early Hints

10/7/2022

This post introduces Early Hints support for Cloudflare Pages, a new internet feature that significantly improves website loading performance by allowing browsers to start loading critical resources before receiving the full HTML response. It details how Early Hints work, demonstrates their performance benefits with a practical e-commerce example on Pages, and explains how users can leverage this feature through `_headers` files, Pages Functions, or by transforming `<link>` HTML elements. The post also mentions future plans for Smart Early Hints.

Dynamic URL redirects: 301 to the future

9/27/2022

This post introduces 'Dynamic Redirects,' a new feature that significantly enhances URL redirection capabilities. Previously, redirects were primarily handled by Page Rules (limited to URL matching) or required custom Cloudflare Workers. Dynamic Redirects, built on the Rulesets Engine, allow for conditional redirects based on hundreds of options like visitor country, language, and device type, without requiring code. It also addresses the limitations of Page Rule quotas by providing a dedicated quota for redirects, and builds upon previous advancements like Bulk Redirects by offering more dynamic and intelligent redirection logic.

Introducing Configuration Rules

9/27/2022

Introduced Configuration Rules as a successor to Page Rules, providing more flexible and granular control over Cloudflare features. Configuration Rules allow users to selectively enable or disable features based on a wider range of criteria beyond just URLs, including cookies, country of origin, and other request fields. This enables advanced use cases like A/B testing and conditional feature application without requiring custom code.

The future of Page Rules

9/27/2022

This post announces the deprecation of Page Rules, a foundational product for URL-based traffic configuration, and introduces four new specialized products (Cache Rules, Configuration Rules, Dynamic Redirects, Origin Rules) that replace its functionality. It highlights the limitations of Page Rules (quota, debugging, URL-only triggers) and explains how the new products, built on the Rulesets Engine, offer increased quotas, more granular control, better debugging, and a consistent user experience, ultimately enhancing website content optimization capabilities.

SVG support in Cloudflare Images

9/21/2022

This post introduces SVG file support to Cloudflare Images, expanding the product's capabilities beyond traditional bitmap formats (JPG, WebP, PNG, GIF). It addresses customer demand for SVG support, highlighting the benefits of SVGs for scalability and reduced file sizes. Crucially, it details the development of a security filter to mitigate SVG-specific vulnerabilities (XSS, DoS via XML entities) by removing scripting, hyperlinks, and cross-origin references, making SVG delivery as safe as bitmap images. The post also explains how SVG variants are handled differently due to their inherent scalability and provides guidance on uploading and serving SVGs.

Crawler Hints supports Microsoft’s IndexNow in helping users find new content

8/12/2022

Introduced Crawler Hints, a feature that signals content changes to search engines via the IndexNow protocol. This aims to optimize search engine crawling by reducing wasted crawl traffic and its associated environmental impact. The feature leverages cache data and origin status codes to inform indexers about content updates. It is enabled via a simple toggle in the Cloudflare dashboard and is free for all customers. Future plans include defaulting Crawler Hints on for all customers and incorporating additional signals like etags, last-modified headers, and content hash differences.

1.1.1.1 + WARP: More features, still private

8/6/2022

This post introduces significant enhancements to the 1.1.1.1 + WARP apps, focusing on improving the user experience by providing geographically accurate browsing without compromising privacy. It details a new method for assigning egress IPs to approximate user locations and expands the network for WARP+ subscribers with more cities to reduce latency and improve speeds.

Automatic Signed Exchanges may dramatically boost your site visitor numbers

7/8/2022

This post introduces and details Cloudflare's Automatic Signed Exchanges (SXG) offering. It highlights the performance benefits of SXG, including significant reductions in LCP, FCP, and TTFB, and presents real-world measurements from Cloudflare customers. The post also announces the expansion of SXG support to Chromium-based desktop browsers and introduces Dynamic SXG to address server-side personalization compatibility.

Optimizing TCP for high WAN throughput while preserving low latency

7/1/2022

This post details Cloudflare's efforts to optimize TCP for high WAN throughput while preserving low latency, a critical requirement for newer products like Magic WAN, WARP, Spectrum, and Gateway. It explains the trade-offs between minimizing latency spikes by limiting TCP receive window size and achieving high throughput over high-latency links. The post introduces Linux autotuning as a mechanism to dynamically adjust buffer sizes and receive windows based on RTT and application read rates, and proposes specific sysctl values (net.ipv4.tcp_rmem, net.ipv4.tcp_wmem, net.ipv4.tcp_adv_win_scale) to achieve a balance between throughput and latency for long fat networks and elephant flows.

Managed Transforms: templated HTTP header modifications

6/30/2022

This post introduces Managed Transforms, a one-click solution for common HTTP header modification use cases, building upon the earlier Transform Rules. It simplifies adding bot management information and security headers (like HSTS, CSP, and Permission-Policy) to HTTP requests and responses, significantly reducing manual effort and improving website security scores.

Internet Explorer, we hardly knew ye

6/29/2022

This post analyzes the retirement of Internet Explorer 11 and its impact on web traffic trends. It provides insights into the decline of IE usage, identifies regions with high residual IE traffic (particularly the US and Japan), and highlights the significant portion of this traffic being automated (bot) rather than human. The post also contrasts IE usage patterns with the increasing adoption of Microsoft Edge, offering data-driven observations that can inform strategies for optimizing content delivery and security in a changing browser landscape.

Early Hints update: How Cloudflare, Google, and Shopify are working together to build a faster Internet for everyone

6/23/2022

This post details the development and adoption of Cloudflare's Early Hints feature, a significant advancement in website content optimization. It explains how Early Hints utilize HTTP status code 103 to send resource hints (preload, preconnect) to the browser during server 'think time', thereby improving page load performance. The post highlights successful collaborations with Google and Shopify, showcasing real-world performance improvements (up to 30% in initial tests, and significant LCP improvements for Shopify merchants) and the feature's availability in Chrome 103, marking a major step towards a faster internet for everyone.

A new era for Cloudflare Pages builds

5/10/2022

Introduced a new build infrastructure for Cloudflare Pages that reduces build initialization time to 2-3 seconds by using pre-warmed machines and gVisor for secure container sandboxing. Enabled streaming of build logs for real-time debugging. Added control over branch builds, allowing users to specify branches for automatic deployments and use a 'CI Skip' commit message.

2021

Cloudflare Pages now partners with your favorite CMS

11/17/2021

This post introduces partnerships with Sanity, Strapi, Contentful, and WordPress, enabling automated deployments for Cloudflare Pages via Deploy Hooks. Deploy Hooks are HTTP POST endpoints that trigger new deployments on Pages when content is updated in a connected CMS, simplifying the workflow for content creators and developers.

Introducing Custom Headers for Cloudflare Pages

10/27/2021

Introduced native support for custom headers and enhanced redirects in Cloudflare Pages. Developers can now define headers and redirects using `_headers` and `_redirects` files, respectively. The implementation uses a matching engine modeled after the URLPattern specification, supporting splats and placeholders for flexible rule definition. This enables configuration of SEO headers (e.g., X-Robots-Tag), security headers (e.g., X-Frame-Options, Content-Security-Policy), and CORS headers (e.g., Access-Control-Allow-Origin). Redirects also support splats, placeholders, and status codes.

Crawler Hints Update: Cloudflare Supports IndexNow and Announces General Availability

10/18/2021

This post announces the general availability of Crawler Hints for all Cloudflare customers, making it a free, one-click feature. It also highlights the integration of the IndexNow protocol, enabling Cloudflare to signal content creation, updates, and deletions to search engines like Microsoft Bing and Yandex. The post details the problem of excessive crawling and how Crawler Hints addresses it by providing more accurate signals, leading to improved search engine efficiency, reduced origin server load, and a more environmentally friendly internet.

Coalescing Connections to Improve Network Privacy and Performance

10/13/2021

This post introduces and studies the feasibility of 'Connection Coalescing,' a technique that allows subresources from different hostnames to be fetched over the same connection. It details the privacy benefits (reducing exposed SNI) and performance gains (fewer TLS handshakes and TCP connections) of this approach. The post also discusses the associated risks and presents an experiment demonstrating that connection coalescing can significantly reduce TLS connections to services like cdnjs, with Chrome showing a substantial reduction and Firefox a more modest one. This adds a new dimension to performance optimization by focusing on inter-hostname connection reuse.

Cloudflare Pages is Lightning Fast

9/18/2021

This post details the performance optimizations for Cloudflare Pages, highlighting its delivery from Cloudflare's global network, support for new standards like QUIC+HTTP/3 and TLS 1.3, and improvements to the developer experience including faster build times and integrated Web Analytics for Core Web Vitals. It also presents benchmark data showing Cloudflare Pages' superior TTFB compared to competitors.

Early Hints: How Cloudflare Can Improve Website Load Times by 30%

9/16/2021

This post introduces Cloudflare's support for Early Hints, a new web standard (HTTP status code 103) that significantly improves website load times by utilizing "server think time." Cloudflare acts as an intermediary to issue these hints on behalf of origins, overcoming legacy server limitations and leveraging its edge network proximity to users. The post details how Early Hints work, contrasts them with the less successful HTTP/2 Server Push, and explains how Cloudflare addresses the client-server adoption challenge to drive mass adoption of this performance-enhancing technology.

Unboxing the Last Mile: Introducing Last Mile Insights

9/16/2021

This post introduces 'Last Mile Insights,' a new tool that provides customers with visibility into connection failures occurring between their end-users and Cloudflare properties. It leverages Network Error Logging (NEL) to detect and diagnose issues within Internet Service Provider (ISP) networks, offering insights into where and why these failures occur. The post also reiterates Cloudflare's commitment to expanding its global network to minimize the impact of the last mile on performance.

Discovering what’s slowing down your website with Web Analytics

9/15/2021

Introduced Web Analytics Vitals Explorer, which integrates Core Web Vitals (LCP, FID, CLS) and other paint timings (First Paint, First Contentful Paint) into the Web Analytics product. This feature provides actionable insights by identifying specific page elements that negatively impact performance metrics, including their CSS selector, impact grading, and exact paths. Detailed measurement data for each Core Web Vital is now collected and presented.

Optimizing images on the web

9/15/2021

This post introduces Cloudflare's Image Optimization Testing Tool (now unavailable) and discusses techniques for optimizing images on the web. It covers image dimensions using `srcset`/`sizes` and Client Hints, image formats (AVIF, WebP), quality settings, and the importance of including image dimensions in markup to improve Cumulative Layout Shift (CLS) and Largest Contentful Paint (LCP).

Building Cloudflare Images in Rust and Cloudflare Workers

9/15/2021

This post details the technical implementation of Cloudflare Images and Image Resizing, highlighting the use of Rust for reusable libraries and Cloudflare Workers for edge processing. It covers the architecture of image transformations, storage mechanisms (including Quicksilver for variant definitions and URL-based metadata), cache purging strategies (by URL and tag), and URL signing for access control. Direct creator uploads are supported via Workers KV. Future work includes resizing hints on upload and serving images from custom domains.

From AMP to Signed Exchanges, Or How Innovation Happens at Cloudflare

9/14/2021

This post details the genesis of Cloudflare Workers, catalyzed by the need for a more programmable network to support third-party AMP caches. It highlights the 'Emerging Technologies & Incubation' (ETI) team's role in prototyping serverless computing strategies, which ultimately led to the development of Workers. The post also discusses the development of Signed Exchanges as a technology to improve web performance and accessibility, contrasting it with AMP and Instant Articles.

Argo 2.0: Smart Routing Learns New Tricks

9/14/2021

This post announces significant upgrades to Cloudflare Argo, extending its intelligent routing capabilities beyond the 'middle mile' (Cloudflare to origin) to also optimize the 'last mile' (clients to Cloudflare), reducing end-to-end latency by up to 40%. It also introduces support for accelerating pure IP workloads for Magic Transit and Magic WAN customers, leveraging health check probes and network data to dynamically route packets and achieve an average 10% latency improvement for IP traffic.

Improve site load times and SEO with one-click support for Signed Exchanges on Google Search

9/14/2021

This post introduces the one-click generation of Signed Exchanges (SXG) for Google Search, enabling faster content delivery and improved SEO. It details the technical process of generating SXGs, including fetching original content, adding Digest headers, stripping sensitive headers, calculating signatures, and packing the final binary. It also highlights the complexities of managing SXG requirements like certificate extensions, CBOR format, OCSP stapling, and certificate renewals, and how Cloudflare's existing expertise in Certificate Management and TLS simplifies this for customers.

Vary for Images: Serve the Correct Images to the Correct Browsers

9/13/2021

This post introduces support for the `Vary: Accept` HTTP header specifically for images. This allows Cloudflare's cache to serve different image variants (e.g., WebP, AVIF) based on the browser's `Accept` header, ensuring optimal image formats are delivered without compromising compatibility. It explains how this mechanism works with Cloudflare's cache and provides API examples for enabling this functionality, complementing existing image optimization tools.

Welcome to Speed Week and a Waitless Internet

9/12/2021

This post emphasizes Cloudflare's mission to build a 'waitless internet' by focusing on factors beyond raw bandwidth. It details how Cloudflare optimizes performance by: 1. Accelerating DNS lookups through caching and global network proximity (1.1.1.1). 2. Reducing latency for TCP and TLS handshakes by deploying servers close to end-users. 3. Highlighting the importance of fast and secure protocols like TLS 1.3 and techniques like session resumption. It also touches upon the challenges of congestion and packet loss in ensuring a smooth internet experience.

Introducing Deploy Hooks for Cloudflare Pages

8/6/2021

Introduced Deploy Hooks for Cloudflare Pages, enabling external triggers for site deployments via HTTP POST requests. This feature allows integration with headless CMSs and other services to automate content updates and deployments without requiring a git push. Users can create named deploy hooks targeting specific branches, and these hooks can be invoked via cURL or integrated into CI/CD pipelines for conditional deployments or scheduled builds.

Crawler Hints: How Cloudflare Is Reducing The Environmental Impact Of Web Searches

7/28/2021

Introduced Crawler Hints, a feature that provides search engine crawlers with data on content changes to optimize crawling frequency. This involves automatically generating updated sitemaps for search engines based on observed content modifications, reducing wasteful crawls and associated energy consumption. The feature aims to improve search result relevance and reduce the environmental impact of web traffic.

Announcing Rollbacks and API Access for Pages

6/23/2021

Introduced deployment rollbacks for Cloudflare Pages, allowing users to revert to previous working deployments via a UI button. Also introduced the Cloudflare Pages API, providing endpoints for programmatic interaction with Pages projects and deployments, including retrieving project details and triggering rollbacks. Provided example `curl` requests for these operations and demonstrated how to use the Pages API within Cloudflare Workers.

Improve your page experience with AMP and Cloudflare Workers Unbound

4/14/2021

This post introduces the integration of AMP Optimizer with Cloudflare Workers to optimize AMP pages for better page experience and Core Web Vitals. It details how Workers can perform server-side optimizations like image optimization and resource preloading, and how Workers Unbound enables longer execution times for these advanced optimizations, ensuring that AMP pages are optimized even when not served from an AMP Cache.

Cloudflare Pages is now Generally Available

4/12/2021

This post announces the General Availability of Cloudflare Pages, highlighting new features such as web analytics, built-in redirects via a `_redirects` file, protected previews with Cloudflare Access integration, live previews with Cloudflare Tunnel, and optimized images (Polish compression, WebP/AVIF support, device-based resizing). It also outlines future plans including GitLab/Bitbucket support, webhooks, and A/B testing, and positions Pages as a deployment target for full-stack applications with Workers and Durable Objects.

Dynamic URL Rewriting at the edge with Cloudflare

4/8/2021

This post introduces 'Transform Rules', a new feature that enables dynamic URL rewriting at the edge. This allows administrators to create rules to transform HTTP requests, making URLs more human-friendly and improving SEO. It also introduces URL normalization to prevent security bypasses via URL encoding and clarifies the distinction between URL redirects and rewrites. The execution order of Transform Rules within the Cloudflare traffic flow is also detailed.

Cloudflare and WordPress.com partner to Help Build a Better Internet

3/19/2021

This post announces the integration of Cloudflare's privacy-first web analytics into WordPress.com, allowing publishers to collect usage data and derive insights about their visitors. It also highlights the continued popularity and performance improvements of Automatic Platform Optimization for WordPress, which has shown up to a 72% improvement in TTFB. The post details how users can get started with these integrations through the WordPress.com dashboard.

Automatic Platform Optimization post-launch report

3/16/2021

This post provides a post-launch report on Automatic Platform Optimization (APO) for WordPress, demonstrating its performance improvements through data from WebPageTest and the Chrome User Experience Report (CrUX). It highlights significant reductions in TTFB, FCP, and LCP across desktop and mobile devices. The post also details feature enhancements made since launch, including smart caching for marketing query parameters, improved cache hit ratios, enhanced security measures against cache poisoning, and integration with Page Rules, all leveraging the Cloudflare Workers platform for rapid deployment.

2020

Introducing Cloudflare Pages: the best way to build JAMstack websites

12/17/2020

Introduced Cloudflare Pages, a platform for building and hosting JAMstack websites. It offers seamless Git integration for automated builds and deployments, unique preview URLs for each commit, infinite staging environments for feature branches, and collaboration features for unlimited users. Pages deploys sites to Cloudflare's global edge network for performance and availability, supporting modern web standards. Future integration with Cloudflare Workers is planned to enable dynamic application development.

Cloudflare’s privacy-first Web Analytics is now available for everyone

12/9/2020

This post introduces Cloudflare's privacy-first Web Analytics product, making it accessible to all website owners via an HTML snippet integration, not just existing Cloudflare customers. It details the product's features, privacy-first approach (no cookies, no fingerprinting), and how it measures page views and visits, expanding the scope of website content optimization to include accessible and privacy-respecting analytics.

Improving Performance and Search Rankings with Cloudflare for Fun and Profit

11/19/2020

This post details how Cloudflare's suite of performance products (caching, Argo Smart Routing, Image Resizing, Automatic Platform Optimization, Workers Sites) directly contribute to improving Core Web Vitals (LCP, FID, CLS) and consequently enhance Google Search rankings. It highlights the integration of these metrics into Cloudflare's analytics tools (Browser Insights, Web Analytics) for user measurement and emphasizes the ability to serve entire websites from the edge using Workers Sites.

My internship: Brotli compression using a reduced dictionary

11/11/2020

This post details an internship project that improved Brotli compression for web content by optimizing the use of its static dictionary. The approach involved creating reduced, content-type-specific dictionaries (HTML, CSS, JavaScript) and developing a fast lookup mechanism using radix tries, hash tables, and bloom filters. This optimization allows for better compression ratios at lower CPU costs, enhancing dynamic compression efficiency.

Road to gRPC

10/26/2020

This post details the technical implementation of gRPC support on Cloudflare's edge. It explains the challenges of proxying gRPC traffic due to limitations in HTTP/2 trailer support and the need for HTTP/2 to origin connections. The solution involved converting gRPC messages to HTTP/1.1 gRPC-web format internally and then back to HTTP/2 for origin communication. It also highlights the development of a new origin proxy to support HTTP/2 connections and the implementation of gRPC streaming support. The post emphasizes the use of gRPC-web as an interoperable solution and details the extensive interoperability testing performed.

A Last Call for QUIC, a giant leap for the Internet

10/22/2020

This post marks a significant milestone in the development and standardization of QUIC and HTTP/3, highlighting their 'IETF Last Call' status. It details Cloudflare's active involvement in this process, from co-chairing the working group to deploying HTTP/3 on its edge. The post emphasizes the performance benefits of QUIC/HTTP/3, particularly in overcoming head-of-line blocking, and discusses future opportunities for innovation on top of QUIC, such as multipath, new congestion control approaches, and its application in other use cases like DNS and WebTransport. It also provides extensive resources for learning more about these protocols.

AVIF image format supported by Cloudflare Image Resizing

10/3/2020

Introduced support for the AVIF image format in Cloudflare Image Resizing. AVIF offers superior compression compared to JPEG and WebP, reducing image file sizes by up to 50%. This is achieved by utilizing the AV1 codec and HEIF container. The implementation uses the rav1e Rust encoder. The post details the benefits of AVIF, its technical underpinnings, browser adoption status, and provides examples of how to enable it via the `format=avif` option and within Cloudflare Workers for automatic format negotiation based on the `Accept` header.

Building Automatic Platform Optimization for WordPress using Cloudflare Workers

10/2/2020

This post introduces Automatic Platform Optimization (APO) for WordPress, a new service built on Cloudflare Workers. It enables zero-config edge caching of HTML content, significantly improving Time To First Byte (TTFB) by serving content closer to users and reducing origin server load. It also optimizes Google font loading and creates a new platform for running WordPress plugins at the edge, offering a unified, always-up-to-date solution for performance and security best practices. The post details implementation strategies with and without the Cloudflare for WordPress plugin, leveraging custom headers and Workers KV for improved cache cold starts.

Introducing Automatic Platform Optimization, starting with WordPress

10/2/2020

This post introduces Automatic Platform Optimization (APO), a new service that extends Cloudflare's content optimization beyond static assets to dynamic content, starting with WordPress. APO leverages Cloudflare Workers to cache dynamic content at the edge, drastically reducing TTFB, FCP, and Speed Index by minimizing origin requests. It offers a simplified, click-of-a-button solution for complex performance challenges faced by platforms like WordPress, making high performance accessible without requiring users to manage static sites or complex configurations.

Start measuring Web Vitals with Browser Insights

9/29/2020

This post introduces the integration of Web Vitals (Largest Contentful Paint, First Input Delay, and Cumulative Layout Shift) into Cloudflare's Browser Insights. It highlights the importance of real-user measurement (RUM) over synthetic metrics for understanding user experience and explains how Web Vitals provide a high-level view of loading, interactivity, and visual stability. The post emphasizes that Browser Insights offers continuous updates, measures all browsers (not just Chromium), and is free, making it easier for users to collect and analyze performance data to identify areas for optimization such as cache hit rates and origin server tuning.

Migrating cdnjs to serverless with Workers KV

9/10/2020

This post details the migration of cdnjs, a critical open-source project for delivering JavaScript libraries, to a serverless infrastructure powered by Cloudflare Workers and Workers KV. It highlights the challenges of the previous labor-intensive and fragile system, the benefits of a distributed, edge-based approach for scalability and reliability, and the optimization of file delivery through ahead-of-time compression. It also introduces a new, more streamlined contribution process for packages.

Delivering HTTP/2 upload speed improvements

8/24/2020

This post details the investigation and resolution of HTTP/2 upload speed issues, particularly for users with high bandwidth connections. It explains the underlying cause related to receiver flow control in HTTP/2 and NGINX's buffering mechanisms. The post introduces and demonstrates the effectiveness of an autotuning mechanism for HTTP/2 request body buffer sizes, significantly improving upload speeds and bringing them closer to or exceeding HTTP/1.1 performance.

Orange Clouding with Secondary DNS

8/20/2020

This post introduces 'Secondary DNS Override,' a feature that allows customers to leverage Cloudflare's network for security and performance benefits without fully migrating their DNS to Cloudflare as a primary provider. It builds upon the 'Secondary DNS with a hidden primary' model by enabling proxying of A/AAAA/CNAME records and introduces CNAME flattening at the apex for improved flexibility, effectively extending Cloudflare's optimization capabilities to users with existing DNS infrastructure.

Test your home network performance

5/26/2020

This post introduces speed.cloudflare.com, a new tool that provides users with detailed insights into their home network performance. It measures download, upload, latency, and jitter, explaining the significance of each metric for real-world internet usage like website loading, video streaming, and video conferencing. The tool emphasizes transparency in its measurements and data handling, running entirely on Cloudflare Workers at the edge, and has open-sourced its code.

DeepLinks and ScrollAnchor

5/18/2020

This post introduces DeepLinks and ScrollAnchor, new features within the Cloudflare Dashboard. DeepLinks allow for more precise navigation to specific resources within the dashboard by using a dynamic URL schema, overcoming the challenge of account and zone context. ScrollAnchor enables automatic scrolling to specific content on a page. These features enhance user experience by making troubleshooting documentation more actionable and directing users to specific settings more efficiently, thereby improving the overall usability of Cloudflare's optimization and management interfaces.

Backblaze B2 and the S3 Compatible API on Cloudflare

5/13/2020

This post highlights how Cloudflare's Bandwidth Alliance and its integration with S3-compatible APIs, specifically Backblaze B2, reduce first-mile bandwidth costs and engineering overhead for data migration. It details how Cloudflare Workers can be used to sign requests to S3-compatible storage, making it easier for users to switch to more cost-effective providers without significant code changes.

Comparing HTTP/3 vs. HTTP/2 Performance

4/14/2020

This post details Cloudflare's support for HTTP/3, the successor to HTTP/2, highlighting its performance benefits such as reduced head-of-line blocking and faster session startup (0-RTT). It presents performance comparisons between HTTP/3 and HTTP/2, showing initial advantages for HTTP/3 in session startup and smaller transfers, while noting that HTTP/2 with BBR v1 can outperform HTTP/3 on larger transfers due to differences in congestion control algorithms (CUBIC for HTTP/3 vs. BBR v1 for HTTP/2). The post also discusses ongoing efforts to tune congestion control for HTTP/3 and leverage its capabilities for further performance gains.

Migrating to React land: Gatsby

3/26/2020

This post details the migration of Cloudflare Workers documentation from Hugo to Gatsby. The author highlights the challenges of working with Hugo's templating language for complex logic and the benefits of using React and Gatsby for a more developer-friendly experience. Key technical aspects include setting up Gatsby's MDX plugin for markdown processing and using `gatsby-node.js` to create pages from markdown files, demonstrating a practical approach to migrating a content-heavy site while preserving existing SEO, styling, and analytics.

JavaScript Libraries Are Almost Never Updated Once Installed

1/27/2020

This post contributes to the website content optimization thread by analyzing data from CDNJS to reveal a significant trend: JavaScript libraries are rarely updated once installed on websites. This has implications for the long-term health and maintainability of the web, as older versions persist indefinitely. The analysis of jQuery and TweenMax versions demonstrates that new releases do not significantly displace older ones, and even very old versions continue to receive substantial traffic. This highlights a challenge for the web platform in supporting aged conventions and suggests a need for better mechanisms to encourage library updates.

A cost-effective and extensible testbed for transport protocol development

1/14/2020

This post details the development of a cost-effective and extensible testbed for transport protocol development, specifically for QUIC and HTTP/3. It outlines the need for such a lab to reproduce various network conditions (bandwidth, latency, packet loss), debug protocol behavior, and compare performance against existing protocols like TCP. The post describes the lab's configuration, including the use of Raspberry Pis, x86 hosts, traffic shapers (ipfw + dummynet, netem), and automation scripts for testing. It also highlights the importance of testing on mobile devices and the integration of smartphones into the testbed for real-world performance analysis.

Accelerating UDP packet transmission for QUIC

1/8/2020

This post explores techniques to accelerate UDP packet transmission, specifically for QUIC, by leveraging `sendmmsg()` for batched packet transmission and UDP segmentation offload (GSO) to reduce kernel overhead. It also discusses the challenges of integrating packet pacing with these optimizations.

Prototyping optimizations with Cloudflare Workers and WebPageTest

1/8/2020

This post introduces a novel approach to prototyping and testing web performance optimizations by combining Cloudflare Workers and WebPageTest. It details how Cloudflare Workers can act as programmable proxies to intercept and modify requests and responses at the edge, and how WebPageTest's `overrideHost` command can redirect traffic through these workers. The post demonstrates practical use cases such as testing the performance benefits of single-connection loading, self-hosting third-party scripts using HTMLRewriter, request mangling with delays, and implementing custom HTTP/2 prioritization schemes. This significantly lowers the barrier to experimentation and innovation in web performance.

2019

Adopting a new approach to HTTP prioritization

12/31/2019

This post announces the adoption of the "Extensible Prioritization Scheme for HTTP" by the IETF HTTP Working Group, a new approach to HTTP prioritization. It details the limitations of HTTP/1.1 and HTTP/2 prioritization, introduces the new scheme which uses absolute weighting via an HTTP header instead of dependencies, and highlights Cloudflare's role in its development and co-editorship. This represents a significant step in standardizing more effective HTTP prioritization for better web performance.

An Update on CDNJS

12/19/2019

This post details Cloudflare's increased involvement in managing CDNJS, a popular Content Delivery Network for JavaScript libraries. It highlights how CDNJS contributes to website performance by serving common libraries from a single, cached location, and explains Cloudflare's role in supporting CDNJS's infrastructure and operations to prevent service disruption. This directly relates to website content optimization by ensuring the reliable and performant delivery of essential web assets.

A History of HTML Parsing at Cloudflare: Part 1

11/28/2019

This post details the evolution of HTML parsing and rewriting at Cloudflare, starting with ad-hoc parsers for email obfuscation and minification, and progressing to a spec-compliant HTML parser (lazyhtml) and a streaming HTML rewriter (lol-html) for Cloudflare Workers. It highlights the technical challenges of low-latency, high-throughput, and memory-constrained parsing at the edge, contrasting it with browser-based parsing. The post introduces the concept of streaming HTML rewriters and their application in solving problems like mixed content.

Experiment with HTTP/3 using NGINX and quiche

10/17/2019

This post introduces a patch for NGINX that allows users to integrate Cloudflare's implementation of HTTP/3 and QUIC. This enables individuals and organizations to build and run their own HTTP/3 servers, facilitating experimentation and adoption of the new protocol beyond Cloudflare's edge network.

HTTP/3: the past, the present, and the future

9/26/2019

This post announces the general availability of QUIC and HTTP/3 support on the Cloudflare edge network, marking a significant advancement in web performance and reliability. It details the evolution from HTTP/1.0 and HTTP/1.1's limitations (connection overhead, head-of-line blocking) through HTTP/2's stream multiplexing, to HTTP/3's solution using QUIC over UDP. This enables independent stream delivery, faster connection establishment by combining transport and TLS handshakes, and user-space implementation for quicker updates.

WARP is here (sorry it took so long)

9/25/2019

This post announces the public release of WARP and WARP+, a mobile application designed to secure all of a phone's internet traffic using Cloudflare's global network and the WireGuard protocol. It details the reasons for the delayed release, highlighting technical challenges encountered in securing mobile connections without impacting performance or battery life. The post also explains the difference between the free WARP service and the paid WARP+ offering, which leverages Cloudflare's Argo network for enhanced speed, and reiterates Cloudflare's commitment to user privacy.

Inside the Web Browser’s Performance API

9/24/2019

This post introduces Cloudflare's Browser Insights product, which leverages the browser's native Performance API (specifically Navigation Timing, Resource Timing, and Paint Timing) to provide real-user monitoring. It explains how these browser-level metrics are collected and presented in the Cloudflare dashboard, allowing users to diagnose performance bottlenecks from the end-user's perspective. It also outlines future plans to incorporate more detailed metrics and error tracking.

Introducing Browser Insights

9/24/2019

This post introduces Browser Insights, a new tool for Real User Monitoring (RUM). It allows users to measure website performance from the perspective of actual end-users, addressing the limitations of server-side data or single-machine measurements. Browser Insights collects timing information using the browser's Performance API, providing request-level and page-level metrics, and allows filtering by dimensions like URL and Country. This enables users to identify and diagnose performance bottlenecks affecting specific user segments or pages, such as the e-commerce example illustrating slow load times in Peru.

On the recent HTTP/2 DoS attacks

8/13/2019

This post details Cloudflare's proactive protection against a set of HTTP/2 Denial of Service (DoS) vulnerabilities (CVE-2019-9511 through CVE-2019-9518). It highlights that Cloudflare customers were immediately protected due to the company's use of NGINX and its rapid patching and mitigation efforts, demonstrating a commitment to securing content delivery even against emerging protocol-level threats.

Cloudflare Repositories FTW

5/30/2019

This post details how Cloudflare's caching and content delivery capabilities were leveraged and extended to support the unique needs of the Kali Linux project. It highlights the implementation of cache tags and API-driven purging for dynamic apt repository metadata, and the crucial development of support for caching very large files (like OS images) which significantly reduced origin server load and improved download performance for users. This demonstrates an evolution in Cloudflare's ability to handle complex, high-bandwidth distribution scenarios for open-source projects.

NGINX structural enhancements for HTTP/2 performance

5/22/2019

This post details significant structural enhancements made to NGINX to improve HTTP/2 performance, specifically for Cloudflare's Enhanced HTTP/2 Prioritization product. It introduces the concept of 'Potential' to measure how effectively prioritization strategies can be applied to queued data streams. Key contributions include the implementation of HTTP/2 frame write queue reclamation, allowing unwritten frames to re-enter prioritization cycles, and the re-ordering of HTTP/2 frame write events to ensure frames from different streams are in closer proximity, thereby increasing prioritization potential.

One more thing... new Speed Page

5/20/2019

Introduced a new Speed Page on the Cloudflare dashboard to provide customers with a clearer understanding of their website's performance. This includes visual comparisons of website loading with and without Cloudflare, estimated improvements from enabling performance features, and detailed reports on desktop and mobile performance. The Speed Page leverages WebPageTest metrics like First Contentful Paint (FCP), First Meaningful Paint (FMP), Speed Index, and Time to Interactive (TTI) to quantify user experience. It also provides specific performance gains expected from enabling features like Rocket Loader, Mirage, and enhanced HTTP/2 prioritization, along with a new 'TCP Turbo' feature for automatic TCP setting optimization.

Faster script loading with BinaryAST?

5/17/2019

This post introduces the concept of BinaryAST, a proposed over-the-wire format for JavaScript that aims to significantly speed up parsing and reduce cold start times for web applications. It details the challenges of JavaScript parsing, such as hoisting and lazy parsing, and explains how BinaryAST addresses these by providing a binary representation of the Abstract Syntax Tree (AST) with pre-analyzed scope information. The post also highlights Cloudflare's role in enabling the use of BinaryAST encoders with Cloudflare Workers to gather real-world data on its impact.

Announcing Cloudflare Image Resizing: Simplifying Optimal Image Delivery

5/15/2019

Introduced Cloudflare Image Resizing, a new product that allows customers to resize, crop, compress, and convert images to WebP format on the fly. This feature can be used via a URL path or within Cloudflare Workers, enabling dynamic image optimization without requiring manual image manipulation or storage of multiple variants. This complements existing image optimization tools like Polish and Mirage by providing developers with direct control over image transformations.

Parallel streaming of progressive images

5/14/2019

This post introduces a novel approach to website content optimization by combining progressive image rendering with HTTP/2 multiplexing. It details how Cloudflare leverages HTTP/2 prioritization to stream image data in parallel, prioritizing headers and low-detail previews before delivering the full image. This significantly improves perceived image load times and overall page rendering speed, offering a more stable user experience without requiring JavaScript or additional data.

Better HTTP/2 Prioritization for a Faster Web

5/14/2019

This post introduces 'Enhanced HTTP/2 Prioritization' for paid plans, allowing site owners to control resource loading order and override browser defaults for improved performance. It details the complexities of web page resource loading, explains optimal resource ordering strategies, and contrasts them with current browser prioritization limitations. The post also highlights how Cloudflare Workers can be used for further customization of this feature.

Announcing AMP Real URL

4/17/2019

This post introduces 'AMP Real URL', a new feature that addresses user confusion and brand integrity issues with Accelerated Mobile Pages (AMP). It allows AMP pages served from caches to display the original website URL by cryptographically signing the content, thereby enhancing brand protection, simplifying analytics, and improving the user experience by eliminating the 'grey bar' and ensuring content authenticity. This represents an evolution in optimizing the mobile web experience.

SEO Best Practices: Subdomains vs. Subdirectories

2/15/2019

This post introduces the technical and SEO implications of using subdomains versus subdirectories for organizing website content. It explains how subdirectories can consolidate keyword authority and backlinks to the root domain, thereby improving SEO, while subdomains treat content as separate entities, potentially diluting SEO efforts. The post also highlights how Cloudflare Workers can be used to implement subdirectory structures even when content is hosted on remote services, bridging the gap between technical setup and SEO best practices.

Better business results from faster web applications - Cloudflare is the fastest

2/6/2019

This post highlights the direct impact of Cloudflare's performance optimizations on business results, citing studies on conversion rate loss due to slow load times. It provides specific performance metrics from Cedexis and DNSPerf demonstrating Cloudflare's speed advantage over competitors for both HTTPS and HTTP traffic, as well as authoritative and public DNS resolution. It also showcases customer success stories (Zendesk, OKCupid, U.S. Xpress, Bidu) and details key Cloudflare services (Argo, CDN, DNS, Load Balancing, Web Optimizations) that contribute to these performance gains and business outcomes.

HTTP/3: From root to tip

1/24/2019

This post details the evolution of the HTTP protocol, culminating in the development of HTTP/3. It explains how HTTP/3 is built upon the QUIC transport protocol and traces the lineage of web protocols from HTTP/0.9 through HTTP/1.1 and HTTP/2. The post highlights the standardization process within the IETF and the importance of 'rough consensus and running code' in developing internet standards, providing context for the development of HTTP/3 as a significant advancement in web performance.

Enjoy a slice of QUIC, and Rust!

1/22/2019

This post introduces Cloudflare's open-source implementation of the QUIC protocol, named 'quiche', written in Rust. It details the design principles of quiche, its integration with BoringSSL for TLS 1.3 and ring for cryptographic primitives, and its ability to interoperate with other QUIC implementations. This marks an advancement in Cloudflare's efforts to accelerate web traffic through next-generation transport protocols.

2018

Improving HTML Time to First Byte

12/24/2018

This post introduces a significant advancement in website content optimization by addressing the critical issue of Time to First Byte (TTFB) for HTML. It details a new zero-config edge caching mechanism for HTML, enabled by custom HTTP headers exchanged between the origin and Cloudflare's edge. This allows for dynamic content to be cached at the edge, drastically reducing TTFB and origin load, especially for anonymous users. It also showcases the implementation using Cloudflare Workers and Workers KV for intelligent cache management and global purging, providing a more automated and efficient solution.

Mejoramos el tiempo hasta el primer byte de HTML

12/24/2018

This post introduces a significant advancement in website content optimization by detailing Cloudflare's implementation of zero-configuration HTML edge caching. It explains how HTTP headers are used to automatically cache HTML content at the edge, drastically reducing Time To First Byte (TTFB) for anonymous users. The post also covers how to handle logged-in users and cache invalidation through these headers, and provides a practical example with a WordPress plugin and Cloudflare Workers, demonstrating a new, automated approach to performance optimization.

Traffic Acceleration with Cloudflare Mobile SDK

12/13/2018

This post introduces the Cloudflare Mobile SDK with a 'Traffic Acceleration' feature. It explains how the SDK replaces traditional TCP with a custom UDP-based transport protocol to overcome TCP's limitations and ossification, leading to reduced latency and improved throughput for mobile applications. It also highlights early results showing performance gains and increased conversions for apps using this feature.

The truth about Black Friday and Cyber Monday

12/11/2018

This post analyzes traffic data from Cloudflare's network during Black Friday and Cyber Monday in 2018. It demonstrates that while overall internet traffic doesn't show significant spikes, e-commerce specific traffic experiences substantial increases in page views and checkout interactions. The analysis also highlights differences in mobile vs. desktop usage for browsing versus purchasing, and explores the international adoption of these shopping days, providing valuable insights for retailers to optimize their online performance and infrastructure.

Fast Google Fonts with Cloudflare Workers

11/22/2018

This post introduces a novel application of Cloudflare Workers for optimizing the performance of Google Fonts. It details how Workers can be used to embed Google Fonts CSS directly into HTML and proxy font files from the edge, significantly reducing the number of round trips required for font loading. This dramatically improves page load times and ensures correct font rendering, showcasing a new capability in edge-based content optimization for third-party resources.

Bandwidth Alliance Partners - Exciting Choices

11/15/2018

This post introduces the Cloudflare Bandwidth Alliance partner program, highlighting its value in enabling customers to access cloud resources at zero-egress rates. It details how Cloudflare approaches solution design for clients, using a specific example of a large client's storage needs (high volume, high read requests, S3 API compatibility, cost management) to filter and select appropriate partners. This expands the scope of website content optimization to include cost-effective data delivery and storage solutions through strategic partnerships.

A Question of Timing

10/17/2018

This post contributes to the understanding of website performance by dissecting the measurement of Time To First Byte (TTFB) using cURL and Chrome. It provides a detailed breakdown of the timing components within these tools, illustrating how they map to network and application-level events. The post clarifies the limitations of TTFB as a sole indicator of user experience and highlights the importance of considering the full page load and interactivity.

Optimizing HTTP/2 prioritization with BBR and tcp_notsent_lowat

10/12/2018

This post details how Cloudflare optimizes HTTP/2 prioritization by tuning the Linux kernel's network stack. It introduces the importance of BBR congestion control and setting tcp_notsent_lowat to 16KB to minimize TCP send buffer sizes. This allows for more nimble interruption of lower-priority responses by higher-priority ones, significantly reducing end-user latency.

Mapping Factorio with Leaflet

10/10/2018

This post details how Cloudflare Workers were used to optimize the hosting and delivery of large, image-intensive Leaflet maps for the game Factorio. It highlights the use of a multi-tier object storage strategy (Google Cloud Storage for frequently accessed, high-zoom levels and Backblaze B2 for less frequently accessed, lower-zoom levels) orchestrated by Cloudflare Workers to reduce latency and cost. It also showcases the use of Cloudflare Argo for further latency reduction for international users and the integration of custom analytics for subrequest tracking.

Get a head start with QUIC

9/25/2018

This post marks Cloudflare's early beta deployment of QUIC, a new UDP-based transport layer protocol. It highlights Cloudflare's history of adopting emerging standards like HTTP/2 and TLS 1.3, and demonstrates how to test QUIC with a custom client. The post details the technical advantages of QUIC, such as the combined transport and TLS handshake for reduced latency, and its mechanisms for mitigating amplification and DDoS attacks, positioning it as a key future optimization for web content delivery.

The QUICening

9/25/2018

This post introduces and explains the QUIC protocol as a significant advancement in internet transport protocols, aiming to solve the limitations of TCP and HTTP/2, particularly in mobile and lossy network conditions. It details QUIC's use of UDP, its built-in end-to-end encryption, forward-error correction, and its ability to overcome head-of-line blocking and reduce connection establishment latency. The post also highlights Cloudflare's early adoption and support for QUIC, encouraging users to test and join its early access program.

Using Edge-Side Includes with Workers for High Availability

8/28/2018

This post introduces the implementation of Edge Side Includes (ESI) using Cloudflare Workers to achieve high availability during backend migrations. It details how Workers can be used to partially replace parts of a website with a new frontend, rendering components from different sources and providing fallbacks to a legacy system (WordPress) if fragments fail to load. This enhances the ability to perform large-scale rewrites with minimal interruption and improved resilience.

How we scaled nginx and saved the world 54 years every day

7/31/2018

This post details significant optimizations made to Cloudflare's NGINX configuration to address performance bottlenecks related to disk I/O. It explains how blocking read operations on disk can stall the event loop, impacting overall request latency. The post highlights the successful implementation of `SO_REUSEPORT` and, more critically, moving `open()` and `read()` operations to thread pools to prevent blocking the event loop. These changes resulted in a substantial improvement in peak TTFB and an estimated saving of 54 years of user waiting time per day.

Q2 FY 18 Product Releases, for a better Internet “end-to-end”

7/26/2018

This post details several Q2 FY18 product releases that enhance website content optimization. Key contributions include the introduction of Stream Delivery for efficient video content delivery, significant upgrades to Rocket Loader for improved paint times and mobile support, and the implementation of Dynamic Steering in Load Balancers for optimized origin selection based on RTT. It also highlights enhancements to Rate Limiting with new actions and triggers, and the deprecation of older TLS versions for improved security, alongside support for new DNS record types and improved cache purge-by-tag functionality.

The Road to QUIC

7/26/2018

This post introduces QUIC (Quick UDP Internet Connections) as a new encrypted-by-default Internet transport protocol designed to replace TCP and TLS. It details QUIC's key features, including built-in security and performance improvements through combined handshakes, encryption of metadata to combat ossification, and independent stream delivery to mitigate head-of-line blocking. The post also highlights the challenges in supporting QUIC, such as NAT rebinding and connection migration issues, and introduces connection IDs as a solution. It also touches upon QPACK for header compression in the context of QUIC's independent stream delivery.

I Wanna Go Fast - Load Balancing Dynamic Steering

7/21/2018

This post introduces 'Dynamic Steering' for Cloudflare Load Balancing, an enterprise-only feature that intelligently directs traffic to the fastest origin pool for a given Cloudflare region. It addresses the limitations of manual geo-steering by introducing a system to measure and distribute origin pool speed data globally. The post details the technical implementation, including the use of Exponential Weighted Moving Average (EWMA) to calculate pool Round Trip Time (RTT) and a custom in-house key-value store for efficient data propagation across Cloudflare's network.

Too Old To Rocket Load, Too Young To Die

7/4/2018

This post details the re-engineering of Cloudflare's Rocket Loader product. It explains the historical context of JavaScript blocking page rendering, the evolution of solutions including previous versions of Rocket Loader, and the shortcomings of the old implementation (CSP/SRI non-compliance, XSS persistence, mobile incompatibility). The new architecture is described, focusing on executing blocking scripts after page load. The server-side component uses CF-HTML to rewrite script tags with a nonce, and the client-side component manages script loading and execution in two passes to simulate browser behavior, handling different script types (inline, external blocking, defer, async) manually. The goal is to improve perceived page load metrics and user engagement by unblocking page parsing.

We have lift off - Rocket Loader GA is mobile!

6/1/2018

This post announces the General Availability (GA) of Rocket Loader, a JavaScript optimization feature that asynchronously loads JavaScript to improve page load times and user perception of speed. It details how Rocket Loader prioritizes content rendering by temporarily hiding JavaScript, allowing the browser to parse HTML and render content first. The post highlights improvements in mobile device compatibility (over 93%), reduced script size (2.3KB), and better adherence to Content Security Policies (CSP). Performance improvements are demonstrated with Lighthouse audits and A/B testing results showing a median reduction of 0.93 seconds in Time To First Contentful Paint (TTFCP) on www.cloudflare.com.

Getting started with Terraform and Cloudflare (Part 2 of 2)

4/30/2018

This post introduces the use of Terraform for managing Cloudflare configurations, specifically focusing on enhancing website reliability and performance. It details how to add multiple DNS records for origins, transition from basic DNS round-robin to Cloudflare's Load Balancing product, and configure health checks, origin pools, and the load balancer itself. This demonstrates a move towards programmatic management of advanced traffic routing and failover capabilities, complementing existing optimization features.

Getting started with Terraform and Cloudflare (Part 1 of 2)

4/27/2018

This post introduces the Cloudflare Terraform provider, enabling developers to manage Cloudflare configurations (DNS records, zone settings, rate limiting, load balancing, page rules) as code. It highlights the benefits of using Terraform for configuration management, including version control, peer review, and rollback capabilities, marking a significant step in programmatic control of Cloudflare services.

NEON is the new black: fast JPEG optimization on ARM server

4/13/2018

This post details the optimization of the jpegtran library for ARM processors using NEON SIMD instructions. It addresses a significant performance regression observed on ARM compared to Intel CPUs and demonstrates how applying NEON intrinsics, similar to previous SSE optimizations, can achieve over 2X speedup in JPEG optimization, bringing ARM performance closer to that of Xeon processors for the Polish image optimization service.

How we made our page-load optimisations even faster

2/2/2018

This post details significant performance improvements made to Mirage and Rocket Loader, two key page-load optimization products. The improvements focused on modernizing their JavaScript loading mechanisms, moving away from older AMD patterns and `document.write` to more browser-friendly, Rollup-based ECMAScript modules. This resulted in faster loading times for users, reduced JavaScript file sizes, and better integration with browser preload scanning, ultimately enhancing the overall website content optimization capabilities.

Deprecating SPDY

1/18/2018

This post details the deprecation of the SPDY protocol, which Cloudflare had previously supported to offer performance benefits before HTTP/2 was standardized. It highlights the transition from SPDY to HTTP/2, emphasizing Cloudflare's role in bridging this gap for customers and the subsequent decision to sunset SPDY due to its declining usage and the engineering costs associated with maintaining support for a legacy protocol.

2017

The end of the road for Server: cloudflare-nginx

12/11/2017

This post details a significant internal architectural shift in Cloudflare's edge stack, moving away from a heavy reliance on NGINX for core request handling. It marks the deprecation of the `Server: cloudflare-nginx` header in favor of a simpler `Server: cloudflare` header, reflecting the increasing use of custom-built components like RRDNS and Lua, and the strategic deprecation of specific NGINX instances. This evolution signifies a move towards greater control and customization of their core infrastructure, reducing dependency on specific third-party software.

Want to try Warp? We just enabled the beta for you

11/23/2017

This post introduces 'Warp' (later renamed Argo Tunnel), a new capability that allows users to expose locally running web servers to the internet securely without opening firewall ports or needing a public IP address. It establishes an encrypted tunnel to the Cloudflare network, enabling features like applying access policies and authentication before requests reach the origin. The post also details Warp's integration with load balancing, automated Docker deployment, and a beta feature for requiring user authentication, significantly expanding the platform's ability to manage and secure origin servers.

Cloudflare’s Super Secret Plan, or why we acquired Neumob

11/14/2017

This post details the acquisition of Neumob, a company specializing in mobile app acceleration and error reduction on challenging mobile networks. This acquisition signifies Cloudflare's strategic expansion to optimize mobile application traffic, extending its global network and security benefits to mobile apps through specialized SDKs and optimized protocols, complementing existing web and server optimization efforts.

Code Everywhere: Why We Built Cloudflare Workers

9/29/2017

This post introduces Cloudflare Workers, a new capability that allows developers to run JavaScript code directly on Cloudflare's global network, close to end-users. This extends website content optimization beyond static asset caching and security processing to include dynamic application logic at the edge, addressing the latency limitations imposed by the speed of light and creating a third place for code execution between devices and traditional servers. It signifies a shift from Cloudflare being a service to a platform.

Introducing Cloudflare Workers: Run JavaScript Service Workers at the Edge

9/29/2017

This post introduces Cloudflare Workers, a new capability that allows developers to run JavaScript service workers directly on Cloudflare's edge network. This enables custom logic for request and response manipulation, dynamic content modification, and advanced caching strategies, significantly expanding the possibilities for website content optimization beyond static caching and pre-defined rules.

Down the Rabbit Hole: The Making of Cloudflare Warp

9/28/2017

This post introduces Cloudflare Warp (later renamed Argo Tunnel), a new tunneling solution that punches holes through firewalls and NAT to provide secure and easy passage for HTTP traffic to origin servers. It leverages HTTP/2 for multiplexing and header compression, integrates with Argo for optimized routing within Cloudflare's network, and provides redundancy through multiple tunnel connections. It also complements Load Balancing by offering enhanced health and performance monitoring of tunnel connections.

How Cloudflare Streams

9/27/2017

This post introduces Cloudflare Stream, a new end-to-end video solution. It details the technical implementation of video streaming optimization, covering resumable uploads using the Tus protocol, multi-codec encoding strategies for broad browser support, and adaptive streaming techniques (HLS and MPEG-DASH) leveraging Cloudflare's global network to dynamically assign data centers for cost-effective delivery. It also highlights the integration of Stream as an app within the Cloudflare Apps platform.

Introducing Cloudflare Stream: Fixing the Streaming Video Market

9/27/2017

This post introduces Cloudflare Stream, a new product designed to address the complexities and inefficiencies in the video streaming market. It integrates encoding, global delivery, and player functionality into a single package with simplified, consumption-based pricing. This marks a significant expansion of Cloudflare's content optimization capabilities to include specialized video streaming solutions.

Broken packets: IP fragmentation is flawed

8/18/2017

This post delves into the complexities of IP fragmentation, a fundamental network layer issue that impacts reliable data transfer. It explains the problems associated with IP fragmentation, such as packet loss, resource waste, and security vulnerabilities. The post highlights the importance of Path MTU discovery and the challenges posed by network middleboxes and routing configurations (like ECMP and Anycast) that often interfere with ICMP messages, leading to 'PMTU black holes'. This directly contributes to the broader goal of ensuring efficient and reliable content delivery by addressing underlying network protocol issues.

The Languages Which Almost Became CSS

8/2/2017

This post explores the history of styling languages for the web, detailing early proposals like RRP, ViolaWWW's stylesheet language, FOSI, and DSSSL, which predated and competed with CSS. It highlights features from these languages that are still desired in modern CSS, such as columnar layouts and more expressive nesting. The post also touches on the evolution of Cloudflare Apps, which originated from Eager, a company that likely dealt with web styling and content optimization.

Introducing Argo — A faster, more reliable, more secure Internet for everyone

5/18/2017

This post introduces Argo, a new product that enhances website content optimization through two core features: Smart Routing and Tiered Cache. Smart Routing dynamically optimizes internet traffic paths in real-time, akin to a Waze for internet traffic, to reduce latency and connection errors. Tiered Cache leverages Cloudflare's global network to improve cache hit ratios and reduce origin server load by first checking other Cloudflare PoPs for content before contacting the origin. Argo also enhances security by encrypting traffic between Cloudflare data centers.

Introducing Load Balancing & Intelligent Failover with Cloudflare

5/14/2017

This post introduces Cloudflare's Load Balancing and Intelligent Failover service, making it available to all customers. It highlights the ability to route requests between multiple origins for performance and resilience, especially across different geographic locations and cloud providers. A key contribution is the near-instantaneous failover for proxied traffic, overcoming the limitations of DNS-based load balancing and TTL propagation delays. The post also emphasizes the service's robustness against DDoS attacks and its active/passive monitoring capabilities for origin health.

Introducing Zero Round Trip Time Resumption (0-RTT)

3/15/2017

This post introduces Zero Round Trip Time Resumption (0-RTT) as a performance-enhancing feature for TLS 1.3. It explains how 0-RTT reduces the number of round trips required for establishing secure connections, particularly for resumed connections, leading to faster website loading times. The post details the latency costs of network transmission and HTTPS handshakes, and quantifies the performance gains of TLS 1.3 with 0-RTT compared to previous TLS versions. It also discusses browser support and provides a live demo to showcase the feature's impact.

An AMP validator you can cURL

3/8/2017

Introduced an AMP linter API that allows developers to validate AMP pages before deployment. The API supports sending live URLs or raw HTML content, and provides detailed error messages with links to AMP documentation for invalid markup. This tool can be integrated into build and CI/CD workflows.

Introducing Accelerated Mobile Links: Making the Mobile Web App-Quick

1/12/2017

Introduced Accelerated Mobile Links, a feature that automatically identifies links to AMP content on a customer's site. When a link is clicked from a mobile device, it loads the AMP content nearly instantly, improving user engagement by keeping visitors on the original site. Cloudflare also provides a compliant non-Google AMP cache and is developing features to address publisher and end-user concerns regarding AMP, such as easier sharing of AMP content using original domains and opt-out options for desktop visitors.

2016

So you want to expose Go on the Internet

12/26/2016

This post details how to expose pure Go services directly to the internet, moving away from the traditional reliance on reverse proxies like NGINX. It provides specific guidance on tuning `crypto/tls` for optimal security and performance (e.g., `PreferServerCipherSuites`, `CurvePreferences`, `MinVersion`, `CipherSuites`) and leveraging `net/http` with proper timeouts (`ReadTimeout`, `WriteTimeout`, `IdleTimeout`) and `ServeMux` configurations. It also highlights improvements in Go 1.8 for HTTP/2 handling and the use of `acme/autocert` for Let's Encrypt certificates, all contributing to making Go applications more robust and secure for direct internet exposure.

A Very WebP New Year from Cloudflare

12/21/2016

Introduced WebP conversion as an enhancement to the Polish image optimization feature. This allows Polish to convert images to the WebP format when the browser supports it and the conversion results in a smaller file size. The post details the benefits of WebP, its versatility, and provides performance data comparing Polish with and without WebP conversion across different image formats (JPEG, PNG, GIF).

HPACK: the silent killer (feature) of HTTP/2

11/28/2016

This post details the implementation and benefits of HPACK header compression for HTTP/2. It explains how HPACK, unlike previous compression methods, is resilient to attacks like CRIME and uses static and dynamic dictionaries along with Huffman encoding to achieve significant compression ratios for both request and response headers. The post quantifies these savings, showing a 76% compression for ingress headers and a 53% reduction in total ingress traffic, and a 69% compression for egress headers, contributing to overall performance improvements.

Cloudflare Traffic Manager: The Details

9/29/2016

This post introduces Cloudflare Traffic Manager, a new capability focused on advanced traffic management. It details the monitoring and load-balancing features, emphasizing its ability to provide fast failover (seconds), per-data center decision making, and integration with Cloudflare's Anycast DNS infrastructure. The post highlights flexible configuration options for load balancing, failover (including cross-cloud provider support), and geo-steering, and explains how Cloudflare itself uses Traffic Manager for its website. It also announces an Early Access program for the feature.

Fixing the mixed content problem with Automatic HTTPS Rewrites

9/22/2016

This post introduces the "Automatic HTTPS Rewrites" feature, which addresses the "mixed content" problem. It explains the dangers of mixed content (active and passive) and how it prevents websites from achieving full HTTPS security. The post details Cloudflare's solution to automatically rewrite HTTP resource links to HTTPS, making it easier for websites to transition to a fully secure HTTPS experience without manual intervention or broken links.

Opportunistic Encryption: Bringing HTTP/2 to the unencrypted web

9/21/2016

This post introduces Opportunistic Encryption, a new capability that allows non-HTTPS websites to leverage the performance benefits of HTTP/2 by establishing an encrypted connection. It addresses the challenge of mixed content that prevents full HTTPS migration and provides a security layer by encrypting traffic between the browser and Cloudflare, even if the origin server is not fully secured. This extends the reach of HTTP/2 performance improvements to a wider range of websites.

Encryption Week

9/20/2016

This post, "Encryption Week," marks a significant advancement in Cloudflare's commitment to encryption and performance. It introduces three key features: TLS 1.3 for faster and more secure connections, Automatic HTTPS Rewrites to automatically fix mixed content issues and enable HTTPS adoption, and Opportunistic Encryption to bring HTTP/2 benefits to unencrypted HTTP sites. These features collectively aim to accelerate the transition to an encrypted internet, enhancing both security and load times for all customers.

Evenly Distributed Future

8/22/2016

This post highlights Cloudflare's commitment to making cutting-edge internet technologies (like HTTP/2, IPv6, and Brotli) available to all websites, regardless of size. It emphasizes how Cloudflare abstracts away the complexity of adopting these new protocols and security measures, allowing customers to benefit from them without needing to manage hardware or software updates, thereby democratizing access to advanced web performance and security.

Accelerating Node.js applications with HTTP/2 Server Push

8/16/2016

This post introduces `netjet`, a Node.js middleware that enables developers to leverage HTTP/2 Server Push by automatically parsing HTML and adding `Link` headers for preloading images, scripts, and stylesheets. It also details how to integrate `netjet` with Express applications and the Ghost blogging platform, and provides methods for verifying Server Push implementation in browsers.

HTTP/2 Server Push with multiple assets per Link header

6/30/2016

This post details the enhancement of Cloudflare's HTTP/2 Server Push implementation. It addresses a previous restriction by enabling the pushing of multiple assets within a single `Link` header, a crucial improvement for CMS and web development platforms. Additionally, it introduces the `Cf-H2-Pushed` header for better debugging of pushed assets.

Secure and fast GitHub Pages with CloudFlare

6/14/2016

This post details how to integrate Cloudflare with GitHub Pages and static site generators (like Jekyll and Hugo) to enhance website performance and security. It highlights the use of Cloudflare's Universal SSL to enable HTTPS on custom domains for GitHub Pages, thereby unlocking HTTP/2 benefits. It also explains how to configure DNS, enforce HTTPS, and utilize the "Cache Everything" Page Rule for static content, extending Cloudflare's optimization capabilities to a new class of hosting platforms.

Optimizing TLS over TCP to reduce latency

6/10/2016

This post introduces an optimization for TLS over TCP to reduce latency. It explains how the layering of TLS on top of TCP can cause delays due to fixed record sizes and TCP's congestion control mechanisms. Cloudflare has developed and open-sourced an NGINX patch that enables dynamic TLS record sizes, allowing them to adjust record sizes based on connection state (e.g., during TCP slow start or when segments are lost) to improve performance. This represents a deeper dive into network protocol optimization for content delivery.

Using HTTP/2 Server Push with PHP

5/13/2016

This post details how to implement HTTP/2 Server Push using PHP by adding `Link` headers to HTTP responses. It demonstrates a practical example of pushing images to a browser, showing a significant reduction in page load time (from 651ms to 251ms) through waterfall analysis and internal Chrome network logs. The post encourages experimentation with Server Push for various resource types and highlights its effectiveness when pushed resources are already cached by Cloudflare.

Open sourcing our NGINX HTTP/2 + SPDY code

5/13/2016

This post details Cloudflare's decision to open-source its modifications to NGINX, allowing it to support both SPDY and HTTP/2 concurrently. It provides the patch, configuration instructions, and testing methods, directly contributing to the broader adoption and understanding of these advanced web protocols.

Announcing Support for HTTP/2 Server Push

4/28/2016

This post announces and details Cloudflare's implementation of HTTP/2 Server Push for all customers. It explains the benefits of Server Push for performance, how it works with `PUSH_PROMISE` and `Link` headers, and provides guidance on enabling and disabling it. The post also discusses best use cases, potential downsides, and how to profile Server Push performance using browser developer tools, highlighting Cloudflare's role as a pioneer in deploying this feature at scale.

The curious case of slow downloads

4/11/2016

This post details a specific bug encountered with slow downloads of large binary files, primarily affecting mobile users. It describes the investigation process, identifying the root cause in NGINX's `send_timeout` and `reset_timedout_connection` settings, and crucially, the underlying Linux kernel behavior regarding socket writeability thresholds. The post highlights the asymmetry between socket readability and writeability in Linux and proposes solutions including adjusting timeouts, modifying buffer sizes, or patching NGINX with a `send_minimum_rate` option to better handle slow clients without abruptly terminating connections.

Change the (S)Channel! Deconstructing the Microsoft TLS Session Resumption bug

2/11/2016

This post details a critical bug in Microsoft's SChannel implementation related to TLS session resumption, specifically when Cloudflare refreshed session tickets during abbreviated handshakes. It highlights how this issue caused .NET applications, Internet Explorer, and Edge to either abort connections or downgrade to less secure TLS versions. Cloudflare's investigation and subsequent communication with Microsoft were crucial in resolving this interoperability problem, ensuring a more robust and secure TLS experience for users of Microsoft products connecting to Cloudflare-protected sites.

CloudFlare’s Impact On The HTTP/2 “Universe”

2/3/2016

This post details the impact of Cloudflare's full HTTP/2 support rollout in December 2015. It presents data showing a significant increase in HTTP/2 capable browsers visiting Cloudflare.com and a more than doubling of HTTP/2 traffic on Cloudflare.com itself, surpassing SPDY. The post also highlights Cloudflare's role in driving overall HTTP/2 adoption across the web, significantly increasing the number of websites with 'True Support' for the protocol, and discusses how to enable HTTP/2 for customers.

2015

HTTP/2 Demo: Under the Hood

12/11/2015

This post provides a technical deep-dive into the mechanics of HTTP/2 performance improvements through a demo page. It explains how the demo works by comparing HTTP/1.1 and HTTP/2 CDNs using iframes, details the image tile request process, discusses caching policies, and highlights the automatic SPDY fallback mechanism. It also clarifies that the demo is an idealized scenario to visualize benefits, but that typical websites should still see performance gains with HTTP/2.

HTTP/2 For Web Developers

12/10/2015

This post details the impact of HTTP/2 on web development best practices, highlighting how its features like multiplexing and header compression reduce the need for HTTP/1.1 optimization techniques such as file concatenation, inlining, and domain sharding. It advocates for a new mindset focused on granular resources and optimized caching, while also reinforcing the continued importance of practices like reducing DNS lookups, using CDNs, leveraging browser caching, and minimizing response sizes.

Tools for debugging, testing and using HTTP/2

12/4/2015

This post details the tools and techniques for debugging, testing, and using HTTP/2, a significant advancement in web content optimization. It introduces browser extensions, online testing tools, command-line utilities (like is-http, curl with HTTP/2 support, nghttp2, h2c, openssl s_client, h2i), load testing tools (h2load), and conformance testing tools (h2spec, h2scan). This directly supports the adoption and effective utilization of HTTP/2 by Cloudflare customers.

HTTP/2 is here! Goodbye SPDY? Not quite yet

12/3/2015

This post announces the introduction of HTTP/2 support for all Cloudflare customers using SSL/TLS connections, while maintaining SPDY support. It highlights the performance benefits of both protocols, particularly multiplexing, header compression, and server push, and provides real-world data showing significant page load time improvements with HTTP/2 compared to HTTP/1.x and SPDY. The decision to support both protocols simultaneously is explained by the need to cater to the existing user base still heavily reliant on SPDY, while also enabling newer HTTP/2-capable browsers.

Results of experimenting with Brotli for dynamic web content

10/23/2015

This post introduces and experiments with Brotli, a new compression algorithm developed by Google, as a potential successor to gzip for dynamic web content. It details the underlying principles of LZ77 and Huffman coding, explains the differences between Brotli and deflate (used in gzip), and highlights Brotli's advantages such as a larger sliding window and a static dictionary, suggesting it can lead to better compression ratios and faster website performance.

Doubling the speed of jpegtran with SIMD

10/8/2015

This post details the optimization of the jpegtran image compression tool by leveraging SIMD instructions. It demonstrates how profiling and targeted code improvements, specifically in Huffman coding functions, led to a significant speedup (2.25x) in image processing. This directly contributes to the efficiency of Cloudflare's Polish product, enhancing website content optimization by making image compression faster and more resource-efficient.

Simple Helix chooses CloudFlare to ignite white-hot Magento performance

9/1/2015

This post showcases the tangible performance benefits of Cloudflare's CDN and Railgun optimizer for Magento hosting customers, demonstrating up to 100% speed increases and 143% with Railgun. It also highlights significant bandwidth savings (up to 70% and 83.4%) for clients experiencing traffic spikes during marketing campaigns and sales events, underscoring the platform's ability to handle high-traffic scenarios effectively.

Google PageSpeed Service customers: migrate to CloudFlare for acceleration

5/8/2015

This post highlights Cloudflare's role in accelerating website performance by offering a migration path for users of Google's discontinued PageSpeed Service. It positions Cloudflare as a superior alternative, providing similar performance benefits like minification and image compression, while also emphasizing its broader capabilities in global network acceleration, Railgun, and integrated security features, all available at various plans including Free.

Improving compression with a preset DEFLATE dictionary

3/30/2015

This post explores the use of preset DEFLATE dictionaries to improve compression ratios for web content. It details how this technique, by providing common string references, can significantly reduce payload sizes beyond standard DEFLATE or gzip, especially for HTML content. The post also describes an experiment to create a universal dictionary for all HTML pages served by Cloudflare, aiming to enhance content delivery speed across millions of domains.

Do the ChaCha: better mobile performance with cryptography

2/23/2015

This post introduces the adoption of ChaCha20-Poly1305 cipher suites to improve mobile performance for HTTPS connections. It highlights the benefits of this new encryption form for devices lacking hardware AES support, offering faster decryption and better battery life. This addition expands Cloudflare's commitment to leveraging the latest web technologies for faster and more secure browsing, building upon previous optimizations like SPDY and OCSP stapling.

2014

Improving PicoHTTPParser further with AVX2

12/18/2014

This post details the optimization of the PicoHTTPParser using AVX2 instructions, demonstrating a significant performance improvement (1.68x-1.79x) in parsing HTTP requests. This showcases Cloudflare's commitment to low-level performance enhancements for its core infrastructure, directly contributing to faster and more efficient web content delivery.

The little extra that comes with Universal SSL

10/6/2014

This post announces the rollout of Universal SSL for all users, which automatically secures sites over HTTPS. Crucially, it highlights that this enables the use of the SPDY protocol (specifically SPDY/3.1) for all Cloudflare sites, further enhancing website performance by allowing browsers to query for multiple objects in one request and stream them as ready. This directly ties SSL adoption to performance gains through protocol optimization.

DIY Web Server: Raspberry Pi + CloudFlare

8/19/2014

This post describes a customer's use of Cloudflare's CDN and security services to host a website on a Raspberry Pi. It details the hardware setup for the Raspberry Pi web server and the configuration steps, including port forwarding and integrating Cloudflare. The post highlights how Cloudflare's services enable low-power devices to serve websites by handling load, speeding up content, and providing security.

Experimenting with mozjpeg 2.0

7/29/2014

This post details the integration and evaluation of mozjpeg 2.0 into Cloudflare's Polish service for automatic image optimization. It highlights mozjpeg 2.0's superior compression ratios and success rate compared to libjpeg-turbo, while also noting its increased processing time. Cloudflare's commitment to optimizing this process and contributing back to the mozjpeg project is also emphasized.

Eliminating the last reasons to not enable IPv6

6/5/2014

This post addresses a key barrier to IPv6 adoption: legacy software that assumes an IPv4-only world. It introduces the 'Pseudo IPv4' feature, which allows websites to enable IPv6 while maintaining compatibility with older systems by adding a pseudo IPv4 address to HTTP headers. This feature is available to all customers, even on the free plan, and aims to eliminate the last reasons for not enabling IPv6.

ECDSA: The digital signature algorithm of a better internet

3/10/2014

This post introduces support for ECDSA (Elliptic Curve Digital Signature Algorithm) certificates for Cloudflare customers. ECDSA offers improved performance and scalability for TLS connections compared to traditional RSA certificates due to smaller key sizes and faster cryptographic operations. This adoption by Cloudflare, starting with their own blog, signifies a move towards more efficient and secure web infrastructure, contributing to faster loading times and reduced server CPU usage.

Staying up to date with the latest protocols: SPDY/3.1

2/17/2014

This post details the rollout of SPDY/3.1, the latest version of the SPDY protocol, for all Cloudflare customers. It highlights the importance of staying current with protocol evolution, explains the technical advancements in SPDY/3 and SPDY/3.1 (specifically flow control), and previews ongoing experimentation with the next-generation QUIC protocol. This demonstrates Cloudflare's commitment to adopting and providing cutting-edge web performance technologies.

2013

Using CloudFlare to mix domain sharding and SPDY

12/26/2013

This post explains the performance implications of domain sharding in the context of SPDY. It details how, with SPDY, domain sharding can actually hurt performance due to the overhead of multiple SSL negotiations. The post then demonstrates a solution: using a single certificate across multiple subdomains allows SPDY to consolidate connections, achieving the benefits of both domain sharding and SPDY. It also highlights Cloudflare's role in making this configuration easy to implement.

Mirage 2.0: Solving the Mobile Browsing Speed Challenge

6/13/2013

Mirage 2.0 introduces image virtualization, storing full-resolution images alongside a significantly reduced-size virtualized version with metadata. This virtualized image is delivered first, allowing for correct DOM sizing and immediate page rendering. It minimizes requests by streaming all images via a single request, similar to Rocket Loader. Full-resolution images are then progressively loaded in the background without causing page reflow. Mirage 2.0 also features a 'Learning Loader' that adapts its aggressiveness based on browser capabilities and network speeds, gathering real-time browsing intelligence for further optimization.

CloudFlare: Fastest Free DNS, Among Fastest DNS Period

1/7/2013

This post highlights Cloudflare's significant investment in and success with optimizing its DNS service, making it one of the fastest globally. It emphasizes the availability of this high-performance DNS even on free plans and announces upcoming improvements (RRDNS) aimed at further increasing speed.

2012

Optimizing Your Linux Stack for Maximum Mobile Web Performance

12/31/2012

This post delves into the technical details of optimizing the Linux TCP stack for mobile web performance. It explains the challenges posed by mobile networks to traditional TCP congestion control algorithms, which are designed for wired networks and can misinterpret mobile network loss as congestion. The post highlights the importance of tuning TCP congestion control algorithms and kernel parameters (like initcwnd) to better handle the lossy nature of mobile connections, thereby improving mobile web performance.

CDNJS: The Fastest Javascript Repo on the Web

12/12/2012

This post details Cloudflare's partnership with CDNJS, a project aimed at providing the fastest Javascript repository on the web. Cloudflare now serves CDNJS resources through its global network, significantly improving load times for popular Javascript libraries and enabling broader adoption of modern web technologies like SSL, SPDY, and IPv6 for these resources. It highlights the importance of a centralized, fast CDN for Javascript and CSS to leverage browser caching and improve overall website performance.

What We Just Did to Make SSL Even Faster

12/11/2012

This post details Cloudflare's efforts to significantly improve SSL/TLS performance. It addresses criticisms regarding suboptimal SSL deployment by introducing an automated system for optimizing SSL certificate bundles. This system intelligently builds the shortest, most secure, and widely supported certificate chains, reducing handshake times and improving overall website performance for HTTPS connections. Cloudflare also committed to open-sourcing its intermediate certificate directory and SSL bundler.

Pushing Nginx to its limit with Lua

12/8/2012

This post introduces the use of Lua scripting with Nginx as a powerful and efficient way to extend Cloudflare's infrastructure. It highlights how Lua allows for custom logic to be embedded directly within Nginx, enabling advanced features like request processing, logging aggregation, and potentially content manipulation without the need for separate applications or custom C modules. This demonstrates a move towards more flexible and performant on-server processing for website optimization.

Efficiently compressing dynamically generated web content

12/6/2012

This post delves into the challenge of efficiently compressing dynamically generated web content, which is often not cacheable. It highlights the limitations of traditional gzip compression and introduces advanced techniques like Shared Dictionary Compression (SDCH) and Edge Side Includes (ESI) as potential solutions to further reduce page size and latency by leveraging shared content dictionaries. While these advanced methods faced adoption challenges, the post underscores the ongoing effort to optimize the delivery of dynamic content.

OCSP Stapling: How CloudFlare Just Made SSL 30% Faster

10/29/2012

This post introduces OCSP Stapling as a significant performance enhancement for SSL connections. It explains the overhead of traditional OCSP/CRL checks and how OCSP Stapling reduces this by 'stapling' the OCSP response to the SSL handshake, thereby eliminating direct requests to the Certificate Authority and speeding up HTTPS connections by over 30%. This directly contributes to the goal of making websites faster and safer by removing a performance tax on SSL.

WSJ: CloudFlare Named Most Innovative Internet & Networking Company, Second Year in a Row

10/16/2012

This post highlights Cloudflare's recognition as the Most Innovative Internet & Networking Company by the Wall Street Journal for the second consecutive year. It specifically calls out three key innovations that contribute to website content optimization: Rocket Loader, which improves page load times by fetching third-party scripts through a single connection; Railgun, which revolutionizes dynamic content caching by only sending changed portions of a file; and the Automatic IPv6 Gateway, which facilitates the transition to IPv6 and expands the reach of websites.

SPDY Now One-Click Simple for Any Website

8/3/2012

This post announces the general availability of SPDY support for eligible Cloudflare customers, making it a one-click activation. It highlights the benefits of SPDY in speeding up web content delivery and notes that it requires TLS/SSL, thus initially being available to paying customers with SSL enabled, with plans to extend to free customers if SPDY supports non-HTTPS connections in the future.

Stop worrying about Time To First Byte (TTFB)

7/5/2012

This post critically analyzes the metric of Time To First Byte (TTFB), demonstrating through experiments that it can be a misleading indicator of actual page load speed, particularly when optimizations like gzip compression are applied. It highlights that TTFB can be negatively correlated with download time, and that Cloudflare's focus is on optimizing the real end-user page visibility time, not just TTFB. The post also mentions the development of tools to monitor end-user experience.

Thoughts on the AWS outage: making the cloud more resilient to failure

6/30/2012

This post introduces the concept of a distributed 'Front End layer' as a core component of Cloudflare's offering, distinct from 'Data & Application' cloud services. It highlights how this distributed front-end architecture contributes to resilience by isolating failures to smaller parts of the system and enabling graceful failover, contrasting it with the challenges of data synchronization in the 'Data & Application' layer. The post uses the AWS outage as a catalyst to explain the benefits of Cloudflare's approach to scaling and fault tolerance.

Why mobile performance is difficult

6/28/2012

This post highlights the significant challenges in mobile network performance due to high latency and packet variability, which negatively impact TCP's congestion avoidance mechanisms. It explains how packet loss on mobile networks is often due to environmental factors rather than congestion, causing TCP to incorrectly slow down connections. The post also touches on packet reordering issues during mobile handoffs. Cloudflare's contribution is presented as a solution by customizing TCP stack parameters on their web servers and actively monitoring/classifying connections to dynamically optimize performance for mobile users. This post also mentions the introduction of features like Rocket Loader, Mirage, Polish, SPDY, and Railgun as part of their ongoing efforts to improve network performance.

What makes SPDY speedy?

6/25/2012

This post introduces and explains the SPDY protocol, highlighting its benefits for web browsing speed. It details how SPDY optimizes HTTP by allowing multiple requests and responses over a single TCP connection, thereby minimizing connection setup time, TCP slow start penalties, and blocking issues inherent in traditional HTTP over TCP. Cloudflare's adoption of SPDY is presented as a way to enhance website performance by making web browsing faster without replacing HTTP.

Introducing SPDY

6/15/2012

This post introduces Cloudflare's beta rollout of SPDY, a new network protocol designed to make web pages faster by addressing HTTP bottlenecks. It highlights SPDY's key features like connection multiplexing, out-of-order object delivery, and header compression. The post also details the caveats of SPDY, such as browser support and the SSL requirement, and explains how Cloudflare's platform, including Rocket Loader, makes SPDY easier to implement and more effective by acting as a gateway and overcoming some of its inherent limitations.

Mobile Web Performance: Optimizing TCP Congestion Control Algorithms

6/13/2012

This post introduces Cloudflare's work on optimizing TCP Congestion Control Algorithms, particularly for mobile networks. It highlights how traditional algorithms were ill-suited for the sporadic nature of mobile network congestion and explains how Cloudflare leverages its unique network position and real-time data to tune these algorithms, leading to significant performance improvements for mobile users. This marks an evolution in their performance optimization efforts, extending beyond caching and image optimization to the fundamental network protocols.

Introducing Mirage: Automatic Responsive Web Design via Intelligent Image Loading

6/6/2012

Introduced Mirage, a system that automatically manages image loading and resizing to optimize website performance. Mirage detects the visitor's viewport size, device type, and network connection to prioritize loading images within the viewport and dynamically resize images to the appropriate resolution, reducing bandwidth waste and improving mobile performance. It works via JavaScript with a fallback for disabled JavaScript and is available to paid customers.

Introducing Polish: Automatic Image Optimization

6/5/2012

This post introduces 'Polish,' an automatic image optimization feature that reduces image file sizes through lossless or lossy compression. This directly contributes to website performance by decreasing data transfer, especially beneficial for mobile devices with limited bandwidth. Polish is available for paid accounts and works by optimizing images in Cloudflare's cache.

Never Deal With DNS Propagation Again

5/19/2012

This post highlights a significant benefit of Cloudflare's DNS service: the elimination of DNS propagation delays. By maintaining stable public IP addresses, Cloudflare enables instantaneous changes to server IPs and hosting, greatly simplifying deployment and development workflows for users. This directly contributes to making website management easier and faster.

CloudFlare's New UI: Managing DNS records

4/11/2012

This post details significant improvements to the Cloudflare UI, specifically focusing on the DNS editor. It clarifies the functionality of orange and gray clouds for DNS records, making it easier for users to control Cloudflare's proxy and caching. The post also provides clear instructions on how to add and edit DNS records (A, CNAME) and addresses common issues like subdomains not working and mail services being down due to incorrect MX record configuration, offering specific guidance for Google Apps email.

Introducing Page Rules: URL Forwarding

2/21/2012

This post introduces URL forwarding as a new capability within Cloudflare's Page Rules. It explains how users can leverage Page Rules to set up basic and advanced URL forwarding, including the use of wildcards and variables to preserve URL parameters, thereby simplifying website redirects and migrations without the need for .htaccess files.

Introducing Page Rules: Fine Grained Control over CloudFlare's Features

2/21/2012

This post introduces 'Page Rules,' a new feature that allows users to control Cloudflare's behavior on a page-by-page basis. This provides finer-grained control than subdomain-level toggling, enabling users to selectively enable or disable features like Cloudflare Apps and performance optimizations for specific URLs or URL patterns, including administrative areas of websites. The implementation involves compiling rules into machine code for fast edge deployment, with limits on the number of rules per account tier.

CloudFlare Helping IPv6 Reach Escape Velocity

2/2/2012

This post announces Cloudflare's participation in the World IPv6 Launch initiative and highlights their existing support for IPv6, which already serves 10% of IPv6-enabled websites in the Alexa top million. It emphasizes the importance of IPv6 for internet growth and addresses the 'chicken-or-egg' problem of adoption by seeking suggestions on how to motivate ISPs and content providers to embrace IPv6.

TODAY Show Traffic Spike No Problem For Khataland

1/27/2012

This post demonstrates Cloudflare's effectiveness in managing extreme traffic spikes, specifically for an e-commerce site (Khataland.com) featured on the TODAY Show. It highlights how Cloudflare, in conjunction with a hosting provider (CoreCommerce), ensured the website remained available and performed well, leading to significant sales during the promotion. The post emphasizes the ease of setup and the tangible benefits of reduced bandwidth usage and protection against DoS attacks during such events.

2011

An All New (and Improved) AutoMinify

6/19/2011

This post introduces a new, in-line minification process for CSS, JavaScript, and HTML that operates directly within the response stream, overcoming the limitations of previous cache-and-store approaches. The new process is significantly faster (100x) and handles dynamic HTML, addressing scalability issues encountered with existing libraries. This provides a ~10% benefit in text-based resource size when combined with GZIP compression.

How CloudFlare Rocket Loader Redefines the Modern CDN

6/10/2011

Introduced Rocket Loader, a feature that addresses script blocking and slow third-party script loading. Rocket Loader ensures scripts do not block page rendering, loads them asynchronously, bundles script requests into a single request, and uses LocalStorage for intelligent caching.

News From CloudFlare Labs: Javascript Preloader Research

5/3/2011

This post details research into reliably preloading Javascript without execution across a wide range of websites and devices. It highlights the challenges encountered with established techniques and announces an innovative solution that is expected to revolutionize web performance, especially on mobile devices.