HTTP redirect status codes
When a server wants to send a browser to a different URL, it answers with a redirect status code. The differences between them, permanent vs temporary and cached vs not, are exactly what decide whether a dynamic QR code can be repointed later. Here's how the four common ones compare.
| Code | Meaning | Cached by browsers? | How TangoQR uses it |
|---|---|---|---|
| 301 Moved Permanently | The resource has a new permanent home | Yes, cached hard | Avoided on the redirect spine; caching would pin a stale destination |
| 302 Found | Temporary redirect to another URL | No, by default | Every scan; keeps the destination editable forever |
| 307 Temporary Redirect | Like 302, but keeps the HTTP method | No | Not needed; a scan is a simple GET |
| 308 Permanent Redirect | Like 301, but keeps the HTTP method | Yes | Not used; same permanence problem as 301 |
The takeaway: an editable code must answer with a 302, never a 301, or browsers and edge caches would lock onto whatever destination was set first. That's a small but load-bearing choice behind "print once, repoint forever." See HTTP redirect in the glossary for the longer explanation.
See also
Make a QR code you can change later
Every TangoQR code is an editable redirect, free to start. Print once, repoint forever.
Make your first code, free