Wikipedia says that content negotiation

is a mechanism defined in the HTTP specification that makes it possible to serve different versions of a document (or more generally, a resource) at the same URI, so that user agents can specify which version fit their capabilities the best.

TiddlyWeb uses content negotiation to allow a user agent to declare which representation of a resource it prefers. Using the Accept header the user agent can declare that it wants a text/plain, text/html, application/json or text/x-tiddlywiki version of a resource (if available).

A user agent (often a person using a web browser) may also adjust the request URL to add an extension to simulate setting the Accept header. For example to get the plain text representation of a bag resource one might request:
GET /bags/mybag.txt

The default available extensions are:
TiddlyWebWiki adds:
Not all resources provide all representations. See the HTTP API for details.

Supported extensions can be extended by creating and configuration another serialization.