Status Codes
| Status | Meaning | Typical cause |
|---|---|---|
200 OK | File served. | Existing file or directory index. |
206 Partial Content | One byte range served. | A satisfiable single Range request. |
304 Not Modified | Cached client copy is valid. | If-None-Match or If-Modified-Since matches. |
308 Permanent Redirect | Directory slash redirect. | /docs redirects to /docs/. |
400 Bad Request | Request could not be parsed. | Malformed or oversized headers. |
403 Forbidden | Path rejected. | Traversal or denied dotfile segment. |
404 Not Found | No file. | Missing target or missing directory index. |
405 Method Not Allowed | Unsupported method. | Anything except GET and HEAD. |
406 Not Acceptable | No representation is acceptable. | Identity and every available sidecar have quality zero. |
416 Range Not Satisfiable | Requested range is outside the representation. | A single range starts beyond the selected file. |
503 Service Unavailable | Connection cap reached. | Active plus queued connections exceed max_connections. |
500 Internal Server Error | Internal failure. | Filesystem or unexpected server error. |
Response headers
Successful file responses usually include:
Server: qaws/0.2.7
Content-Type: text/html; charset=utf-8
Content-Length: 297
Connection: keep-alive
X-Content-Type-Options: nosniff
Last-Modified: Sat, 04 Jul 2026 11:45:54 GMT
ETag: W/"<mtime-ns>-<size>-identity"
Accept-Ranges: bytesThe exact Content-Type, Content-Length, and Last-Modified depend on the
file. Encoded responses add Content-Encoding and
Vary: Accept-Encoding; 206 and 416 responses add Content-Range.
Error responses
Malformed or oversized requests close the connection defensively after the error response when possible.
Unsupported methods include:
Allow: GET, HEAD