Errors
Every HTTP status code returned for the files and endpoints on the developer pages, and what each one means here.
HTTP status codes
| Code | Name | When you see it |
|---|---|---|
| 200 | OK | The page or file exists. Pages and files also answer HEAD. |
| 206 | Partial Content | You sent a Range header, for example to read the start of /llms-full.txt. |
| 301 | Moved Permanently | You asked for an old address: a page from the Wix site we replaced, such as /home or /hamlets-blog, the www host, or plain http. The Location header has the current URL. |
| 304 | Not Modified | You sent If-None-Match with the current ETag, so your copy is still good. |
| 401 | Unauthorized | /api/internet-status from outside the finca's network without a valid x-status-password header. |
| 404 | Not Found | The path does not exist. That includes the Markdown twin of a page kept out of search, the /es/ or /de/ address of an English-only page, and any method other than GET on /api/internet-status. |
| 405 | Method Not Allowed | You sent POST, PUT or DELETE to a page or file. Everything here is read-only. |
| 503 | Service Unavailable | /api/internet-status could not read the network equipment and has no earlier snapshot to return. Try again in five minutes. |
Error bodies
Only /api/internet-status returns an application error, as JSON with one error field. A 404 anywhere else returns the site's HTML error page.
- unauthorized
- Sent with 401. The request came from outside the finca's network without the guest password.
- unavailable
- Sent with 503. The network equipment did not answer and no earlier snapshot exists.
curl -sIL https://hamletsfriends.com/hamlets-blog// fetch follows the 301 by itself; response.url is where it ended up.
const response = await fetch('https://hamletsfriends.com/hamlets-blog');
console.log(response.status, response.url); // 200 https://hamletsfriends.com/blog/HTTP/2 301
location: https://hamletsfriends.com/blog/
HTTP/2 200
content-type: text/html