Visual RFC.
ALL RFCs / RFC 9449
Read the RFC ↗
RFC 9449 / PROOFS AND PERMISSION

Which changes does this signed note notice?

05

A proof names an action and a destination. Change one part of a request to see what that small note covers, and what HTTPS must still protect.

RFC 9449 · § 4.2EXAMPLE
1 / 4 · Read the two signed request labels

This selected proof names GET https://photos.example/photos.

Signed labels versus actual requestSigned methodGETRequest methodGET
Proof labelsGET https://photos.example/photos

Offline worked example. Signature fixtures and key/token hashes can be checked locally; ordinary OAuth, TLS and deployment policy checks remain separate. This is not a production validator.

What happens if you change this?

Predict whether the request will pass. Change one choice to see why; use Restart to restore the original example.

4 / 4
04
Keep the coverage limit visible

This is one isolated check, not a decision to authorize a request. HTTPS must protect the actual message in transit.

Which changes does this signed note notice?This is one isolated check, not a decision to authorize a request. HTTPS must protect the actual message in transit.Signed labels versus actual requestSigned methodGETRequest methodGETMethod or path selectedCompare htm and htu onlyThese labels match; whole message not signed

Key idea: The standard proof does not sign every request byte.

Terms
DPoP
A separately signed note proving use of a key for a particular request. It accompanies, rather than replaces, the access token.
Public key and private key
The shareable key checks signatures. The matching secret key makes them. A public key is not a registered app identity by itself.

Look up a term in the glossary ↗

Rules & examples

These reference examples may differ from the selected experiment.

  • htm must match the HTTP method. htu matches the target URI without query or fragment. A fragment is local URL data and is not sent in an HTTP request.
  • Servers SHOULD use RFC3986 syntax- and scheme-based URI normalization before comparison. This experiment uses fixed HTTPS ASCII example URLs, not a general URI normalizer.
  • The standard proof does not cover general headers or body data. Matching this isolated method/URI check is not an authorization decision or full message-integrity guarantee; HTTPS remains mandatory.

Bounded offline worked example, not a production OAuth, TLS or general JWT validator. Cryptographic signature fixtures and public-key/token hashes are independently checked.

Sources
Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

All chapters in RFC 9449

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