recursal/MDN huggingface dataset:
303 See Other
=============

 The HyperText Transfer Protocol (HTTP) **`303 See Other`**
 redirect status response code indicates that the redirects don't link to the requested resource itself, but to another page (such as a confirmation page, a representation of a real-world object — see HTTP range-14 — or an upload-progress page). This response code is often sent back as a result of
 `PUT` or `POST`. The method used to display this
 redirected page is always `GET`.

Status
------


```http
303 See Other
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.303 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `302 Found`, a temporary redirect
* `307 Temporary Redirect`, a temporary redirect
 where the method used never changes.
205 Reset Content
=================

 The HTTP **`205 Reset Content`** response status tells the
 client to reset the document view, so for example to clear the content of a form, reset
 a canvas state, or to refresh the UI.

Status
------


```http
205 Reset Content
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.205 |

Compatibility notes
-------------------

* Browser behavior differs if this response erroneously includes a body on persistent
 connections See 204 No Content for more
 detail.
See also
--------

* `204` No Content
502 Bad Gateway
===============

The HyperText Transfer Protocol (HTTP) **`502 Bad Gateway`** server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server.

**Note:** A Gateway might refer to different things in networking and a 502 error is usually not something you can fix, but requires a fix by the web server or the proxies you are trying to get access through.

Status
------


```http
502 Bad Gateway
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.502 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `504`
* HTTP Status Code Definitions
307 Temporary Redirect
======================

HTTP **`307 Temporary Redirect`** redirect
 status response code indicates that the resource requested has been temporarily moved to
 the URL given by the `Location` headers.

 The method and the body of the original request are reused to perform the redirected
 request. In the cases where you want the method used to be changed to
 `GET`, use `303 See Other` instead. This is
 useful when you want to give an answer to a `PUT` method that is not the
 uploaded resources, but a confirmation message (like "You successfully uploaded XYZ").

 The only difference between `307` and `302` is that
 `307` guarantees that the method and the body will not be changed when the
 redirected request is made. With `302`, some old clients were incorrectly
 changing the method to `GET`: the behavior with non-`GET`
 methods and `302` is then unpredictable on the Web, whereas the behavior with
 `307` is predictable. For `GET` requests, their behavior is
 identical.

Status
------


```http
307 Temporary Redirect
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.307 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `302 Found`, the equivalent of this status code, but that may
 change the method used when it is not a `GET`.
* `303 See Other`, a temporary redirect that changes the method
 used to `GET`.
* `301 Moved Permanently`, a permanent redirect
431 Request Header Fields Too Large
===================================

 The HTTP **`431 Request Header Fields Too Large`** response status code
 indicates that the server refuses to process the request because the request's
 HTTP headers are too long.
 The request *may* be resubmitted after reducing the size of the request headers.

 431 can be used when the **total size** of request headers is too large,
 or when a **single** header field is too large. To help those running into
 this error, indicate which of the two is the problem in the response body — ideally,
 also include which headers are too large. This lets users attempt to fix the problem,
 such as by clearing their cookies.

Servers will often produce this status if:

* The `Referer` URL is too long
* There are too many Cookies sent in the
 request
Status
------


```http
431 Request Header Fields Too Large
```

Specifications
--------------

| Specification |
| --- |
| RFC 6585 # section-5 |

See also
--------

* `414 URI Too Long`
* Request header
400 Bad Request
===============

The HyperText Transfer Protocol (HTTP) **`400 Bad Request`** response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (for example, malformed request syntax, invalid request message framing, or deceptive request routing).

**Warning:** The client should not repeat this request without modification.

Status
------


