Tech Pioneers

Anne van Kesteren: WHATWG Standards Editor and Architect of the Fetch and URL Specifications

Anne van Kesteren: WHATWG Standards Editor and Architect of the Fetch and URL Specifications

In the sprawling ecosystem of the modern web, every time your browser makes an HTTP request, parses a URL, or streams data from an API, it follows a set of rules that someone had to write down — precisely, unambiguously, and with exhaustive attention to edge cases. That someone, more often than not, is Anne van Kesteren. As a standards editor at the WHATWG (Web Hypertext Application Technology Working Group) and a staff engineer at Apple, van Kesteren has authored or co-authored some of the most foundational specifications underpinning the web platform: the Fetch Standard, the URL Standard, the DOM Standard, and the Encoding Standard. His work does not produce flashy demos or viral products — it produces the invisible infrastructure that every web developer relies on, whether they know it or not.

Early Life and Education

Anne van Kesteren was born in the Netherlands in the early 1980s. Growing up during the formative years of the consumer internet, he developed an early fascination with how web technologies worked beneath the surface. Unlike many of his peers who gravitated toward building websites and applications, van Kesteren was drawn to the underlying mechanics — the protocols, parsers, and specification documents that governed how browsers interpreted HTML, CSS, and JavaScript.

Van Kesteren’s formal education followed a path common among European technologists of his generation, combining practical computing skills with a deep curiosity about standards and interoperability. The Netherlands, with its strong tradition in computer science and its multilingual, internationally oriented culture, provided a fitting backdrop for someone who would go on to work at the intersection of global cooperation and technical precision. By his late teens, van Kesteren was already participating in online discussions about web standards, contributing to mailing lists and forums where the architecture of the web was being debated and refined.

His early involvement with the web standards community set him apart. While most developers at the time were focused on making things work in Internet Explorer 6 or crafting pixel-perfect layouts, van Kesteren was reading specification documents, filing browser bugs, and thinking about how the web should work — not just how it happened to work in any particular browser. This mindset would define his entire career.

Career and the Fetch Standard

Anne van Kesteren’s professional career has been defined by his work at Opera Software, Mozilla, and ultimately Apple, but his most lasting contributions transcend any single employer. He is, above all, a standards editor — someone who takes the messy reality of how browsers behave and distills it into precise, implementable specifications that all browser vendors can follow.

His most significant achievement is the Fetch Standard, a specification that unified and replaced a patchwork of older, inconsistent APIs for making network requests in the browser. Before the Fetch Standard, web developers had to contend with XMLHttpRequest (XHR), a notoriously clunky API that had grown organically over years of ad hoc additions by different browser vendors. The Fetch Standard did not merely create the fetch() API that developers now use daily — it defined the entire networking layer of the web platform, specifying how requests are made, how responses are handled, how CORS (Cross-Origin Resource Sharing) works, and how caching, redirects, and authentication interact.

Technical Innovation

The Fetch Standard represents a fundamental rethinking of how browsers communicate with servers. At its core, van Kesteren’s specification introduced a unified algorithm that governs all network requests, whether initiated by HTML elements like <img> and <script>, by CSS resources, or by JavaScript code. This unification was revolutionary because it meant that CORS, authentication, caching, and other cross-cutting concerns no longer had to be specified separately for each type of request.

Consider how the modern fetch() API, defined by this standard, transformed everyday web development:

// The Fetch API: clean, promise-based network requests
// demonstrating concepts van Kesteren standardized

async function loadUserData(userId) {
  // The Fetch Standard defines exactly how this request
  // is constructed, sent, and how the response is processed
  const response = await fetch(`/api/users/${userId}`, {
    method: 'GET',
    headers: {
      'Accept': 'application/json',
      'Authorization': `Bearer ${getToken()}`
    },
    // CORS mode, credentials, cache — all specified
    // in the Fetch Standard's unified algorithm
    mode: 'cors',
    credentials: 'same-origin',
    cache: 'default'
  });

  if (!response.ok) {
    throw new Error(`HTTP ${response.status}: ${response.statusText}`);
  }

  // Response body handling — streams, cloning,
  // and consumption rules are all part of the spec
  const data = await response.json();
  return data;
}

