QSCSCore HTTP API, Static Pages
On this page 1 sections
Static Pages
When [Static Pages] Path is set in qscs.conf the daemon can satisfy requests for hosts that are not in [Origins] by reading a file from disk. This is how favicons, robots.txt, sitemap.xml, and pre-rendered SEO landing pages are served from every thin client.
Resolution
Lookup order for a request that does not match any origin:
- If
[Static Pages] Pathis set: look for<Path>/<Host>/<uri>on disk. If the URI's last segment has no extension,.htmlis appended./becomes/index.html. - Otherwise → 200 OK health-check page (so ALBs don't fail).
Security
Path traversal (..) and null bytes are rejected before resolution. The canonical resolved path must lie under the configured Path; symlinks that escape it are refused.
Content-Type
| Extension | Content-Type |
|---|---|
.html | text/html; charset=utf-8 |
.json | application/json |
.css | text/css |
.js | application/javascript |
| anything else | text/plain; charset=utf-8 |
Binary assets (favicon.ico, og-image.png, qscs-substrate.wasm) that need a specific MIME type are best served via a TLS terminator that sets the header explicitly, or via the origin so the upstream's Content-Type is preserved verbatim. See SEO & Static Assets for the full pattern.