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

# Caché y ETag

> Evita reconvertir el mismo documento con ETag e If-None-Match.

# Caché y ETag

## Cómo usarlo

<Steps>
  <Step title="Guarda el ETag">
    En la primera respuesta, lee el header `ETag`.
  </Step>

  <Step title="Reenvía con If-None-Match">
    En la siguiente petición idéntica, manda `If-None-Match: <etag>`.
  </Step>

  <Step title="Recibe 304">
    Si nada cambió, la API responde `304 Not Modified` sin cuerpo. Reusas tu copia local.
  </Step>
</Steps>

## Ejemplo

```bash theme={null}
# Primera vez: guarda el ETag
ETAG=$(curl -sD - -o salida.md \
  -X POST "https://api.markpdf.tech/convert/raw?filename=informe.pdf" \
  -H "x-api-key: TU_API_KEY" \
  -H "content-type: application/pdf" \
  --data-binary "@informe.pdf" | grep -i '^etag:' | cut -d' ' -f2 | tr -d '\r')

# Segunda vez: si no cambió, responde 304
curl -i -X POST "https://api.markpdf.tech/convert/raw?filename=informe.pdf" \
  -H "x-api-key: TU_API_KEY" \
  -H "content-type: application/pdf" \
  -H "If-None-Match: $ETAG" \
  --data-binary "@informe.pdf"
```

## Cache-Control

La respuesta marca `Cache-Control: public, max-age=..., immutable`. El `ETag` cambia si cambia el documento o cualquier parámetro, así que es seguro cachear de forma agresiva.

<Tip>
  El `ETag` cambia con los parámetros. Convertir el mismo PDF en `fast` y en `balanced` produce ETags distintos.
</Tip>