// The same standard governs how Service Workers
// intercept and respond to fetch events
self.addEventListener('fetch', event => {
  event.respondWith(
    caches.match(event.request)
      .then(cached => cached || fetch(event.request))
  );
});

This API replaced the verbose and error-prone XMLHttpRequest pattern that had plagued web developers for over a decade. But the real innovation was not the API surface — it was the underlying specification that precisely defined every step of the request lifecycle, from DNS resolution to response body consumption. Van Kesteren’s specification is so thorough that it serves as both the definitive reference for browser implementers and a readable guide for developers who want to understand what actually happens when they call fetch().

The Fetch Standard also introduced the concept of request and response objects as first-class entities with well-defined properties and behaviors, laying the groundwork for Jake Archibald‘s work on Service Workers and the broader vision of Progressive Web Apps pioneered by Alex Russell.

Why It Mattered

Before the Fetch Standard, the web’s networking layer was a patchwork of informal agreements and browser-specific behaviors. The XMLHttpRequest specification had grown unwieldy, CORS was specified separately and inconsistently, and different types of resource loads (images, scripts, stylesheets, API calls) followed subtly different rules. This inconsistency made it difficult for browser vendors to achieve interoperability and for developers to write reliable cross-browser code.

Van Kesteren’s work mattered because it brought order to chaos. By creating a single, unified specification for all network requests, he eliminated entire categories of browser bugs and inconsistencies. Web developers working with modern tools and frameworks — from React data fetching to project management platforms like Taskee that rely on robust API communication — benefit directly from the clarity and consistency that the Fetch Standard provides.

The specification also had profound implications for web security. By precisely defining how CORS works, how credentials are attached to requests, and how opaque responses behave, the Fetch Standard created a coherent security model for the web’s networking layer. This was not merely a convenience — it was essential for the web’s evolution as a platform for sensitive applications like banking, healthcare, and enterprise software.

Other Major Contributions

While the Fetch Standard may be van Kesteren’s most widely known work, his contributions to the web platform extend far beyond networking. He is the author or co-author of several other foundational WHATWG specifications.

The URL Standard is perhaps the most underappreciated of his works. URLs are so ubiquitous that most developers never think about their structure, but the reality is that parsing a URL correctly is extraordinarily complex. Van Kesteren’s URL Standard replaced the older, ambiguous RFC 3986 with a living specification that precisely defines how browsers parse, serialize, and resolve URLs. This standard eliminated countless interoperability bugs related to URL parsing — issues with Unicode characters, percent-encoding, relative resolution, and edge cases that had caused security vulnerabilities in the past.

// URL parsing: deceptively complex, precisely standardized
// The URL Standard defines exactly how these are handled

const url = new URL('https://example.com:8080/path?q=hello world#frag');
console.log(url.protocol); // "https:"
console.log(url.hostname); // "example.com"
console.log(url.port);     // "8080"
console.log(url.pathname); // "/path"
console.log(url.search);   // "?q=hello%20world"
console.log(url.hash);     // "#frag"

// The URL Standard handles edge cases that
// older RFCs left ambiguous:
const tricky = new URL('https://例え.jp/パス');
console.log(tricky.hostname); // Punycode: "xn--r8jz45g.jp"
console.log(tricky.pathname); // Percent-encoded path

// URLSearchParams — also part of the standard
const params = new URLSearchParams('a=1&b=hello+world&c=%26');
console.log(params.get('b')); // "hello world"
console.log(params.get('c')); // "&"

// The standard ensures every browser handles
// these transformations identically

The DOM Standard, which van Kesteren co-edits, defines the tree structure that browsers build from HTML and that JavaScript manipulates. Every call to document.querySelector(), every event listener, every mutation observer — all of these are governed by the DOM Standard. This work connects directly to the broader tradition of web standards championed by Jeffrey Zeldman and the movement toward a more interoperable web.

