New Transparent capture is in preview. Record every app's traffic with no proxy configuration, on Windows, macOS and Linux. Learn more

h11TrafficOnlyFilter Filter

Match exchanges negotiated over HTTP/1.1 so you can isolate legacy protocol behavior, throttle older clients, or force fallback paths.

HTTP/1.1 is far from dead: legacy SDKs, embedded devices, and many corporate proxies still negotiate it by default. The h11TrafficOnlyFilter lets you carve out that slice of traffic so you can apply targeted actions without touching modern HTTP/2 or HTTP/3 sessions, which is invaluable when you are debugging protocol specific behavior or planning a deprecation.

When to use this filter

Reach for h11TrafficOnlyFilter when you need to scope rules to exchanges that were negotiated over HTTP/1.1, leaving HTTP/2 and HTTP/3 traffic untouched. The filter is evaluated as soon as Fluxzy has parsed the request headers from the client, so it pairs well with actions that modify headers, throttle bandwidth, or change the upstream behavior.

Common situations include:

  • Reproducing a bug that only appears on older clients still pinned to HTTP/1.1.
  • Applying a delay or bandwidth cap to legacy connections without touching HTTP/2 callers.
  • Verifying that a backend behaves identically whether the request arrives over HTTP/1.1 or HTTP/2.

Real world examples

Throttle HTTP/1.1 callers only

Apply a bandwidth cap to legacy HTTP/1.1 traffic while leaving HTTP/2 clients on full speed. Useful for confirming a slow third party integration is not blocking modern users.

rules:
- filter:
    typeKind: H11TrafficOnlyFilter
  actions:
  - typeKind: AverageThrottleAction
    bandwidthBytesPerSeconds: 32768

Tag HTTP/1.1 exchanges for later inspection

Attach a tag so you can quickly filter the captured session view down to legacy traffic when reviewing the trace.

rules:
- filter:
    typeKind: H11TrafficOnlyFilter
  actions:
  - typeKind: ApplyTagAction
    tag:
      value: legacy-http1

Reject HTTP/1.1 to force clients onto HTTP/2

During a migration audit, return a clear error to any caller that still negotiates HTTP/1.1 against a specific host.

rules:
- filter:
    typeKind: FilterCollection
    operation: And
    children:
    - typeKind: H11TrafficOnlyFilter
    - typeKind: HostFilter
      pattern: api.example.com
      operation: Exact
  actions:
  - typeKind: RejectWithStatusCodeAction
    statusCode: 426

Reference

h11TrafficOnlyFilter

Description

Select HTTP/1.1 exchanges only.

Evaluation scope

Evaluation scope defines the timing where this filter will be applied.

requestHeaderReceivedFromClient This scope occurs the moment fluxzy parsed the request header receiveid from client

YAML configuration name

h11TrafficOnlyFilter

Settings

This filter has no specific characteristic

The following table describes the customizable properties available for this filter:

Property Type Description DefaultValue
inverted boolean Negate the filter result false

Example of usage

The following examples apply a comment to the filtered exchange

Select HTTP/1.1 exchanges only.

rules:
- filter:
    typeKind: H11TrafficOnlyFilter
  actions:
  - typeKind: ApplyCommentAction
    comment: filter was applied

.NET reference

View definition of H11TrafficOnlyFilter for .NET integration.

See also

The following filters are related to this filter:

Frequently asked questions

Does this filter look at the ALPN value or the actual request version?

Fluxzy uses the parsed request line and connection state, so it reflects the protocol that was actually used for the exchange, not just what the client advertised.

Can I combine it with HTTP/2 traffic filtering in the same file?

Yes. Use separate rule blocks, one per filter, so each protocol path gets its own actions. They do not interfere with each other.

Will this match WebSocket upgrades?

WebSocket upgrades initiated over HTTP/1.1 are matched because the underlying exchange uses HTTP/1.1. Use isWebSocketFilter alongside it if you want only WebSocket traffic.

Learn more about Fluxzy rules