```http
400 Bad Request
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.400 |

See also
--------

* HTTP Status Code Definitions
429 Too Many Requests
=====================

The HTTP **`429 Too Many Requests`** response status code indicates the user has sent too many requests in a given amount of time ("rate limiting").

A `Retry-After` header might be included to this response indicating how long to wait before making a new request.

Status
------


```http
429 Too Many Requests
```

Example
-------


```http
HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600
```

Specifications
--------------

| Specification |
| --- |
| RFC 6585 # section-4 |

See also
--------

* `Retry-After`
* HTTP Status Code Definitions
* Python solution: How to avoid HTTP error 429 python
506 Variant Also Negotiates
===========================

The HyperText Transfer Protocol (HTTP) **`506 Variant Also Negotiates`** response status code may be given in the context of Transparent Content Negotiation (see RFC 2295). This protocol enables a client to retrieve the best variant of a given resource, where the server supports multiple variants.

The **`Variant Also Negotiates`** status code indicates an internal server configuration error in which the chosen variant is itself configured to engage in content negotiation, so is not a proper negotiation endpoint.

Status
------


```http
506 Variant Also Negotiates
```

Specifications
--------------

| Specification |
| --- |
| RFC 2295 # section-8.1 |
201 Created
===========

 The HTTP **`201 Created`** success status response code indicates that the request has
 succeeded and has led to the creation of a resource. The new resource, or a description
 and link to the new resource, is effectively created before the response is sent back
 and the newly created items are returned in the body of the message, located at either
 the URL of the request, or at the URL in the value of the `Location` header.

 The common use case of this status code is as the result of a `POST`
 request.

Status
------


```http
201 Created
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.201 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* HTTP request methods
418 I'm a teapot
================

The HTTP **`418 I'm a teapot`** client error response code indicates that the server refuses to brew coffee because it is, permanently, a teapot. A combined coffee/tea pot that is temporarily out of coffee should instead return 503. This error is a reference to Hyper Text Coffee Pot Control Protocol defined in April Fools' jokes in 1998 and 2014.

Some websites use this response for requests they do not wish to handle, such as automated queries.

Status
------


```http
418 I'm a teapot
```

Specifications
--------------

| Specification |
| --- |
| RFC 2324 # section-2.3.2 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Wikipedia: Hyper Text Coffee Pot Control Protocol
414 URI Too Long
================

 The HTTP **`414 URI Too Long`** response status code indicates
 that the URI requested by the client is longer than the server is willing to interpret.

There are a few rare conditions when this might occur:

* when a client has improperly converted a `POST` request to a
 `GET` request with long query information,
* when the client has descended into a loop of redirection (for example, a redirected
 URI prefix that points to a suffix of itself),
* or when the server is under attack by a client attempting to exploit potential
 security holes.
Status
------


```http
414 URI Too Long
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.414 |

See also
--------

* URI
425 Too Early
=============

 The HyperText Transfer Protocol (HTTP) **`425 Too Early`**
 response status code indicates that the server is unwilling to risk processing a request
 that might be replayed, which creates the potential for a replay attack.

Status
------


```http
425 Too Early
```

Specifications
--------------

| Specification |
| --- |
| Using Early Data in HTTP # status |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
421 Misdirected Request
=======================

The HTTP **`421 Misdirected Request`** client error response code indicates that the request was directed to a server that is not able to produce a response. This might be possible if a connection is reused or if an alternative service is selected.

Status
------


```http
421 Misdirected Request
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # name-421-misdirected-request |
410 Gone
========

The HyperText Transfer Protocol (HTTP) **`410 Gone`** client error response code indicates that access to the target resource is no longer available at the origin server and that this condition is likely to be permanent.

If you don't know whether this condition is temporary or permanent, a `404` status code should be used instead.

**Note:** A 410 response is cacheable by default.

Status
------


```http
410 Gone
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.410 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `404`
* 410 gone
408 Request Timeout
===================

 The HyperText Transfer Protocol (HTTP)
 **`408 Request Timeout`** response status code means that the
 server would like to shut down this unused connection. It is sent on an idle connection
 by some servers, *even without any previous request by the client*.

 A server should send the "close" `Connection` header field in the
 response, since `408` implies that the server has decided to close the
 connection rather than continue waiting.

 This response is used much more since some browsers, like Chrome, Firefox 27+, and IE9,
 use HTTP pre-connection mechanisms to speed up surfing.


**Note:** some servers merely shut down the connection without sending
 this message.


Status
------


```http
408 Request Timeout
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.408 |

See also
--------

* `Connection`
* `X-DNS-Prefetch-Control`
102 Processing
==============

**Deprecated:** This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The HTTP **`102 Processing`** informational status response code indicates to client that a full request has been received and the server is working on it.

This status code is only sent if the server expects the request to take significant time. It tells the client that your request is not dead yet.