The Encoding Standard tackles another invisible but critical problem: how browsers convert sequences of bytes into sequences of characters. In a world where web content is written in hundreds of languages using dozens of character encodings, getting this right is essential. Van Kesteren’s Encoding Standard specifies the exact algorithms browsers use for encoding detection and conversion, building on the foundations of Unicode work that traces back to Rob Pike’s co-creation of UTF-8.

He also contributed significantly to the XMLHttpRequest Standard (specifying the legacy API that preceded Fetch), the Streams Standard (enabling efficient processing of data in chunks), and the Infra Standard (defining foundational data structures and algorithms used across all WHATWG specifications). Each of these may seem narrow in isolation, but together they form the connective tissue of the entire web platform.

Philosophy and Approach

Anne van Kesteren’s approach to standards work embodies a distinctive philosophy that has shaped the modern web. Unlike the academic or corporate-driven standards processes of the past, the WHATWG approach — which van Kesteren has championed and exemplified — is fundamentally pragmatic, iterative, and implementation-driven.

Key Principles

  • Living standards over versioned specifications. Van Kesteren is a strong advocate of the WHATWG’s “living standard” model, where specifications are continuously updated rather than published as frozen, versioned documents. This approach ensures that standards remain relevant and accurate as the web evolves, rather than becoming outdated the moment they are published.
  • Implementation reality over theoretical purity. His specifications are grounded in what browsers actually do, not in what they ideally should do. When browser behaviors diverge, the standard seeks to converge them toward the most sensible common behavior rather than inventing an entirely new approach. This pragmatism is what makes WHATWG specifications implementable.
  • Precision eliminates ambiguity. Van Kesteren’s specifications are famously detailed, specifying algorithms step by step, defining error handling for every conceivable edge case, and leaving nothing to the imagination of implementers. This level of precision is what enables true interoperability — when two browsers both implement the same specification, they should produce identical results.
  • Security as a first-class concern. Rather than treating security as an afterthought or a layer to be bolted on later, van Kesteren integrates security considerations directly into his specifications. The Fetch Standard’s treatment of CORS, for example, is not a separate security specification — it is woven into the fabric of how every request is processed.
  • Backward compatibility matters. The web cannot break existing content. Van Kesteren’s specifications always account for legacy behavior, ensuring that new standards can be implemented without breaking the billions of existing web pages. This constraint makes standards work far more difficult, but it is essential for the web’s continued growth.
  • Collaboration across competing organizations. Standards work requires engineers from Apple, Google, Mozilla, and other companies to cooperate on shared infrastructure even as they compete in the marketplace. Van Kesteren has navigated these dynamics for over two decades, building consensus through technical rigor and earned respect.

This philosophy aligns with the broader ethos of the open web movement championed by figures like Mitchell Baker at Mozilla and Blake Ross with Firefox. The web works because its core technologies are open standards, freely implementable by anyone — and people like van Kesteren are the ones who write those standards down.

Legacy and Impact

Anne van Kesteren’s impact on the web is both pervasive and invisible — the hallmark of truly foundational infrastructure work. Every web developer who uses fetch() is using an API he specified. Every URL parsed by a browser follows algorithms he defined. Every DOM manipulation operates according to rules he co-authored. Every character encoding conversion in a browser follows his specification.

His influence extends beyond individual specifications to the very methodology of web standards. The living standard model that van Kesteren champions has become the dominant approach for web specifications, replacing the older model of versioned W3C Recommendations that often became outdated before they were even finalized. This shift — from the W3C’s top-down, consensus-driven process to the WHATWG’s implementation-driven, continuously updated approach — is arguably the most significant change in how the web is governed since the W3C was founded in 1994.

For teams building modern web applications — whether using frameworks, native APIs, or tools for web development and digital strategy like Toimi — the reliability and consistency they experience is a direct result of the precision van Kesteren brings to standards work. When fetch() behaves identically in Chrome, Firefox, Safari, and Edge, that is not an accident — it is the result of a specification thorough enough to leave no room for divergent interpretation.

