---
title: "Enforcing HTTP/3 (QUIC) in Chrome Tests"
slug: "enforcing-http-3-quic-in-chrome-tests"
updated: 2026-06-24T16:26:25Z
published: 2026-06-24T16:26:25Z
canonical: "docs.catchpoint.com/enforcing-http-3-quic-in-chrome-tests"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.catchpoint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Enforcing HTTP/3 (QUIC) in Chrome Tests

![Image](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/image(641).png)

## Overview

By default, browsers do not immediately establish connections using HTTP/3 (`h3`). Instead, the initial connection is typically made using HTTP/2 (`h2`), after which the browser learns that the origin supports HTTP/3 and may use it for subsequent connections.

In a normal browsing environment, this information is retained by the browser and reused for future sessions. However, Catchpoint synthetic tests start with a fresh browser session on every execution and do not retain protocol discovery information.

As a result, each test run must rediscover HTTP/3 support, causing initial requests to use HTTP/2 before transitioning to HTTP/3.

---

## Default Behavior

Without HTTP/3 enforcement enabled, test executions follow the browser's standard protocol discovery process:

- Initial requests are made over **HTTP/2**
- The browser discovers that the origin supports **HTTP/3**
- Subsequent requests transition to **HTTP/3**

**Default protocol discovery behavior without HTTP/3 enforcement**

![Image](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/image(638).png)

---

## Enforcing HTTP/3

You can force Chrome to establish connections using HTTP/3 from the beginning of the test by configuring the `Cp-QuicForcedOrigins` custom header.

This header allows you to specify one or more domains that should immediately use HTTP/3.

If HTTP/3 is unavailable, Chrome automatically falls back to the next available protocol.

### Custom Header

```
Cp-QuicForcedOrigins
```

### Header Value Format

The header value must contain one or more origins using the following format:

```
hostname:port
```

Multiple origins can be specified as a comma-separated list.

### Example

```
Cp-QuicForcedOrigins: www.cloudflare.com:443,ot.www.cloudflare.com:443
```

The following example shows the header configuration within the test.

**Configuring the `Cp-QuicForcedOrigins` header**

## ![Image](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/image(639).png)

## Verification

After configuring the header, Chrome establishes connections to the specified origins using HTTP/3 immediately.

This means:

- The initial document request uses HTTP/3
- All subsequent requests to the configured origins also use HTTP/3

**HTTP/3 enforced for all requests** ![Image](https://cdn.document360.io/cb4af8f9-6751-4fd2-b39c-07aae832badb/Images/Documentation/image(640).png)

---

## Summary

The `Cp-QuicForcedOrigins` header allows Catchpoint synthetic tests to bypass the normal HTTP/3 discovery process and establish HTTP/3 connections from the beginning of a test run.

This ensures consistent protocol behavior and is particularly useful when validating:

- HTTP/3 connectivity
- HTTP/3 performance
- Protocol-specific application behavior