**Note:** This status code is deprecated and shouldn't be sent any more. Clients may still accept it, but simply ignore them.

Status
------
```

102 Processing
```

Specifications
--------------

| Specification |
| --- |
| Unknown specification # section-10.1 |

See also
--------

* `Expect`
* `100`
415 Unsupported Media Type
==========================

 The HTTP **`415 Unsupported Media Type`** client error response
 code indicates that the server refuses to accept the request because the payload format
 is in an unsupported format.

 The format problem might be due to the request's indicated
 `Content-Type` or `Content-Encoding`, or as a result of
 inspecting the data directly.

Status
------


```http
415 Unsupported Media Type
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.415 |

See also
--------

* `Content-Type`
* `Content-Encoding`
* `Accept`
424 Failed Dependency
=====================

The HTTP **`424 Failed Dependency`** client error response code indicates that the method could not be performed on the resource because the requested action depended on another action, and that action failed.

Regular web servers will normally not return this status code. But some other protocols, like WebDAV, can return it. For example, in WebDAV, if a `PROPPATCH` request was issued, and one command fails then automatically every other command will also fail with `424 Failed Dependency`.

Status
------


```http
424 Failed Dependency
```

Specifications
--------------

| Specification |
| --- |
| RFC 4918 # section-11.4 |

See also
--------

* `403` (Forbidden)
208 Already Reported
====================

**Note:** The ability to *bind* a resource to several paths is an extension to the WebDAV protocol (it may be received by web applications accessing a WebDAV server).
 Browsers accessing web pages will never encounter this status code.


 The HTTP **`208 Already Reported`** response code is used in a `207` (`207 Multi-Status`) response to save space and avoid conflicts.
 If the same resource is requested several times (for example as part of a collection), with different paths, only the first one is reported with `200`.
 Responses for all other bindings will report with this `208` status code, so no conflicts are created and the response stays shorter.

Status
------
```

208 Already Reported
```

Example
-------


```http
HTTP/1.1 207 Multi-Status
Content-Type: application/xml; charset="utf-8"
Content-Length: 1241

<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
  <D:response>
    <D:href>http://www.example.com/Coll/</D:href>
    <D:propstat>
      <D:prop>
        <D:displayname>Loop Demo</D:displayname>
        <D:resource-id>
          <D:href>urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf8</D:href>
        </D:resource-id>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
  <D:response>
    <D:href>http://www.example.com/Coll/Foo</D:href>
    <D:propstat>
      <D:prop>
        <D:displayname>Bird Inventory</D:displayname>
        <D:resource-id>
          <D:href>urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf9</D:href>
        </D:resource-id>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
  <D:response>
    <D:href>http://www.example.com/Coll/Bar</D:href>
    <D:propstat>
      <D:prop>
        <D:displayname>Loop Demo</D:displayname>
        <D:resource-id>
          <D:href>urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf8</D:href>
        </D:resource-id>
      </D:prop>
      <D:status>HTTP/1.1 208 Already Reported</D:status>
    </D:propstat>
  </D:response>
</D:multistatus>
```

Specifications
--------------

| Specification |
| --- |
| Unknown specification # section-7.1 |

See also
--------

* `200`
411 Length Required
===================

 The HyperText Transfer Protocol (HTTP)
 **`411 Length Required`** client error response code indicates
 that the server refuses to accept the request without a defined
 `Content-Length` header.


**Note:** by specification, when sending data in a series of chunks, the
 `Content-Length` header is omitted and at the beginning of each chunk you
 need to add the length of the current chunk in hexadecimal format. See
 `Transfer-Encoding` for more details.


Status
------


```http
411 Length Required
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.411 |

See also
--------

* `Content-Length`
* `Transfer-Encoding`
409 Conflict
============

The HTTP **`409 Conflict`** response status code indicates a request conflict with the current state of the target resource.

Conflicts are most likely to occur in response to a `PUT` request. For example, you may get a 409 response when uploading a file that is older than the existing one on the server, resulting in a version control conflict.

Status
------