Van Kesteren’s work also represents an important model for the tech industry: the value of deep, sustained technical work that does not chase headlines or funding rounds. In an industry obsessed with disruption and novelty, he has spent over two decades doing the painstaking work of specifying how the web actually functions. This quiet dedication to infrastructure connects him to a tradition exemplified by Edsger Dijkstra’s rigorous approach to algorithms and Eric Meyer’s meticulous documentation of CSS.

As the web continues to evolve — incorporating new capabilities like WebTransport, Web Streams, and ever more sophisticated security models — van Kesteren’s specifications will continue to serve as the bedrock upon which new features are built. His legacy is not a product or a company; it is the precise, unambiguous language that tells every browser on earth how to be a browser.

Key Facts

  • Full name: Anne van Kesteren
  • Nationality: Dutch
  • Known for: Authoring the Fetch Standard, URL Standard, Encoding Standard; co-editing the DOM Standard
  • Organizations: WHATWG standards editor, Apple (current), formerly Opera Software and Mozilla
  • Key specifications: Fetch, URL, DOM, Encoding, XMLHttpRequest, Streams (contributor), Infra
  • Standards approach: Living standards — continuously updated, implementation-driven specifications
  • Impact: Unified the web’s networking layer, standardized URL parsing, defined DOM event handling algorithms
  • Active since: Early 2000s, with over two decades of continuous standards work

FAQ

What is the Fetch Standard and why is it important?

The Fetch Standard is a WHATWG specification authored by Anne van Kesteren that defines how all network requests work in web browsers. It replaced a fragmented collection of older specifications and browser-specific behaviors with a single, unified algorithm governing how requests are made, how responses are handled, how CORS enforces security boundaries, and how caching and authentication work. The fetch() JavaScript API that developers use daily is defined by this standard, but the standard’s scope extends far beyond that API — it governs how every resource on a web page is loaded, from images and scripts to API calls and WebSocket connections. Its importance lies in ensuring that all browsers handle networking identically, eliminating interoperability bugs and providing a coherent security model for the web platform.

How does Anne van Kesteren’s work differ from typical software engineering?

While most software engineers build products, van Kesteren writes the specifications that products are built on. Standards editing is a unique discipline that combines deep technical expertise with exceptional precision in written communication. A standards editor must anticipate every edge case, specify behavior for every error condition, and write algorithms that are unambiguous enough for independent teams at competing companies (Apple, Google, Mozilla) to implement identically without coordination. This requires not only technical knowledge but also diplomatic skill in building consensus among organizations with different priorities and perspectives. Van Kesteren’s work operates at a layer of abstraction below most software development — he does not build the web; he defines what the web is.

What is the difference between WHATWG and W3C standards?

The WHATWG (Web Hypertext Application Technology Working Group) and W3C (World Wide Web Consortium) are both organizations that develop web standards, but they follow different philosophies. The W3C traditionally published versioned specifications (like HTML 4.01, CSS 2.1) that went through a formal process of working drafts, candidate recommendations, and final recommendations. The WHATWG, which van Kesteren helps lead through his editorial work, maintains “living standards” — specifications that are continuously updated to reflect current browser implementations and new features. Since 2019, the two organizations have largely reconciled, with the WHATWG’s HTML and DOM specifications recognized as the authoritative versions. Van Kesteren was instrumental in demonstrating the viability and superiority of the living standards model through his own specifications.

Which web technologies would not exist without Anne van Kesteren’s contributions?

While the underlying capabilities might have eventually been standardized by someone else, van Kesteren’s specific contributions shaped the form they took. The fetch() API, the URL constructor and URLSearchParams interface, the precise CORS algorithm that enables secure cross-origin requests, the encoding detection algorithms used by every browser, and the event dispatch model in the DOM all bear his direct influence. Service Workers — the technology that enables offline web applications — depend directly on the Fetch Standard’s request and response abstractions. In a broader sense, the methodology of living standards itself owes much to van Kesteren’s demonstration that continuously updated specifications produce better interoperability than versioned, frozen documents.