HTTP Codes and Caching The http response code of a transfered object is the most important criteria on how to store/cache this object. The following table shows HTTP response codes and how the are handled by Squid.
| Caching | Code | Explaination | HTTP |
|---|---|---|---|
| 1xx | INFORMATIONAL | ||
| 100 | Continue | >=1.1 | |
| 101 | Switching Protocols | >=1.1 | |
| 102 | Extended | >=1.1 | |
| 2xx | SUCCESSFUL | ||
| c | 200 | OK | >=1.0 |
| 201 | Created | >=1.0 | |
| 202 | Accepted | >=1.0 | |
| c | 203 | Non-Authoriative Information | >=1.1 |
| N | 204 | No Content | >=1.0 |
| 205 | Reset Content | >=1.1 | |
| 206 | Partial Content | >=1.1 | |
| 220 | Uses Protocol Extensions | >=1.2 | |
| 3xx | REDIRECTION | ||
| C | 300 | Multiple Choices | >=1.1 |
| C | 301 | Moved Permanently | >=1.0 |
| E | 302 | Moved Temporarily | 1.0 |
| E | 302 | Found | >=1.1 |
| - | 303 | See Other | >=1.1 |
| - | 304 | Not Modified | >=1.0 |
| N | 305 | Use Proxy (proxy redirect) | >=1.1 |
| 307 | Temporary Redirect | >=1.1 | |
| 4xx | CLIENT ERROR | ||
| N | 400 | Bad Request | >=1.0 |
| - | 401 | Unauthorized | >=1.0 |
| 402 | Payment Required | >=1.1 | |
| N | 403 | Forbidden | >=1.0 |
| N | 404 | Not Found | >=1.0 |
| N | 405 | Method Not Allowed | >=1.1 |
| 406 | Not Acceptable | >=1.1 | |
| - | 407 | Proxy Authentication Required | >=1.1 |
| 408 | Request Timeout | >=1.1 | |
| 409 | Conflict | >=1.1 | |
| C | 410 | Gone | >=1.1 |
| 411 | Length Required | >=1.1 | |
| 412 | Precondition Failed | >=1.1 | |
| 413 | Request Entity To Large | >=1.1 | |
| N | 414 | Request-URI Too Long | >=1.1 |
| 415 | Unsupported Media Type | >=1.0 | |
| 416 | Requested range not satisfiable | >=1.1 | |
| 417 | Expectation Failed | >=1.1 | |
| 420 | Bad Protocol Extension Request | >=1.2 | |
| 421 | Protocol Extension Unknown | >=1.2 | |
| 422 | Protocol Extension Refused | >=1.2 | |
| 423 | Bad Protocol Extension Parameters | >=1.2 | |
| 5xx | SERVER ERROR | ||
| N | 500 | Internal Server Error | >=1.0 |
| N | 501 | Not Implemented | >=1.0 |
| N | 502 | Bad Gateway | >=1.0 |
| N | 503 | Service Unavailable | >=1.0 |
| N | 504 | Gateway Timeout | >=1.1 |
| 505 | HTTP Version Not Supported | >=1.1 | |
| 510 | Not Extended | >=1.1 | |
| 520 | Protocol Extension Error | >=1.2 | |
| 521 | Protocol Extension Not Implemented | >=1.2 | |
| 522 | Protocol Extension Parameters Not Acceptable | >=1.2 | |
| 6xx | SQUID ERROR | ||
| - | 600 | Squid header parsing error | Squid only |
| C | ... | Cached |
| c | ... | Cached unless a query response without expiry information (i.e. without `Last modified' and `Date' and `Expires' header line) |
| E | ... | Cached only if expiry information |
| N | ... | Negatively cached if no expiry headers. |
| - | ... | Not cached |
| ... | Unless other said, the response code is not cached |