```http
409 Conflict
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.409 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `PUT`
405 Method Not Allowed
======================

The HyperText Transfer Protocol (HTTP) **`405 Method Not Allowed`** response status code indicates that the server knows the request method, but the target resource doesn't support this method.

The server **must** generate an **`Allow`** header field in a 405 status code response. The field must contain a list of methods that the target resource currently supports.

Status
------


```http
405 Method Not Allowed
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.405 |

See also
--------

* `Allow`
* HTTP Status Code Definitions
* How to Fix 405 Method Not Allowed
* Troubleshooting HTTP 405
302 Found
=========

 The HyperText Transfer Protocol (HTTP) **`302 Found`** redirect
 status response code indicates that the resource requested has been temporarily moved to
 the URL given by the `Location` header. A browser redirects to this page
 but search engines don't update their links to the resource (in 'SEO-speak', it is said
 that the 'link-juice' is not sent to the new URL).

 Even if the specification requires the method (and the body) not to be altered when the
 redirection is performed, not all user-agents conform here - you can still find this
 type of bugged software out there. It is therefore recommended to set the
 `302` code only as a response for `GET` or
 `HEAD` methods and to use `307 Temporary
 Redirect` instead, as the method change is explicitly prohibited in that case.

 In the cases where you want the method used to be changed to `GET`, use
 `303 See Other` instead. This is useful when you want to give a
 response to a `PUT` method that is not the uploaded resource but a
 confirmation message such as: 'you successfully uploaded XYZ'.

Status
------


```http
302 Found
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.302 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `307 Temporary Redirect`, the equivalent of this status code
 where the method used never changes.
* `303 See Other`, a temporary redirect that changes the method
 used to `GET`.
* `301 Moved Permanently`, a permanent redirect.
204 No Content
==============

 The HTTP **`204 No Content`** success status response code
 indicates that a request has succeeded, but that the client doesn't need to navigate away
 from its current page.

 This might be used, for example, when implementing "save and continue editing" functionality for a wiki site.
 In this case a `PUT` request would be used to save the page, and the `204 No Content` response
 would be sent to indicate that the editor should not be replaced by some other page.

A 204 response is cacheable by default (an `ETag` header is included in such a response).

Status
------


```http
204 No Content
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.204 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### Compatibility notes

* Although this status code is intended to describe a response with no body, servers
 may erroneously include data following the headers. The protocol allows user agents to
 vary in how they process such responses (discussion regarding this specification text can be found here). This is observable in persistent
 connections, where the invalid body may include a distinct response to a subsequent
 request.
 Apple Safari rejects any such data. Google Chrome and Microsoft Edge discard up to
 four invalid bytes preceding a valid response. Firefox tolerates in excess of a
 kilobyte of invalid data preceding a valid response.
See also
--------

* HTTP request methods
503 Service Unavailable
=======================

The HyperText Transfer Protocol (HTTP) **`503 Service Unavailable`** server error response code indicates that the server is not ready to handle the request.

Common causes are a server that is down for maintenance or that is overloaded. This response should be used for temporary conditions and the `Retry-After` HTTP header should, if possible, contain the estimated time for the recovery of the service.

**Note:** together with this response, a user-friendly page explaining the problem should be sent.

Caching-related headers that are sent along with this response should be taken care of, as a 503 status is often a temporary condition and responses shouldn't usually be cached.

Status
------


```http
503 Service Unavailable
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.503 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `Retry-After`
* HTTP Status Code Definitions
401 Unauthorized
================

 The HyperText Transfer Protocol (HTTP) **`401 Unauthorized`** response status code indicates that the client request has not been
 completed because it lacks valid authentication credentials for the requested resource.

 This status code is sent with an HTTP `WWW-Authenticate` response header that contains
 information on how the client can request for the resource again after prompting the user for authentication credentials.

 This status code is similar to the `403 Forbidden` status code, except that in situations resulting in this
 status code, user authentication can allow access to the resource.

Status
------


```http
401 Unauthorized
```

Example response
----------------


```http
HTTP/1.1 401 Unauthorized
Date: Wed, 21 Oct 2015 07:28:00 GMT
WWW-Authenticate: Basic realm="Access to staging site"
```

Specifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.401 |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* HTTP authentication
* `WWW-Authenticate`
* `Authorization`
* `Proxy-Authorization`
* `Proxy-Authenticate`
* `403`, `407`