@unshared/client 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/HttpHeaders.cjs +1 -1
- package/dist/HttpHeaders.cjs.map +1 -1
- package/dist/HttpHeaders.d.ts +10145 -1117
- package/dist/HttpHeaders.js +1 -1
- package/dist/HttpHeaders.js.map +1 -1
- package/dist/HttpMethods.cjs.map +1 -1
- package/dist/HttpMethods.d.ts +506 -20
- package/dist/HttpMethods.js.map +1 -1
- package/dist/HttpStatusCodes.cjs.map +1 -1
- package/dist/HttpStatusCodes.d.ts +2539 -83
- package/dist/HttpStatusCodes.js.map +1 -1
- package/dist/chunks/B6pUErTM.js.map +1 -1
- package/dist/chunks/BDxlAULu.cjs.map +1 -1
- package/dist/chunks/B_Gz6Yz8.js.map +1 -1
- package/dist/chunks/C83nLcQu.js.map +1 -1
- package/dist/chunks/{uqfvs89o.js → C_VzAX2X.js} +22 -35
- package/dist/chunks/{uqfvs89o.js.map → C_VzAX2X.js.map} +1 -1
- package/dist/chunks/{CThSMMCZ.cjs → CbXCpEzw.cjs} +22 -35
- package/dist/chunks/{CThSMMCZ.cjs.map → CbXCpEzw.cjs.map} +1 -1
- package/dist/chunks/{CQUndCW0.cjs → DCBEtS8k.cjs} +2 -2
- package/dist/chunks/DCBEtS8k.cjs.map +1 -0
- package/dist/chunks/DEyigyGy.cjs.map +1 -1
- package/dist/chunks/DJyo3R5b.cjs.map +1 -1
- package/dist/chunks/{xJaQKKe2.js → Dh-ZK9yy.js} +2 -2
- package/dist/chunks/Dh-ZK9yy.js.map +1 -0
- package/dist/chunks/{DAtM4FUl.d.ts → Dil0c6fd.d.ts} +1 -1
- package/dist/chunks/{BGG3bT7O.d.ts → rRfHSRNV.d.ts} +4 -2
- package/dist/createClient.cjs +2 -2
- package/dist/createClient.cjs.map +1 -1
- package/dist/createClient.d.ts +3 -2
- package/dist/createClient.js +2 -2
- package/dist/createClient.js.map +1 -1
- package/dist/createService.cjs +1 -1
- package/dist/createService.cjs.map +1 -1
- package/dist/createService.d.ts +3 -2
- package/dist/createService.js +1 -1
- package/dist/createService.js.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +2 -2
- package/dist/openapi.cjs.map +1 -1
- package/dist/openapi.d.ts +20 -2
- package/dist/openapi.js.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +5 -5
- package/dist/utils.js +3 -3
- package/dist/utils.js.map +1 -1
- package/package.json +4 -4
- package/dist/chunks/CQUndCW0.cjs.map +0 -1
- package/dist/chunks/xJaQKKe2.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HttpStatusCodes.cjs","sources":["../HttpStatusCodes.ts"],"sourcesContent":["export enum HttpStatusCode {\n\n /**\n * The HTTP **`100 Continue`** [informational response](/en-US/docs/Web/HTTP/Status#informational_responses) status code indicates that the initial part of a request has been received and has not yet been rejected by the server.\n * The client should continue with a request or discard the 100 response if the request is already finished.\n *\n * When a request has an [Expect: 100-continue](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect) header, the 100 Continue response indicates that the server is ready or capable of receiving the request content.\n * Waiting for a 100 Continue response can be helpful if a client anticipates that an error is likely, for example, when sending state-changing operations without previously verified authentication credentials.\n */\n CONTINUE = 100,\n\n /**\n * The HTTP **`101 Switching Protocols`** [informational response](/en-US/docs/Web/HTTP/Status#informational_responses) status code indicates the protocol that a server has switched to.\n * The protocol is specified in the [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) request header received from a client.\n *\n * The server includes an [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) header in this response to indicate the protocol it has agreed to switch to.\n * The process is described in detail in the [Protocol upgrade mechanism](/en-US/docs/Web/HTTP/Protocol_upgrade_mechanism) guide.\n */\n SWITCHING_PROTOCOLS = 101,\n\n /**\n * The HTTP **`102 Processing`** [informational response](/en-US/docs/Web/HTTP/Status#informational_responses) status code indicates to client that a full request has been received and the server is working on it.\n * This status code is only sent if the server expects the request to take significant time.\n *\n * > [!NOTE]\n * > Regular web servers do not return this response.\n * > This status code was first introduced in Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)) [2518](https://developer.mozilla.org/en-US/docs/RFC/2518), but it was removed from WebDAV in [4918](https://developer.mozilla.org/en-US/docs/RFC/4918).\n */\n PROCESSING = 102,\n\n /**\n * The HTTP **`103 Early Hints`** [informational response](/en-US/docs/Web/HTTP/Status#informational_responses) may be sent by a server while it is still preparing a response, with hints about the sites and resources that the server expects the final response will link to.\n * This allows a browser to [preconnect](/en-US/docs/Web/HTML/Attributes/rel/preconnect) to sites or start [preloading](/en-US/docs/Web/HTML/Attributes/rel/preload) resources even before the server has prepared and sent a final response.\n * Preloaded resources indicated by early hints are fetched by the client as soon as the hints are received.\n *\n * The early hint response is primarily intended for use with the [Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link) header, which indicates the resources to be loaded.\n * It may also contain a [`Content-Security-Policy`](/en-US/docs/Web/HTTP/CSP) header that is enforced while processing the early hint.\n *\n * A server might send multiple `103` responses, for example, following a redirect.\n * Browsers only process the first early hints response, and this response must be discarded if the request results in a cross-origin redirect.\n *\n * > [!NOTE]\n * > For compatibility and security reasons, it is recommended to [only send HTTP `103 Early Hints` responses over HTTP/2 or later](https://www.rfc-editor.org/rfc/rfc8297#section-3) unless the client is known to handle informational responses correctly.\n * >\n * > Most browsers limit support to HTTP/2 or later for this reason. See [browser compatibility](#browser_compatibility) below.\n * > Despite this, the examples below use HTTP/1.1-style notation as per usual convention.\n */\n EARLY_HINTS = 103,\n\n /**\n * The HTTP **`200 OK`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code indicates that a request has succeeded.\n * A `200 OK` response is cacheable by default.\n *\n * A `200 OK` response has a different meaning and format depending on the HTTP request method.\n * Here's how they vary for different methods:\n *\n * - [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET): A resource was retrieved by the server and included in the response body.\n * - [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST): An action succeeded; the response has a message body describing the result.\n * - [HEAD](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/HEAD): Identical to `GET`, except there is no message body.\n * - [TRACE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/TRACE): The response has a message body containing the request as received by the server.\n *\n * Although possible, successful [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) or [DELETE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/DELETE) requests often do not result in a `200 OK` response.\n * It is more common to see [201 Created](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201) if the resource is uploaded or created for the first time, or [204 No Content](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204) upon successful deletion of a resource.\n */\n OK = 200,\n\n /**\n * The HTTP **`201 Created`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code indicates that the HTTP request has led to the creation of a resource.\n * This status code is commonly sent as the result of a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request.\n *\n * The new resource, or a description and link to the new resource, is created before the response is returned.\n * The newly-created items are returned in the body of the message, located at either the **URL of the initial request** or the URL in the value of the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header in the response.\n */\n CREATED = 201,\n\n /**\n * The HTTP **`202 Accepted`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code indicates that a request has been accepted for processing, but processing has not been completed or may not have started.\n * The actual processing of the request is not guaranteed; a task or action may fail or be disallowed when a server tries to process it.\n *\n * A `202` response is non-committal, meaning there is no way to later send an asynchronous HTTP response to indicate the outcome of the processing.\n * This response code is typically used when the request is handled by another process or server, or when requests are processed in batches.\n */\n ACCEPTED = 202,\n\n /**\n * The HTTP **`203 Non-Authoritative Information`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code indicates that the request was successful, but a _transforming [proxy](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server)_ has modified the headers or enclosed content from the origin server's [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) (`OK`) response.\n *\n * The purpose of this status code is to allow transforming proxies to notify clients when changes have been applied to successful responses, since this may impact decisions regarding the content later.\n * Transformations to messages can mean modifications of headers to indicate that a resource is from a mirror or a backup, but may also mean modifying content in a way that are presumed to be desirable to the client.\n * These modifications might include malware filtering, format transcoding, privacy filtering, or other hints to the client about future requests.\n *\n * The `203` response is similar to the [`214`](/en-US/docs/Web/HTTP/Headers/Warning#warning_codes) `Transformation Applied` value of the deprecated [Warning](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Warning) header, which may be applicable to responses with any status code.\n */\n NON_AUTHORITATIVE_INFORMATION = 203,\n\n /**\n * The HTTP **`204 No Content`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code indicates that a request has succeeded, but the client doesn't need to navigate away from its current page.\n * A `204` response is cacheable by default, and an [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header is included in such cases.\n *\n * A `204 No Content` in response to these request methods has the following meaning and results:\n *\n * - [DELETE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/DELETE): The action was successful, and no further information needs to be supplied.\n * - [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT): The action was successful, and the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) value contains the entity tag for the new representation of that target resource.\n *\n * A `204` response can be used when implementing \"save and continue editing\" functionality for applications like wiki sites.\n * In this case, a [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) request could be used to save the page contents, and a `204 No Content` response indicates to the browser that the editor should not be replaced by other content.\n */\n NO_CONTENT = 204,\n\n /**\n * The HTTP **`205 Reset Content`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code indicates that the request has been successfully processed and the client should reset the document view.\n *\n * This response is intended to support use cases where the user receives content that supports data entry, submits user-edited data in a request, and the content needs to be reset for the next entry.\n * The instruction to \"reset content\" can mean clearing the contents of a form, resetting a canvas state, or refreshing a UI; the implementation depends on the client.\n *\n * > [!NOTE]\n * > In web applications that use the `205` status, it's assumed that the client handles resetting content after a `205` response.\n * > This is typically done via JavaScript, as resetting content such as forms after a `205` response is not handled natively by browsers.\n *\n * There must be no content in the response body, and this can be indicated using [Content-Length: 0](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header or [Transfer-Encoding: chunked](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding) header with an empty chunk.\n */\n RESET_CONTENT = 205,\n\n /**\n * The HTTP **`206 Partial Content`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code is sent in response to a [range request](/en-US/docs/Web/HTTP/Range_requests).\n * The response body contains the requested ranges of data as specified in the [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) header of the request.\n *\n * The format of the response depends on the number of ranges requested.\n * If a single range is requested, the [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) of the entire response is set to the type of the document, and a [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) is provided.\n * If several ranges are requested, the [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) is set to `multipart/byteranges`, and each fragment covers one range, with its own [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) and [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) headers describing it.\n */\n PARTIAL_CONTENT = 206,\n\n /**\n * The HTTP **`207 Multi-Status`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code indicates a mixture of responses.\n * This response is used exclusively in the context of Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)).\n *\n * The response body is a `text/xml` or `application/xml` HTTP entity with a `multistatus` root element that lists individual response codes.\n *\n * > [!NOTE]\n * > Browsers accessing web pages will never encounter this status code.\n * > The ability to return a _collection of resources_ is part of the [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) protocol and is only encountered by web applications that access a WebDAV server.\n */\n MULTI_STATUS = 207,\n\n /**\n * The HTTP **`208 Already Reported`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code is used in a [207 Multi-Status](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/207) response to save space and avoid conflicts.\n * This response is used exclusively in the context of Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)).\n *\n * 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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200).\n * Responses for all other bindings will report with this `208` status code, so no conflicts are created and the response stays shorter.\n *\n * > [!NOTE]\n * > The ability to _bind_ a resource to several paths is an extension to the [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) protocol (it may be received by web applications accessing a WebDAV server).\n * > Browsers accessing web pages will never encounter this status code.\n */\n ALREADY_REPORTED = 208,\n\n /**\n * The HTTP **`226 IM Used`** [successful response](/en-US/docs/Web/HTTP/Status#successful_responses) status code indicates that the server is returning a [delta](https://developer.mozilla.org/en-US/docs/Glossary/delta) in response to a [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) request.\n * It is used in the context of _HTTP delta encodings_.\n *\n * IM stands for _instance manipulation_, which refers to the algorithm generating a _delta_.\n * In delta encoding, a client sends a [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) request with two headers: `A-IM:`, which indicates a preference for a differencing algorithm, and [If-None-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match), which specifies the version of a resource it has.\n * The server responds with deltas relative to a given base document, rather than the document in full.\n * This response uses the `226` status code, an `IM:` header that describes the differencing algorithm used, and may include a `Delta-Base:` header with the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) matching the base document associated to the delta.\n *\n * > [!WARNING]\n * > Poor support for HTTP delta encodings means there are few implementations.\n * > Instead, most systems rely solely on [compression methods](/en-US/docs/Web/HTTP/Compression) to reduce bandwidth, although a combination of compression and delta encodings is possible.\n * >\n * > Even if the client and server support delta encodings, proxies or caches may not, and the complexity of adding HTTP delta encodings to a system may outweigh the benefits.\n */\n IM_USED = 226,\n\n /**\n * The HTTP **`300 Multiple Choices`** [redirection response](/en-US/docs/Web/HTTP/Status#redirection_messages) status code indicates that the request has more than one possible response.\n * The user-agent or the user should choose one of them.\n *\n * > [!NOTE]\n * > In [agent-driven content negotiation](/en-US/docs/Web/HTTP/Content_negotiation#agent-driven_negotiation), a client and server collaboratively decide the best variant of a given resource when the server has multiple variants.\n * > Most clients lack a method for automatically choosing from responses, and the additional round-trips slow down client-server interaction.\n * > [Server-driven content negotiation](/en-US/docs/Web/HTTP/Content_negotiation#server-driven_content_negotiation) is far more common, where a server chooses the most appropriate resource for the client based on the request headers ([Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language), [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept), etc.).\n *\n * The server should include content in the response that contains a list of resource metadata and URIs from which the user or user agent can choose.\n * The format of the content is implementation-specific, but should be easily parsed by the user agent (such as HTML or JSON).\n *\n * If the server has a preferred choice that the client should request, it can include it in a [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n */\n MULTIPLE_CHOICES = 300,\n\n /**\n * The HTTP **`301 Moved Permanently`** [redirection response](/en-US/docs/Web/HTTP/Status#redirection_messages) status code indicates that the requested resource has been permanently moved to the URL in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * A browser receiving this status will automatically request the resource at the URL in the `Location` header, redirecting the user to the new page.\n * Search engines receiving this response will attribute links to the original URL to the redirected resource, passing the [SEO](https://developer.mozilla.org/en-US/docs/Glossary/SEO) ranking to the new URL.\n *\n * > [!NOTE]\n * > In the [Fetch Standard](https://fetch.spec.whatwg.org/#http-redirect-fetch), when a user agent receives a `301` in response to a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request, it uses the [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) method in the subsequent redirection request, as permitted by the HTTP [specification](#specifications).\n * > To avoid user agents modifying the request, use [308 Permanent Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308) instead, as altering the method after a `308` response is prohibited.\n */\n MOVED_PERMANENTLY = 301,\n\n /**\n * The HTTP **`302 Found`** [redirection response](/en-US/docs/Web/HTTP/Status#redirection_messages) status code indicates that the requested resource has been temporarily moved to the URL in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * A browser receiving this status will automatically request the resource at the URL in the `Location` header, redirecting the user to the new page.\n * Search engines receiving this response will not attribute links to the original URL to the new resource, meaning no [SEO](https://developer.mozilla.org/en-US/docs/Glossary/SEO) value is transferred to the new URL.\n *\n * > [!NOTE]\n * > In the [Fetch Standard](https://fetch.spec.whatwg.org/#http-redirect-fetch), when a user agent receives a `302` in response to a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request, it uses the [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) method in the subsequent redirection request, as permitted by the HTTP [specification](#specifications).\n * > To avoid user agents modifying the request, use [307 Temporary Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307) instead, as altering the method after a `307` response is prohibited.\n * >\n * > In cases where you want any request method to be changed to [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET), use [303 See Other](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/303).\n * > This is useful when you want to give a response to a [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) method that is not the uploaded resource but a confirmation message such as: \"you successfully uploaded XYZ\".\n */\n FOUND = 302,\n\n /**\n * The HTTP **`303 See Other`** [redirection response](/en-US/docs/Web/HTTP/Status#redirection_messages) status code indicates that the browser should redirect to the URL in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header instead of rendering the requested resource.\n *\n * This response code is often sent back as a result of [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) or [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) methods so the client may retrieve a confirmation, or view a representation of a real-world object (see [HTTP range-14](https://en.wikipedia.org/wiki/HTTPRange-14)).\n * The method to retrieve the redirected resource is always [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET).\n */\n SEE_OTHER = 303,\n\n /**\n * The HTTP **`304 Not Modified`** [redirection response](/en-US/docs/Web/HTTP/Status#redirection_messages) status code indicates that there is no need to retransmit the requested resources.\n *\n * This response code is sent when the request is a [conditional](/en-US/docs/Web/HTTP/Conditional_requests) [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) or [HEAD](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/HEAD) request with an [If-None-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match) or an [If-Modified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since) header and the condition evaluates to 'false'.\n * It confirms that the resource cached by the client is still valid and that the server would have sent a [200 OK](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) response with the resource if the condition evaluated to 'true'.\n * See [HTTP caching](/en-US/docs/Web/HTTP/Caching) for more information.\n *\n * The response must not contain a body and must include the headers that would have been sent in an equivalent [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) response, such as:\n *\n * - [Cache-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control)\n * - [Content-Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Location)\n * - [Date](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Date)\n * - [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag)\n * - [Expires](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires)\n * - [Vary](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Vary)\n *\n * > [!NOTE]\n * > Many [developer tools' network panels](https://firefox-source-docs.mozilla.org/devtools-user/network_monitor/index.html) of browsers create extraneous requests leading to `304` responses, so that access to the local cache is visible to developers.\n */\n NOT_MODIFIED = 304,\n\n /**\n * The HTTP **`307 Temporary Redirect`** [redirection response](/en-US/docs/Web/HTTP/Status#redirection_messages) status code indicates that the resource requested has been temporarily moved to the URL in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * A browser receiving this status will automatically request the resource at the URL in the `Location` header, redirecting the user to the new page.\n * Search engines receiving this response will not attribute links to the original URL to the new resource, meaning no [SEO](https://developer.mozilla.org/en-US/docs/Glossary/SEO) value is transferred to the new URL.\n *\n * The method and the body of the original request are reused to perform the redirected request.\n * In the cases where you want the request method to be changed to [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET), use [303 See Other](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/303) instead.\n * This is useful when you want to give an answer to a successful [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) request that is not the uploaded resource, but a status monitor or confirmation message like \"You have successfully uploaded XYZ\".\n *\n * The difference between `307` and [302](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302) is that `307` guarantees that the client **will not change** the request method and body when the redirected request is made.\n * With `302`, older clients incorrectly changed the method to [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET).\n * `307` and `302` responses are identical when the request method is [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET).\n */\n TEMPORARY_REDIRECT = 307,\n\n /**\n * The HTTP **`308 Permanent Redirect`** [redirection response](/en-US/docs/Web/HTTP/Status#redirection_messages) status code indicates that the requested resource has been permanently moved to the URL given by the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * A browser receiving this status will automatically request the resource at the URL in the `Location` header, redirecting the user to the new page.\n * Search engines receiving this response will attribute links to the original URL to the redirected resource, passing the [SEO](https://developer.mozilla.org/en-US/docs/Glossary/SEO) ranking to the new URL.\n *\n * The request method and the body **will not be modified** by the client in the redirected request.\n * A [301 Moved Permanently](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301) requires the request method and the body to remain unchanged when redirection is performed, but this is incorrectly handled by older clients to use the [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) method instead.\n *\n * > [!NOTE]\n * > Some Web applications may use the `308 Permanent Redirect` in a non-standard way and for different purposes.\n * > For example, Google Drive uses a `308 Resume Incomplete` response to indicate to the client when an unfinished upload has stalled.\n * > See [Perform a resumable download](https://developers.google.com/drive/api/guides/manage-uploads) on the Google Drive documentation for more information.\n */\n PERMANENT_REDIRECT = 308,\n\n /**\n * The HTTP **`400 Bad Request`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server would not process the request due to something the server considered to be a client error.\n * The reason for a `400` response is typically due to malformed request syntax, invalid request message framing, or deceptive request routing.\n *\n * Clients that receive a `400` response should expect that repeating the request without modification will fail with the same error.\n */\n BAD_REQUEST = 400,\n\n /**\n * The HTTP **`401 Unauthorized`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that a request was not successful because it lacks valid authentication credentials for the requested resource.\n * This status code is sent with an HTTP [WWW-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/WWW-Authenticate) response header that contains information on the [authentication scheme](/en-US/docs/Web/HTTP/Authentication#authentication_schemes) the server expects the client to include to make the request successfully.\n *\n * A `401 Unauthorized` is similar to the [403 Forbidden](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403) response, except that a 403 is returned when a request contains valid credentials, but the client does not have permissions to perform a certain action.\n */\n UNAUTHORIZED = 401,\n\n /**\n * The HTTP **`402 Payment Required`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code is a **nonstandard** response status code reserved for future use.\n *\n * This status code was created to enable digital cash or (micro) payment systems and would indicate that requested content is not available until the client makes a payment.\n * No standard use convention exists and different systems use it in different contexts.\n */\n PAYMENT_REQUIRED = 402,\n\n /**\n * The HTTP **`403 Forbidden`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server understood the request but refused to process it.\n * This status is similar to [401](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401), except that for **`403 Forbidden`** responses, authenticating or re-authenticating makes no difference.\n * The request failure is tied to application logic, such as insufficient permissions to a resource or action.\n *\n * Clients that receive a `403` response should expect that repeating the request without modification will fail with the same error.\n * Server owners may decide to send a [404](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404) response instead of a 403 if acknowledging the existence of a resource to clients with insufficient privileges is not desired.\n */\n FORBIDDEN = 403,\n\n /**\n * The HTTP **`404 Not Found`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server cannot find the requested resource.\n * Links that lead to a 404 page are often called broken or dead links and can be subject to [link rot](https://en.wikipedia.org/wiki/Link_rot).\n *\n * A 404 status code only indicates that the resource is missing without indicating if this is temporary or permanent.\n * If a resource is permanently removed, servers should send the [410 Gone](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410) status instead.\n *\n * 404 errors on a website can lead to a poor user experience for your visitors, so the number of broken links (internal and external) should be minimized to prevent frustration for readers.\n * Common causes of 404 responses are mistyped URLs or pages that are moved or deleted without redirection.\n * For more information, see the [Redirections in HTTP](/en-US/docs/Web/HTTP/Redirections) guide.\n */\n NOT_FOUND = 404,\n\n /**\n * The HTTP **`405 Method Not Allowed`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server knows the request method, but the target resource doesn't support this method.\n * The server **must** generate an [Allow](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Allow) header in a 405 response with a list of methods that the target resource currently supports.\n *\n * Improper server-side permissions set on files or directories may cause a 405 response when the request would otherwise be expected to succeed.\n */\n METHOD_NOT_ALLOWED = 405,\n\n /**\n * The HTTP **`406 Not Acceptable`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server could not produce a response matching the list of acceptable values defined in the request's [proactive content negotiation](/en-US/docs/Web/HTTP/Content_negotiation#server-driven_content_negotiation) headers and that the server was unwilling to supply a default representation.\n *\n * Proactive content negotiation headers include:\n *\n * - [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept)\n * - [Accept-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding)\n * - [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language)\n *\n * A server may return responses that differ from the request's accept headers.\n * In such cases, a [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) response with a default resource that doesn't match the client's list of acceptable content negotiation values may be preferable to sending a 406 response.\n *\n * If a server returns a 406, the body of the message should contain the list of available representations for the resource, allowing the user to choose, although no standard way for this is defined.\n */\n NOT_ACCEPTABLE = 406,\n\n /**\n * The HTTP **`407 Proxy Authentication Required`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the request did not succeed because it lacks valid authentication credentials for the [proxy server](https://developer.mozilla.org/en-US/docs/Glossary/proxy_server) that sits between the client and the server with access to the requested resource.\n *\n * This response is sent with a [Proxy-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authenticate) header that contains information on how to correctly authenticate requests.\n * The client may repeat the request with a new or replaced [Proxy-Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authorization) header field.\n */\n PROXY_AUTHENTICATION_REQUIRED = 407,\n\n /**\n * The HTTP **`408 Request Timeout`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server would like to shut down this unused connection.\n * A `408` is sent on an idle connection by some servers, _even without any previous request by the client_.\n *\n * A server should send the [Connection: close](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection) header field in the response, since `408` implies that the server has decided to close the connection rather than continue waiting.\n *\n * This response is used much more since some browsers, like Chrome and Firefox, use HTTP pre-connection mechanisms to speed up surfing.\n *\n * > [!NOTE]\n * > Some servers will shut down a connection without sending this message.\n */\n REQUEST_TIMEOUT = 408,\n\n /**\n * The HTTP **`409 Conflict`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates a request conflict with the current state of the target resource.\n *\n * In [WebDAV](https://developer.mozilla.org/en-US/docs/glossary/WebDAV) remote web authoring, 409 conflict responses are errors sent to the client so that a user might be able to resolve a conflict and resubmit the request.\n * For example, conflicts occur if a request to create collection `/a/b/c/d/` is made, and `/a/b/c/` does not exist, the request must fail with a 409.\n * Additionally, 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.\n *\n * In other systems, 409 responses may be used for implementation-specific purposes, such as to indicate that the server has received multiple requests to update the same resource.\n */\n CONFLICT = 409,\n\n /**\n * The HTTP **`410 Gone`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the target resource is no longer available at the origin server and that this condition is likely to be permanent.\n * A 410 response is cacheable by default.\n *\n * Clients should not repeat requests for resources that return a 410 response, and website owners should remove or replace links that return this code.\n * If server owners don't know whether this condition is temporary or permanent, a status code should be used instead.\n */\n GONE = 410,\n\n /**\n * The HTTP **`411 Length Required`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server refused to accept the request without a defined [Content-Length](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header.\n *\n * > [!NOTE]\n * > When sending data in a series of chunks, the `Content-Length` header is omitted, and at the beginning of each chunk, the length of the current chunk needs to be included in hexadecimal format.\n * > See [Transfer-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding) for more details.\n */\n LENGTH_REQUIRED = 411,\n\n /**\n * The HTTP **`412 Precondition Failed`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that access to the target resource was denied.\n * This happens with [conditional requests](/en-US/docs/Web/HTTP/Conditional_requests) on methods other than [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) or [HEAD](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/HEAD) when the condition defined by the [If-Unmodified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Unmodified-Since) or [If-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) headers is not fulfilled.\n * In that case, the request (usually an upload or a modification of a resource) cannot be made and this error response is sent back.\n */\n PRECONDITION_FAILED = 412,\n\n /**\n * The HTTP **`413 Content Too Large`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the request entity was larger than limits defined by server.\n * The server might close the connection or return a [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header field.\n *\n * Prior to [9110](https://developer.mozilla.org/en-US/docs/rfc/9110) the response phrase for the status was **`Payload Too Large`**.\n * This message is still widely used.\n */\n CONTENT_TOO_LARGE = 413,\n\n /**\n * The HTTP **`414 URI Too Long`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that a URI requested by the client was longer than the server is willing to interpret.\n *\n * There are a few rare conditions when this error might occur:\n *\n * - a client has improperly converted a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request to a [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) request with long query information,\n * - a client has descended into a loop of redirection (for example, a redirected URI prefix that points to a suffix of itself), or\n * - the server is under attack by a client attempting to exploit potential security holes.\n *\n * Some systems implement `414 URI Too Long` as `414 Request-URI Too Large`.\n */\n URI_TOO_LONG = 414,\n\n /**\n * The HTTP **`415 Unsupported Media Type`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server refused to accept the request because the message [content](https://developer.mozilla.org/en-US/docs/Glossary/HTTP_Content) format is not supported.\n *\n * The format problem might be due to the request's indicated [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) or [Content-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding), or as a result of processing the request message content.\n * Some servers may be strict about the expected `Content-Type` of requests.\n * For example, sending `UTF8` instead of `UTF-8` to specify the [UTF-8](https://developer.mozilla.org/en-US/docs/glossary/UTF-8) charset may cause the server to consider the media type invalid.\n */\n UNSUPPORTED_MEDIA_TYPE = 415,\n\n /**\n * The HTTP **`416 Range Not Satisfiable`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that a server could not serve the requested ranges.\n * The most likely reason for this response is that the document doesn't contain such [ranges](/en-US/docs/Web/HTTP/Range_requests), or that the [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) header value, though syntactically correct, doesn't make sense.\n *\n * The `416` response message should contain a [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) indicating an unsatisfied range (that is a `'*'`) followed by a `'/'` and the current length of the resource, e.g., `Content-Range: bytes * /12777`\n *\n * When encountering this error, browsers typically either abort the operation (for example, a download will be considered non-resumable) or request the whole document again without ranges.\n */\n RANGE_NOT_SATISFIABLE = 416,\n\n /**\n * The HTTP **`417 Expectation Failed`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the expectation given in the request's [Expect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect) header could not be met.\n * After receiving a 417 response, a client should repeat the request without an `Expect` request header, including the file in the request body without waiting for a [100](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100) response.\n * See the [Expect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect) header documentation for more details.\n */\n EXPECTATION_FAILED = 417,\n\n /**\n * The HTTP **`418 I'm a teapot`** status response code indicates that the server refuses to brew coffee because it is, permanently, a teapot.\n * A combined coffee/tea pot that is temporarily out of coffee should instead return [503](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503).\n * This error is a reference to Hyper Text Coffee Pot Control Protocol defined in April Fools' jokes in 1998 and 2014.\n *\n * Some websites use this response for requests they do not wish to handle, such as automated queries.\n */\n I_M_A_TEAPOT = 418,\n\n /**\n * The HTTP **`421 Misdirected Request`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the request was directed to a server that is not able to produce a response.\n * This can be sent by a server that is not configured to produce responses for the combination of [scheme](/en-US/docs/Web/URI/Schemes) and [authority](/en-US/docs/Web/URI/Authority) that are included in the request URI.\n *\n * Clients may retry the request over a different connection.\n */\n MISDIRECTED_REQUEST = 421,\n\n /**\n * The HTTP **`422 Unprocessable Content`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server understood the content type of the request content, and the syntax of the request content was correct, but it was unable to process the contained instructions.\n *\n * Clients that receive a `422` response should expect that repeating the request without modification will fail with the same error.\n */\n UNPROCESSABLE_CONTENT = 422,\n\n /**\n * The HTTP **`423 Locked`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that a resource is _locked_, meaning it can't be accessed.\n * Its response body should contain information in [WebDAV](https://developer.mozilla.org/en-US/docs/glossary/WebDAV)'s XML format.\n *\n * > [!NOTE]\n * > The ability to _lock_ a resource to prevent conflicts is specific to some [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) servers.\n * > Browsers accessing web pages will never encounter this status code; in the erroneous cases it happens, they will handle it as a generic status code.\n */\n LOCKED = 423,\n\n /**\n * The HTTP **`424 Failed Dependency`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the method could not be performed on the resource because the requested action depended on another action, and that action failed.\n *\n * Regular web servers typically do not return this status code, but some protocols like [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) can return it.\n * For example, in [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV), if a `PROPPATCH` request was issued, and one command fails then automatically every other command will also fail with `424 Failed Dependency`.\n */\n FAILED_DEPENDENCY = 424,\n\n /**\n * The HTTP **`425 Too Early`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server was unwilling to risk processing a request that might be replayed to avoid potential replay attacks.\n *\n * If a client has interacted with a server recently, early data (also known as zero round-trip time [(0-RTT) data](/en-US/docs/Web/Security/Transport_Layer_Security#tls_1.3)) allows the client to send data to a server in the first round trip of a connection, without waiting for the TLS [handshake](/en-US/docs/Glossary/TCP_handshake) to complete.\n * A client that sends a request in early data does not need to include the `Early-Data` header.\n * See [Early-Data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Early-Data) for more information.\n */\n TOO_EARLY = 425,\n\n /**\n * The HTTP **`426 Upgrade Required`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server refused to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.\n *\n * The server sends an [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) header with this response to indicate the required protocol(s).\n */\n UPGRADE_REQUIRED = 426,\n\n /**\n * The HTTP **`428 Precondition Required`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server requires the request to be [conditional](/en-US/docs/Web/HTTP/Conditional_requests).\n *\n * Typically, a 428 response means that a required precondition header such as [If-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) **is missing**.\n * When a precondition header does **not match** the server-side state, the response should be [412 Precondition Failed](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412).\n */\n PRECONDITION_REQUIRED = 428,\n\n /**\n * The HTTP **`429 Too Many Requests`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates the client has sent too many requests in a given amount of time.\n * This mechanism of asking the client to slow down the rate of requests is commonly called \"[rate limiting](https://developer.mozilla.org/en-US/docs/glossary/rate_limit)\".\n *\n * A [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header may be included to this response to indicate how long a client should wait before making the request again.\n *\n * Implementations of rate limiting vary; restrictions may be server-wide or per resource.\n * Typically, rate-limiting restrictions are based on a client's IP but can be specific to users or authorized applications if requests are authenticated or contain a [cookie](https://developer.mozilla.org/en-US/docs/Glossary/cookie).\n */\n TOO_MANY_REQUESTS = 429,\n\n /**\n * The HTTP **`431 Request Header Fields Too Large`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the server refuses to process the request because the request's [HTTP headers](/en-US/docs/Web/HTTP/Headers) are too long.\n * The request may be resubmitted after reducing the size of the request headers.\n *\n * 431 can be used when the total size of request headers is too large or when a single header field is too large.\n * To help clients running into this error, indicate which of the two is the problem in the response body and, ideally, say which headers are too large.\n * This lets people attempt to fix the problem, such as by clearing cookies.\n *\n * Servers will often produce this status if:\n *\n * - The [Referer](https://developer.mozilla.org/en-US/docs/httpheader/Referer) URL is too long\n * - There are too many [Cookies](/en-US/docs/Web/HTTP/Cookies) sent in the request\n */\n REQUEST_HEADER_FIELDS_TOO_LARGE = 431,\n\n /**\n * The HTTP **`451 Unavailable For Legal Reasons`** [client error response](/en-US/docs/Web/HTTP/Status#client_error_responses) status code indicates that the user requested a resource that is not available due to legal reasons, such as a web page for which a legal action has been issued.\n */\n UNAVAILABLE_FOR_LEGAL_REASONS = 451,\n\n /**\n * The HTTP **`500 Internal Server Error`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.\n * This error is a generic \"catch-all\" response to server issues, indicating that the server cannot find a more appropriate [5XX error](/en-US/docs/Web/HTTP/Status#server_error_responses) to respond with.\n *\n * If you're a visitor seeing `500` errors on a web page, these issues require investigation by server owners or administrators.\n * There are many possible causes of `500` errors, including: improper server configuration, out-of-memory (OOM) issues, unhandled exceptions, improper file permissions, or other complex factors.\n * Server administrators may proactively log occurrences of server error responses, like the `500` status code, with details about the initiating requests to improve the stability of a service in the future.\n */\n INTERNAL_SERVER_ERROR = 500,\n\n /**\n * The HTTP **`501 Not Implemented`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code means that the server does not support the functionality required to fulfill the request.\n *\n * A response with this status may also include a [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header, telling the client that they can retry the request after the specified time has elapsed.\n * A `501` response is cacheable by default unless caching headers instruct otherwise.\n *\n * `501` is the appropriate response when the server does not recognize the request method and is incapable of supporting it for any resource.\n * Servers are required to support [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) and [HEAD](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/HEAD), and therefore must not return `501` in response to requests with these methods.\n * If the server does recognize the method, but intentionally does not allow it, the appropriate response is [405 Method Not Allowed](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405).\n *\n * If you have visited a web page and you are seeing `501` errors, these issues require investigation and fixing by server owners or administrators.\n * You can clear your browser cache for the domain, disable proxies if you are using one, or try again later to see if it works as expected.\n *\n * A `501` response can occur if proxies cannot not handle request methods used in the context of HTTP Extension Framework ([2774](https://developer.mozilla.org/en-US/docs/RFC/2774)) applications.\n * This status can also occur in Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)) when a request method (`SEARCH`, `PROPFIND`) does not have a URL handler configured to process it.\n */\n NOT_IMPLEMENTED = 501,\n\n /**\n * The HTTP **`502 Bad Gateway`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code indicates that a server was acting as a gateway or [proxy](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server) and that it received an invalid response from the upstream server.\n *\n * This response is similar to a [500 Internal Server Error](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) response in the sense that it is a generic \"catch-call\" for server errors.\n * The difference is that it is specific to the point in the request chain that the error has occurred.\n * If the origin server sends a valid HTTP error response to the gateway, the response should be passed on to the client instead of a `502` to make the failure reason transparent.\n * If the proxy or gateway did not receive any HTTP response from the origin, it instead sends a [504 Gateway Timeout](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504) to the client.\n *\n * There are many causes of `502` errors, and fixing such problems probably requires investigation by server owners or administrators.\n * Exceptions are client networking errors, particularly if the service works for other visitors, and if clients use VPNs or other custom networking setups.\n * In such cases, clients should check network settings, firewall setup, proxy settings, DNS configuration, etc.\n */\n BAD_GATEWAY = 502,\n\n /**\n * The HTTP **`503 Service Unavailable`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code indicates that the server is not ready to handle the request.\n *\n * Common causes are that a server is down for maintenance or overloaded.\n * During maintenance, server administrators may temporarily route all traffic to a `503` page, or this may happen automatically during software updates.\n * In overload cases, some server-side applications will reject requests with a `503` status when resource thresholds like memory, CPU, or connection pool limits are met.\n * Dropping incoming requests creates backpressure that prevents the server's compute resources from being exhausted, avoiding more severe failures.\n * If requests from specific clients are being restricted due to [rate limiting](https://developer.mozilla.org/en-US/docs/Glossary/Rate_limit), the appropriate response is [429 Too Many Requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429).\n *\n * This response should be used for temporary conditions and the [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) HTTP header should contain the estimated time for the recovery of the service, if possible.\n *\n * A user-friendly page explaining the problem should be sent along with this response.\n *\n * > [!NOTE]\n * > Caching-related headers sent with this response require special attention; a `503` indicates a temporary issue and responses shouldn't usually be cached as clients may receive outdated error pages after a fix has been deployed.\n */\n SERVICE_UNAVAILABLE = 503,\n\n /**\n * The HTTP **`504 Gateway Timeout`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code indicates that the server, while acting as a gateway or [proxy](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server), did not get a response in time from the upstream server in order to complete the request.\n * This is similar to a [502 Bad Gateway](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502), except that in a `504` status, the proxy or gateway did not receive any HTTP response from the origin within a certain time.\n *\n * There are many causes of `504` errors, and fixing such problems likely requires investigation and debugging by server administrators, or the site may work again at a later time.\n * Exceptions are client networking errors, particularly if the service works for other visitors, and if clients use VPNs or other custom networking setups.\n * In such cases, clients should check network settings, firewall setup, proxy settings, DNS configuration, etc.\n */\n GATEWAY_TIMEOUT = 504,\n\n /**\n * The HTTP **`505 HTTP Version Not Supported`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code indicates that the HTTP version used in the request is not supported by the server.\n *\n * It's common to see this error when a request line is improperly formed such as `GET /path to resource HTTP/1.1` or with `\\n` terminating the request line instead of `\\r\\n`.\n * For example, intermediaries such as load balancers may not handle request lines of a forwarded request as illustrated in the example below.\n */\n HTTP_VERSION_NOT_SUPPORTED = 505,\n\n /**\n * The HTTP **`506 Variant Also Negotiates`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code is returned during content negotiation when there is recursive loop in the process of selecting a resource.\n *\n * [Agent-driven content negotiation](/en-US/docs/Web/HTTP/Content_negotiation#agent-driven_negotiation) enables a client and server to collaboratively decide the best variant of a given resource when the server has multiple variants.\n * A server sends a `506` status code due to server misconfiguration that results in circular references when creating responses.\n *\n * Lack of standardization of how clients automatically choose from responses, and the additional round-trips that slow down client-server interaction mean this mechanism is rarely used.\n * [Server-driven content negotiation](/en-US/docs/Web/HTTP/Content_negotiation#server-driven_content_negotiation) is far more common, where a server directly chooses the most appropriate resource for the client based on the request headers ([Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language), [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept), etc.).\n */\n VARIANT_ALSO_NEGOTIATES = 506,\n\n /**\n * The HTTP **`507 Insufficient Storage`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code indicates that an action could not be performed because the server does not have enough available storage to successfully complete the request.\n *\n * This status code was first used in the context of Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)), but has propagated into other use cases to describe situations where server resources are exhausted.\n * Common causes of this error can be from server directories running out of available space, not enough available RAM for an operation, or internal limits reached (such as application-specific memory limits, for example).\n * The request causing this error does not necessarily need to include content, as it may be a request that would create a resource on the server if it was successful.\n *\n * This issue is considered temporary, as opposed to a [413 Content Too Large](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/413), which indicates that the client request is too large for the server to process regardless of server resource constraints.\n */\n INSUFFICIENT_STORAGE = 507,\n\n /**\n * The HTTP **`508 Loop Detected`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code indicates that the entire operation failed because it encountered an infinite loop while processing a request with `Depth: infinity`.\n *\n * The status may be given in the context of the Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)).\n * It was introduced as a fallback for cases where WebDAV clients do not support [208 Already Reported](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/208) responses (when requests do not explicitly include a `DAV` header).\n */\n LOOP_DETECTED = 508,\n\n /**\n * The HTTP **`510 Not Extended`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code is sent when the client request declares an HTTP Extension ([2774](https://developer.mozilla.org/en-US/docs/RFC/2774)) that should be used to process the request, but the extension is not supported.\n */\n NOT_EXTENDED = 510,\n\n /**\n * The HTTP **`511 Network Authentication Required`** [server error response](/en-US/docs/Web/HTTP/Status#server_error_responses) status code indicates that the client needs to authenticate to gain network access.\n * This status is not generated by origin servers, but by intercepting [proxies](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server) that control access to a network.\n *\n * Network operators sometimes require some authentication, acceptance of terms, or other user interaction before granting access (for example in an internet café or at an airport).\n * They often identify clients who have not done so using their Media Access Control (MAC) addresses.\n */\n NETWORK_AUTHENTICATION_REQUIRED = 511,\n}\n"],"names":["HttpStatusCode"],"mappings":";AAAY,IAAA,iBAAAA,kBAAAA,qBASVA,gBAAA,gBAAA,WAAW,GAAX,IAAA,YASAA,gBAAA,gBAAA,sBAAsB,GAAtB,IAAA,uBAUAA,gBAAA,gBAAA,aAAa,GAAb,IAAA,cAmBAA,gBAAA,gBAAA,cAAc,GAAd,IAAA,eAiBAA,gBAAA,gBAAA,KAAK,GAAL,IAAA,MASAA,gBAAA,gBAAA,UAAU,GAAV,IAAA,WASAA,gBAAA,gBAAA,WAAW,OAAX,YAWAA,gBAAAA,gBAAA,gCAAgC,GAAA,IAAhC,iCAcAA,gBAAAA,gBAAA,aAAa,GAAA,IAAb,cAcAA,gBAAAA,gBAAA,gBAAgB,GAAA,IAAhB,iBAUAA,gBAAAA,gBAAA,kBAAkB,GAAA,IAAlB,mBAYAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBAaAA,gBAAAA,gBAAA,mBAAmB,GAAA,IAAnB,oBAiBAA,gBAAAA,gBAAA,UAAU,GAAA,IAAV,WAgBAA,gBAAAA,gBAAA,mBAAmB,GAAnB,IAAA,oBAYAA,gBAAA,gBAAA,oBAAoB,GAApB,IAAA,qBAeAA,gBAAA,gBAAA,QAAQ,GAAR,IAAA,SAQAA,gBAAA,gBAAA,YAAY,GAAZ,IAAA,aAqBAA,gBAAA,gBAAA,eAAe,GAAf,IAAA,gBAgBAA,gBAAA,gBAAA,qBAAqB,GAArB,IAAA,sBAgBAA,gBAAA,gBAAA,qBAAqB,GAArB,IAAA,sBAQAA,gBAAA,gBAAA,cAAc,GAAd,IAAA,eAQAA,gBAAA,gBAAA,eAAe,GAAf,IAAA,gBAQAA,gBAAA,gBAAA,mBAAmB,GAAnB,IAAA,oBAUAA,gBAAA,gBAAA,YAAY,GAAZ,IAAA,aAaAA,gBAAA,gBAAA,YAAY,GAAZ,IAAA,aAQAA,gBAAA,gBAAA,qBAAqB,GAArB,IAAA,sBAgBAA,gBAAA,gBAAA,iBAAiB,GAAjB,IAAA,kBAQAA,gBAAA,gBAAA,gCAAgC,GAAhC,IAAA,iCAaAA,gBAAA,gBAAA,kBAAkB,GAAlB,IAAA,mBAWAA,gCAAA,WAAW,GAAA,IAAX,YASAA,gBAAAA,gBAAA,OAAO,GAAA,IAAP,QASAA,gBAAAA,gBAAA,kBAAkB,GAAA,IAAlB,mBAOAA,gBAAAA,gBAAA,sBAAsB,GAAA,IAAtB,uBASAA,gBAAAA,gBAAA,oBAAoB,GAAA,IAApB,qBAaAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBASAA,gBAAAA,gBAAA,yBAAyB,GAAA,IAAzB,0BAUAA,gBAAAA,gBAAA,wBAAwB,GAAA,IAAxB,yBAOAA,gBAAAA,gBAAA,qBAAqB,GAAA,IAArB,sBASAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBAQAA,gBAAAA,gBAAA,sBAAsB,GAAA,IAAtB,uBAOAA,gBAAAA,gBAAA,wBAAwB,GAAA,IAAxB,yBAUAA,gBAAAA,gBAAA,SAAS,GAAA,IAAT,UAQAA,gBAAAA,gBAAA,oBAAoB,GAAA,IAApB,qBASAA,gBAAAA,gBAAA,YAAY,GAAA,IAAZ,aAOAA,gBAAAA,gBAAA,mBAAmB,GAAA,IAAnB,oBAQAA,gBAAA,gBAAA,wBAAwB,GAAxB,IAAA,yBAWAA,gBAAA,gBAAA,oBAAoB,GAApB,IAAA,qBAeAA,gBAAA,gBAAA,kCAAkC,GAAlC,IAAA,mCAKAA,gBAAA,gBAAA,gCAAgC,GAAhC,IAAA,iCAUAA,gBAAA,gBAAA,wBAAwB,GAAxB,IAAA,yBAkBAA,gBAAA,gBAAA,kBAAkB,GAAlB,IAAA,mBAcAA,gBAAA,gBAAA,cAAc,GAAd,IAAA,eAkBAA,gBAAA,gBAAA,sBAAsB,GAAtB,IAAA,uBAUAA,gBAAA,gBAAA,kBAAkB,GAAlB,IAAA,mBAQAA,gBAAA,gBAAA,6BAA6B,GAA7B,IAAA,8BAWAA,gBAAA,gBAAA,0BAA0B,GAA1B,IAAA,2BAWAA,gBAAA,gBAAA,uBAAuB,GAAvB,IAAA,wBAQAA,gBAAA,gBAAA,gBAAgB,GAAhB,IAAA,iBAKAA,gBAAA,gBAAA,eAAe,GAAf,IAAA,gBASAA,gBAAA,gBAAA,kCAAkC,GAAlC,IAAA,mCAhqBUA,kBAAA,kBAAA,CAAA,CAAA;;"}
|
1
|
+
{"version":3,"file":"HttpStatusCodes.cjs","sources":["../HttpStatusCodes.ts"],"sourcesContent":["export enum HttpStatusCode {\n\n /**\n * The HTTP **`100 Continue`** [informational response](/en-US/docs/Web/HTTP/Reference/Status#informational_responses) status code indicates that the initial part of a request has been received and has not yet been rejected by the server.\n * The client should continue with a request or discard the 100 response if the request is already finished.\n *\n * When a request has an [Expect: 100-continue](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect) header, the 100 Continue response indicates that the server is ready or capable of receiving the request content.\n * Waiting for a 100 Continue response can be helpful if a client anticipates that an error is likely, for example, when sending state-changing operations without previously verified authentication credentials.\n *\n * ## Status\n *\n * ```http\n * 100 Continue\n * ```\n *\n * ## Examples\n *\n * ### PUT request with 100 Continue\n *\n * The following [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) request sends information to a server about a file upload.\n * The client is indicating that it will proceed with the content if it receives a 100 response to avoid sending data over the network that could result in an error like [405](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405), [401](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401), or [403](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403).\n * At first, the client sends headers only, including an [Expect: 100-continue](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect) header:\n *\n * ```http\n * PUT /videos HTTP/1.1\n * Host: uploads.example.com\n * Content-Type: video/h264\n * Content-Length: 123456789\n * Expect: 100-continue\n * ```\n *\n * The server indicates that the request can proceed:\n *\n * ```http\n * HTTP/1.1 100 Continue\n * ```\n *\n * The client completes the request by sending the actual data:\n *\n * ```http\n * [Video data as content for PUT request]\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [Expect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect)\n * -\n */\n CONTINUE = 100,\n\n /**\n * The HTTP **`101 Switching Protocols`** [informational response](/en-US/docs/Web/HTTP/Reference/Status#informational_responses) status code indicates the protocol that a server has switched to.\n * The protocol is specified in the [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) request header received from a client.\n *\n * The server includes an [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) header in this response to indicate the protocol it has agreed to switch to.\n * The process is described in detail in the [Protocol upgrade mechanism](/en-US/docs/Web/HTTP/Guides/Protocol_upgrade_mechanism) guide.\n *\n * ## Status\n *\n * ```http\n * 101 Switching Protocols\n * ```\n *\n * ## Examples\n *\n * ### Switching protocols to WebSockets\n *\n * The following example shows how switching protocols might be used with [WebSockets](/en-US/docs/Web/API/WebSockets_API).\n * A client sends a [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) HTTP request with an [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) header which must also be listed in the [Connection](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection) header.\n * The server agrees to switch protocols, returning a 101 response meaning the connection has switched from HTTP to WebSocket.\n * At this point, the client and server can now start exchanging WebSocket data.\n * Information about how to set `Sec-WebSocket-*` headers for handshake negotiation can be found in [WebSocket-specific headers](/en-US/docs/Web/HTTP/Guides/Protocol_upgrade_mechanism#websocket-specific_headers).\n *\n * ```http\n * GET /notifications HTTP/1.1\n * Host: example.com\n * Upgrade: websocket\n * Connection: Upgrade\n * ```\n *\n * ```http\n * HTTP/1.1 101 Switching Protocols\n * Upgrade: websocket\n * Connection: Upgrade\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [Protocol upgrade mechanism](/en-US/docs/Web/HTTP/Guides/Protocol_upgrade_mechanism)\n * - [WebSockets](/en-US/docs/Web/API/WebSockets_API)\n * - [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade)\n * - [426 Upgrade Required](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/426)\n */\n SWITCHING_PROTOCOLS = 101,\n\n /**\n * The HTTP **`102 Processing`** [informational response](/en-US/docs/Web/HTTP/Reference/Status#informational_responses) status code indicates to client that a full request has been received and the server is working on it.\n * This status code is only sent if the server expects the request to take significant time.\n *\n * > [!NOTE]\n * > Regular web servers do not return this response.\n * > This status code was first introduced in Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)) [2518](https://developer.mozilla.org/en-US/docs/RFC/2518), but it was removed from WebDAV in [4918](https://developer.mozilla.org/en-US/docs/RFC/4918).\n *\n * ## Status\n *\n * ```http\n * 102 Processing\n * ```\n *\n * ## Specifications\n *\n * ## Browser compatibility\n *\n * This feature is deprecated and browsers will ignore this response status code.\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [100](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100)\n * - [rfc4918 '102 Processing' removal notes](https://www.rfc-editor.org/rfc/rfc4918#section-21.4)\n */\n PROCESSING = 102,\n\n /**\n * The HTTP **`103 Early Hints`** [informational response](/en-US/docs/Web/HTTP/Reference/Status#informational_responses) may be sent by a server while it is still preparing a response, with hints about the sites and resources that the server expects the final response will link to.\n * This allows a browser to [preconnect](/en-US/docs/Web/HTML/Reference/Attributes/rel/preconnect) to sites or start [preloading](/en-US/docs/Web/HTML/Reference/Attributes/rel/preload) resources even before the server has prepared and sent a final response.\n * Preloaded resources indicated by early hints are fetched by the client as soon as the hints are received.\n *\n * The early hint response is primarily intended for use with the [Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link) header, which indicates the resources to be loaded.\n * It may also contain a [`Content-Security-Policy`](/en-US/docs/Web/HTTP/Guides/CSP) header that is enforced while processing the early hint.\n *\n * A server might send multiple `103` responses, for example, following a redirect.\n * Browsers only process the first early hints response, and this response must be discarded if the request results in a cross-origin redirect.\n *\n * > [!NOTE]\n * > For compatibility and security reasons, it is recommended to [only send HTTP `103 Early Hints` responses over HTTP/2 or later](https://www.rfc-editor.org/rfc/rfc8297#section-3) unless the client is known to handle informational responses correctly.\n * >\n * > Most browsers limit support to HTTP/2 or later for this reason. See [browser compatibility](#browser_compatibility) below.\n * > Despite this, the examples below use HTTP/1.1-style notation as per usual convention.\n *\n * ## Syntax\n *\n * ```http\n * 103 Early Hints\n * ```\n *\n * ## Examples\n *\n * ### Preconnect example\n *\n * The following `103` early hint response shows an early hint response where the server indicates that the client might want to preconnect to a particular origin (`https://cdn.example.com`).\n * Just like the HTML [`rel=preconnect`](/en-US/docs/Web/HTML/Reference/Attributes/rel/preconnect) attribute, this is a hint that the page is likely to need resources from the target resource's origin, and that the browser may improve the user experience by preemptively initiating a connection to that origin.\n *\n * ```http\n * 103 Early Hint\n * Link: ; rel=preload; as=style\n * ```\n *\n * The early response restricts preloading to the same origin as the request.\n * The stylesheet will be preloaded if the origin matches.\n *\n * The final response might set the CSP to `none`, as shown below.\n * The stylesheet has already been preloaded, but will not be used when rendering the page.\n *\n * ```http\n * 200 OK\n * Content-Security-Policy: style-src: none;\n * Content-Type: text/html\n *\n * <!doctype html>\n * ...\n * <link rel=\"stylesheet\" rel=\"preload\" href=\"style.css\" />\n * ...\n * ```\n *\n * ## Specifications\n *\n * ## Browser compatibility\n *\n * ## See also\n *\n * - [Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link)\n * - [Cross-Origin Resource Sharing (CORS)](/en-US/docs/Web/HTTP/Guides/CORS)\n * - [Content Security Policy (CSP)](/en-US/docs/Web/HTTP/Guides/CSP)\n * - [`rel=\"preconnect\"`](/en-US/docs/Web/HTML/Reference/Attributes/rel/preconnect) ([link](https://developer.mozilla.org/en-US/docs/htmlelement/link) attribute)\n * - [`rel=\"preload\"`](/en-US/docs/Web/HTML/Reference/Attributes/rel/preload) ([link](https://developer.mozilla.org/en-US/docs/htmlelement/link) attribute)\n * - [`fetchpriority`](/en-US/docs/Web/HTML/Reference/Elements/link#fetchpriority) ([link](https://developer.mozilla.org/en-US/docs/htmlelement/link) attribute)\n * - [Early Hints update: How Cloudflare, Google, and Shopify are working together to build a faster Internet for everyone](https://blog.cloudflare.com/early-hints-performance/) from the Cloudflare blog\n */\n EARLY_HINTS = 103,\n\n /**\n * The HTTP **`200 OK`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code indicates that a request has succeeded.\n * A `200 OK` response is cacheable by default.\n *\n * A `200 OK` response has a different meaning and format depending on the HTTP request method.\n * Here's how they vary for different methods:\n *\n * - [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET): A resource was retrieved by the server and included in the response body.\n * - [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST): An action succeeded; the response has a message body describing the result.\n * - [HEAD](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/HEAD): Identical to `GET`, except there is no message body.\n * - [TRACE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/TRACE): The response has a message body containing the request as received by the server.\n *\n * Although possible, successful [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) or [DELETE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/DELETE) requests often do not result in a `200 OK` response.\n * It is more common to see [201 Created](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201) if the resource is uploaded or created for the first time, or [204 No Content](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204) upon successful deletion of a resource.\n *\n * ## Status\n *\n * ```http\n * 200 OK\n * ```\n *\n * ## Examples\n *\n * ### Receiving a `200 OK` for a `GET` request\n *\n * In this example, a successful `GET` request to `https://example.com` returns a `200 OK` response.\n * The response includes representation headers and a message body with the HTML content:\n *\n * ```http\n * HTTP/1.1 200 OK\n * Accept-Ranges: bytes\n * Age: 294510\n * Cache-Control: max-age=604800\n * Content-Type: text/html; charset=UTF-8\n * Date: Fri, 21 Jun 2024 14:18:33 GMT\n * Etag: \"3147526947\"\n * Expires: Fri, 28 Jun 2024 14:18:33 GMT\n * Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT\n * Server: ECAcc (nyd/D10E)\n * X-Cache: HIT\n * Content-Length: 1256\n *\n * <!doctype html>\n * <!-- HTML content follows here -->\n * ```\n *\n * ### Receiving a `200 OK` for a `POST` request in form submission\n *\n * Assuming a form exists to send data to an endpoint for managing subscriptions at `http://example.com/subscribe`.\n * A `POST` request to subscribe a user may look like the following:\n *\n * ```http\n * POST /subscribe HTTP/1.1\n * Host: example.com\n * Content-Type: application/x-www-form-urlencoded\n * Content-Length: 50\n *\n * name=Brian%20Smith&email=brian.smith%40example.com\n * ```\n *\n * In this example, a response with a `200 OK` status could look like this:\n *\n * ```http\n * HTTP/1.1 200 OK\n * Content-Type: application/json\n *\n * {\n * \"message\": \"User subscription pending. A confirmation email has been sent.\",\n * \"subscription\": {\n * \"name\": \"Brian Smith\",\n * \"email\": \"brian.smith@example.com\",\n * \"id\": 123,\n * \"feed\": \"default\"\n * }\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - Glossary: [Idempotent](https://developer.mozilla.org/en-US/docs/Glossary/Idempotent)\n */\n OK = 200,\n\n /**\n * The HTTP **`201 Created`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code indicates that the HTTP request has led to the creation of a resource.\n * This status code is commonly sent as the result of a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request.\n *\n * The new resource, or a description and link to the new resource, is created before the response is returned.\n * The newly-created items are returned in the body of the message, located at either the **URL of the initial request** or the URL in the value of the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header in the response.\n *\n * ## Status\n *\n * ```http\n * 201 Created\n * ```\n *\n * ## Examples\n *\n * ### Receiving a response indicating user creation\n *\n * Let's assume there's a REST API for managing users with an endpoint at `http://example.com/users`. In this example, we send a `POST` request with the following body to create a user:\n *\n * ```http\n * POST /users HTTP/1.1\n * Host: example.com\n * Content-Type: application/json\n *\n * {\n * \"firstName\": \"Brian\",\n * \"lastName\": \"Smith\",\n * \"email\": \"brian.smith@example.com\"\n * }\n * ```\n *\n * After successful user creation, the `201 Created` response will look like this:\n *\n * ```http\n * HTTP/1.1 201 Created\n * Content-Type: application/json\n * Location: http://example.com/users/123\n *\n * {\n * \"message\": \"New user created\",\n * \"user\": {\n * \"id\": 123,\n * \"firstName\": \"Brian\",\n * \"lastName\": \"Smith\",\n * \"email\": \"brian.smith@example.com\"\n * }\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n CREATED = 201,\n\n /**\n * The HTTP **`202 Accepted`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code indicates that a request has been accepted for processing, but processing has not been completed or may not have started.\n * The actual processing of the request is not guaranteed; a task or action may fail or be disallowed when a server tries to process it.\n *\n * A `202` response is non-committal, meaning there is no way to later send an asynchronous HTTP response to indicate the outcome of the processing.\n * This response code is typically used when the request is handled by another process or server, or when requests are processed in batches.\n *\n * ## Status\n *\n * ```http\n * 202 Accepted\n * ```\n *\n * ## Examples\n *\n * ### Begin automated task\n *\n * In the following example, we want to kick off an automation process to email dog owners about a pickup task:\n *\n * ```http\n * POST /tasks HTTP/1.1\n * Host: example.com\n * Content-Type: application/json\n *\n * {\n * \"task\": \"emailDogOwners\",\n * \"template\": \"pickup\"\n * }\n * ```\n *\n * The response indicates that the request to start a task was accepted for processing.\n * A URL is sent in the response body so the client can track changes to the status of the task:\n *\n * ```http\n * HTTP/1.1 202 Accepted\n * Date: Wed, 26 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.1 (Unix)\n * Content-Type: application/json\n *\n * {\n * \"message\": \"Request accepted. Starting to process task.\",\n * \"taskId\": \"123\",\n * \"monitorUrl\": \"http://example.com/tasks/123/status\"\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept)\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n ACCEPTED = 202,\n\n /**\n * The HTTP **`203 Non-Authoritative Information`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code indicates that the request was successful, but a _transforming [proxy](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server)_ has modified the headers or enclosed content from the origin server's [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) (`OK`) response.\n *\n * The purpose of this status code is to allow transforming proxies to notify clients when changes have been applied to successful responses, since this may impact decisions regarding the content later.\n * Transformations to messages can mean modifications of headers to indicate that a resource is from a mirror or a backup, but may also mean modifying content in a way that are presumed to be desirable to the client.\n * These modifications might include malware filtering, format transcoding, privacy filtering, or other hints to the client about future requests.\n *\n * The `203` response is similar to the [`214`](/en-US/docs/Web/HTTP/Reference/Headers/Warning#warning_codes) `Transformation Applied` value of the deprecated [Warning](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Warning) header, which may be applicable to responses with any status code.\n *\n * ## Status\n *\n * ```http\n * 203 Non-Authoritative Information\n * ```\n *\n * ## Examples\n *\n * ### Receiving a filtered message response\n *\n * In this example, a user sends a `GET` request for content with ID `123` to `example.com`.\n *\n * ```http\n * GET /comments/123 HTTP/1.1\n * Host: example.com\n * ```\n *\n * A proxy has altered the message based on malware filtering rules for known unsafe attachments.\n * The response content has been modified, replacing the `attachment_url` value to a link with information about the filtering in place:\n *\n * ```http\n * HTTP/1.1 203 Non-Authoritative Information\n * Date: Wed, 26 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.1 (Unix)\n * Content-Type: application/json\n * Content-Length: 123\n *\n * {\n * \"comment\": \"Check out my bio!\",\n * \"attachment_url\": \"https://example.com/attachment-unavailable-faq\"\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200)\n * - [Proxy server](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server)\n * - [Warning](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Warning)\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n NON_AUTHORITATIVE_INFORMATION = 203,\n\n /**\n * The HTTP **`204 No Content`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code indicates that a request has succeeded, but the client doesn't need to navigate away from its current page.\n * A `204` response is cacheable by default, and an [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header is included in such cases.\n *\n * A `204 No Content` in response to these request methods has the following meaning and results:\n *\n * - [DELETE](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/DELETE): The action was successful, and no further information needs to be supplied.\n * - [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT): The action was successful, and the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) value contains the entity tag for the new representation of that target resource.\n *\n * A `204` response can be used when implementing \"save and continue editing\" functionality for applications like wiki sites.\n * In this case, a [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) request could be used to save the page contents, and a `204 No Content` response indicates to the browser that the editor should not be replaced by other content.\n *\n * Note that the response must not include any content or the [Content-Length](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header (browsers may reject responses that include content).\n *\n * ## Status\n *\n * ```http\n * 204 No Content\n * ```\n *\n * ## Examples\n *\n * ### Receiving a response after deleting an image\n *\n * In this example, the client sends a request to delete an image using the `DELETE` method.\n * The request includes an [Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) header with a token to authenticate the request:\n *\n * ```http\n * DELETE /image/123 HTTP/1.1\n * Host: example.com\n * Authorization: Bearer 1234abcd\n * ```\n *\n * After successfully deleting the image, the server responds with a `204` response with no body, indicating no further information needs to be sent to the client.\n *\n * ```http\n * HTTP/1.1 204 No Content\n * Date: Wed, 26 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.1 (Unix)\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n NO_CONTENT = 204,\n\n /**\n * The HTTP **`205 Reset Content`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code indicates that the request has been successfully processed and the client should reset the document view.\n *\n * This response is intended to support use cases where the user receives content that supports data entry, submits user-edited data in a request, and the content needs to be reset for the next entry.\n * The instruction to \"reset content\" can mean clearing the contents of a form, resetting a canvas state, or refreshing a UI; the implementation depends on the client.\n *\n * > [!NOTE]\n * > In web applications that use the `205` status, it's assumed that the client handles resetting content after a `205` response.\n * > This is typically done via JavaScript, as resetting content such as forms after a `205` response is not handled natively by browsers.\n *\n * Note that the response must not include any content or the [Content-Length](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header (browsers may reject responses that include content).\n * The empty response may also be indicated using the [Transfer-Encoding: chunked](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding) header with an empty chunk.\n *\n * ## Status\n *\n * ```http\n * 205 Reset Content\n * ```\n *\n * ## Examples\n *\n * ### Resetting a form after receiving a `205 Reset Content`\n *\n * The client in this example sends a `POST` request to submit a form with the comment `Hello!`:\n *\n * ```http\n * POST /submit HTTP/1.1\n * Host: example.com\n * Content-Type: application/x-www-form-urlencoded\n * Content-Length: 15\n *\n * comment=Hello!\n * ```\n *\n * After successfully processing the form submission, the server responds with the following `205` response, indicating that the client should reset the form.\n *\n * ```http\n * HTTP/1.1 205 Reset Content\n * Content-Type: text/html; charset=utf-8\n * Content-Length: 0\n * Date: Wed, 26 Jun 2024 12:00:00 GMT\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - No Content\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n RESET_CONTENT = 205,\n\n /**\n * The HTTP **`206 Partial Content`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code is sent in response to a [range request](/en-US/docs/Web/HTTP/Guides/Range_requests).\n * The response body contains the requested ranges of data as specified in the [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) header of the request.\n *\n * The format of the response depends on the number of ranges requested.\n * If a single range is requested, the [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) of the entire response is set to the type of the document, and a [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) is provided.\n * If several ranges are requested, the [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) is set to `multipart/byteranges`, and each fragment covers one range, with its own [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) and [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) headers describing it.\n *\n * ## Status\n *\n * ```http\n * 206 Partial Content\n * ```\n *\n * ## Examples\n *\n * ### Receiving a `206` response for a single requested range\n *\n * The following is a sample `206` response when a single range of `21010-` (bytes 21010 to the end of file) of an image file is requested.\n * The response contains [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) of `image/gif` and the [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) is provided:\n *\n * ```http\n * GET /z4d4kWk.gif HTTP/1.1\n * Host: images.example.com\n * Range: bytes=21010-\n * ```\n *\n * ```http\n * HTTP/1.1 206 Partial Content\n * Date: Wed, 15 Nov 2015 06:25:24 GMT\n * Last-Modified: Wed, 15 Nov 2015 04:58:08 GMT\n * Content-Range: bytes 21010-47021/47022\n * Content-Length: 26012\n * Content-Type: image/gif\n * ETag: \"abc123\"\n * Accept-Ranges: bytes\n *\n * # 26012 bytes of partial image data…\n * ```\n *\n * ### Receiving a `206` response for multiple requested ranges\n *\n * Following is a sample `206` response when two ranges of a PDF file are requested.\n * The response contains the `multipart/byteranges` [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) with a separate [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) (`application/pdf`) and [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) for each range.\n *\n * ```http\n * GET /price-list.pdf HTTP/1.1\n * Host: example.com\n * Range: bytes=234-639,4590-7999\n * ```\n *\n * ```http\n * HTTP/1.1 206 Partial Content\n * Date: Wed, 15 Nov 2015 06:25:24 GMT\n * Last-Modified: Wed, 15 Nov 2015 04:58:08 GMT\n * Content-Length: 1741\n * Content-Type: multipart/byteranges; boundary=String_separator\n * ETag: \"abc123\"\n * Accept-Ranges: bytes\n *\n * --String_separator\n * Content-Type: application/pdf\n * Content-Range: bytes 234-639/8000\n *\n * # content of first range (406 bytes)\n * --String_separator\n * Content-Type: application/pdf\n * Content-Range: bytes 4590-7999/8000\n *\n * # content of second range (3410 bytes)\n * --String_separator--\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [If-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Range)\n * - [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range)\n * - [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range)\n * - [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type)\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n PARTIAL_CONTENT = 206,\n\n /**\n * The HTTP **`207 Multi-Status`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code indicates a mixture of responses.\n * This response is used exclusively in the context of Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)).\n *\n * The response body is a `text/xml` or `application/xml` HTTP entity with a `multistatus` root element that lists individual response codes.\n *\n * > [!NOTE]\n * > Browsers accessing web pages will never encounter this status code.\n * > The ability to return a _collection of resources_ is part of the [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) protocol and is only encountered by web applications that access a WebDAV server.\n *\n * ## Status\n *\n * ```http\n * 207 Multi-Status\n * ```\n *\n * ## Examples\n *\n * ### Receiving a `207` response in a WebDAV context\n *\n * The following response is an example `207` response that a [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) server sends to a client.\n * There is a `multistatus` root element with details of the individual collections:\n *\n * ```http\n * HTTP/1.1 207 Multi-Status\n * Content-Type: application/xml; charset=\"utf-8\"\n * Content-Length: 1241\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [204](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204)\n * - [403](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403)\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n MULTI_STATUS = 207,\n\n /**\n * The HTTP **`208 Already Reported`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code is used in a [207 Multi-Status](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/207) response to save space and avoid conflicts.\n * This response is used exclusively in the context of Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)).\n *\n * 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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200).\n * Responses for all other bindings will report with this `208` status code, so no conflicts are created and the response stays shorter.\n *\n * > [!NOTE]\n * > The ability to _bind_ a resource to several paths is an extension to the [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) protocol (it may be received by web applications accessing a WebDAV server).\n * > Browsers accessing web pages will never encounter this status code.\n *\n * ## Status\n *\n * ```http\n * 208 Already Reported\n * ```\n *\n * ## Examples\n *\n * ### Receiving a `208` in a `207 Multi-Status` response\n *\n * The following is a sample `207 Multi-Status` response from a WebDAV server, which includes a `208` response.\n * Notice the `208` in the last `\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200)\n * - [508 Loop Detected](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/508)\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n ALREADY_REPORTED = 208,\n\n /**\n * The HTTP **`226 IM Used`** [successful response](/en-US/docs/Web/HTTP/Reference/Status#successful_responses) status code indicates that the server is returning a [delta](https://developer.mozilla.org/en-US/docs/Glossary/delta) in response to a [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) request.\n * It is used in the context of _HTTP delta encodings_.\n *\n * IM stands for _instance manipulation_, which refers to the algorithm generating a _delta_.\n * In delta encoding, a client sends a [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) request with two headers: `A-IM:`, which indicates a preference for a differencing algorithm, and [If-None-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match), which specifies the version of a resource it has.\n * The server responds with deltas relative to a given base document, rather than the document in full.\n * This response uses the `226` status code, an `IM:` header that describes the differencing algorithm used, and may include a `Delta-Base:` header with the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) matching the base document associated to the delta.\n *\n * > [!WARNING]\n * > Poor support for HTTP delta encodings means there are few implementations.\n * > Instead, most systems rely solely on [compression methods](/en-US/docs/Web/HTTP/Guides/Compression) to reduce bandwidth, although a combination of compression and delta encodings is possible.\n * >\n * > Even if the client and server support delta encodings, proxies or caches may not, and the complexity of adding HTTP delta encodings to a system may outweigh the benefits.\n *\n * ## Status\n *\n * ```http\n * 226 IM Used\n * ```\n *\n * ## Examples\n *\n * ### Receiving a `208` with the `vcdiff` delta algorithm\n *\n * In the following `GET` request, a client requests a resource and has a cached version with the ETag `abcd123`.\n * The `A-IM:` header indicates a preference for `vcdiff` and `diffe` delta algorithms:\n *\n * ```http\n * GET /resource.txt HTTP/1.1\n * Host: example.com\n * A-IM: vcdiff, diffe\n * If-None-Match: \"abcd123\"\n * ```\n *\n * Assuming the server supports delta encodings, it responds with the diff since the version with the ETag `abcd123`.\n * The `IM` header indicates that the `vcdiff` algorithm is used, and the `Delta-Base:` header indicates that the diff is based on a resource with ETag `abcd123`.\n *\n * ```http\n * HTTP/1.1 226 IM Used\n * ETag: \"5678a23\"\n * IM: vcdiff\n * Content-Type: text/plain\n * Content-Length: 123\n * Delta-Base: abcd123\n *\n * ...\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200)\n * - [HTTP request methods](/en-US/docs/Web/HTTP/Reference/Methods)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Syndication feed deltas help reduce subscription bandwidth costs](https://www.ctrl.blog/entry/feed-delta-updates.html) (2017)\n */\n IM_USED = 226,\n\n /**\n * The HTTP **`300 Multiple Choices`** [redirection response](/en-US/docs/Web/HTTP/Reference/Status#redirection_messages) status code indicates that the request has more than one possible response.\n * The user-agent or the user should choose one of them.\n *\n * > [!NOTE]\n * > In [agent-driven content negotiation](/en-US/docs/Web/HTTP/Guides/Content_negotiation#agent-driven_negotiation), a client and server collaboratively decide the best variant of a given resource when the server has multiple variants.\n * > Most clients lack a method for automatically choosing from responses, and the additional round-trips slow down client-server interaction.\n * > [Server-driven content negotiation](/en-US/docs/Web/HTTP/Guides/Content_negotiation#server-driven_content_negotiation) is far more common, where a server chooses the most appropriate resource for the client based on the request headers ([Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language), [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept), etc.).\n *\n * The server should include content in the response that contains a list of resource metadata and URIs from which the user or user agent can choose.\n * The format of the content is implementation-specific, but should be easily parsed by the user agent (such as HTML or JSON).\n *\n * If the server has a preferred choice that the client should request, it can include it in a [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * ## Status\n *\n * ```http\n * 300 Multiple Choices\n * ```\n *\n * ## Examples\n *\n * ### 300 response with list of resources\n *\n * The following example demonstrates a Transparent Content Negotiation request-response exchange.\n * An Apache server offers multiple variants of a resource defined in a [type map](https://httpd.apache.org/docs/trunk/mod/mod_negotiation.html#typemaps); `index.html.en` for a resource in English, and `index.html.fr` for a French version:\n *\n * ```http\n * URI: index.html.en\n * Content-Language: en\n *\n * URI: index.html.fr\n * Content-Language: fr\n * ```\n *\n * A `Negotiate: trans` request header indicates that the client wants to use TCN to choose a resource.\n * Poor browser support for this mechanism means a user agent such as curl must be used instead:\n *\n * ```bash\n * curl -v -H \"Negotiate: trans\" http://localhost/index\n * ```\n *\n * This produces the following request:\n *\n * ```http\n * GET /index HTTP/1.1\n * Host: localhost\n * User-Agent: curl/8.7.1\n * Accept: * /*\n * Negotiate: trans\n * ```\n *\n * We receive a `300` response with details of different representations of the requested resource:\n *\n * ```http\n * HTTP/1.1 300 Multiple Choices\n * Date: Fri, 30 Aug 2024 09:21:48 GMT\n * Server: Apache/2.4.59 (Unix)\n * Alternates: {\"index.html.en\" 1 {type text/html} {language en} {length 48}}, {\"index.html.fr\" 1 {type text/html} {language fr} {length 45}}\n * Vary: negotiate,accept-language\n * TCN: list\n * Content-Length: 419\n * Content-Type: text/html; charset=iso-8859-1\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [Redirections in HTTP](/en-US/docs/Web/HTTP/Guides/Redirections)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [301 Moved Permanently](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301)\n * - [302 Found](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302) temporary redirect\n * - [308 Permanent Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308)\n * - [506 Variant Also Negotiates](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/506)\n * - [Apache Server Negotiation Algorithm](https://httpd.apache.org/docs/current/en/content-negotiation.html#algorithm)\n * - [Transparent Content Negotiation in HTTP](https://developer.mozilla.org/en-US/docs/RFC/2295)\n */\n MULTIPLE_CHOICES = 300,\n\n /**\n * The HTTP **`301 Moved Permanently`** [redirection response](/en-US/docs/Web/HTTP/Reference/Status#redirection_messages) status code indicates that the requested resource has been permanently moved to the URL in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * A browser receiving this status will automatically request the resource at the URL in the `Location` header, redirecting the user to the new page.\n * Search engines receiving this response will attribute links to the original URL to the redirected resource, passing the [SEO](https://developer.mozilla.org/en-US/docs/Glossary/SEO) ranking to the new URL.\n *\n * > [!NOTE]\n * > In the [Fetch Standard](https://fetch.spec.whatwg.org/#http-redirect-fetch), when a user agent receives a `301` in response to a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request, it uses the [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) method in the subsequent redirection request, as permitted by the HTTP [specification](#specifications).\n * > To avoid user agents modifying the request, use [308 Permanent Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308) instead, as altering the method after a `308` response is prohibited.\n *\n * ## Status\n *\n * ```http\n * 301 Moved Permanently\n * ```\n *\n * ## Examples\n *\n * ### 301 response to a moved resource\n *\n * The following [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) request is made to a resource with a `301` redirection in place.\n *\n * ```http\n * GET /en-US/docs/AJAX HTTP/2\n * Host: developer.mozilla.org\n * User-Agent: curl/8.6.0\n * Accept: * /*\n * ```\n *\n * The response includes the `301` status along with the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header that indicates the URL where the resource has moved.\n *\n * ```http\n * HTTP/2 301\n * cache-control: max-age=2592000,public\n * location: /en-US/docs/Learn_web_development/Core/Scripting/Network_requests\n * content-type: text/plain; charset=utf-8\n * date: Fri, 19 Jul 2024 12:57:17 GMT\n * content-length: 97\n *\n * Moved Permanently. Redirecting to /en-US/docs/Learn_web_development/Core/Scripting/Network_requests\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [Redirections in HTTP](/en-US/docs/Web/HTTP/Guides/Redirections)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [308 Permanent Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308) equivalent to `301`, but the request method is not modified\n * - [302 Found](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302) temporary redirect\n */\n MOVED_PERMANENTLY = 301,\n\n /**\n * The HTTP **`302 Found`** [redirection response](/en-US/docs/Web/HTTP/Reference/Status#redirection_messages) status code indicates that the requested resource has been temporarily moved to the URL in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * A browser receiving this status will automatically request the resource at the URL in the `Location` header, redirecting the user to the new page.\n * Search engines receiving this response will not attribute links to the original URL to the new resource, meaning no [SEO](https://developer.mozilla.org/en-US/docs/Glossary/SEO) value is transferred to the new URL.\n *\n * > [!NOTE]\n * > In the [Fetch Standard](https://fetch.spec.whatwg.org/#http-redirect-fetch), when a user agent receives a `302` in response to a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request, it uses the [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) method in the subsequent redirection request, as permitted by the HTTP [specification](#specifications).\n * > To avoid user agents modifying the request, use [307 Temporary Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307) instead, as altering the method after a `307` response is prohibited.\n * >\n * > In cases where you want any request method to be changed to [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET), use [303 See Other](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/303).\n * > This is useful when you want to give a response to a [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) method that is not the uploaded resource but a confirmation message such as: \"you successfully uploaded XYZ\".\n *\n * ## Status\n *\n * ```http\n * 302 Found\n * ```\n *\n * ## Examples\n *\n * ### 302 response with new URL\n *\n * ```http\n * GET /profile HTTP/1.1\n * Host: www.example.com\n * ```\n *\n * ```http\n * HTTP/1.1 302 Found\n * Location: https://www.example.com/new-profile-url\n * Content-Type: text/html; charset=UTF-8\n * Content-Length: 0\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [Redirections in HTTP](/en-US/docs/Web/HTTP/Guides/Redirections)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [307 Temporary Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307), equivalent to `302` but the request method is not modified\n * - [303 See Other](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/303), a temporary redirect that changes the method to [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET)\n * - [301 Moved Permanently](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301), a permanent redirect.\n */\n FOUND = 302,\n\n /**\n * The HTTP **`303 See Other`** [redirection response](/en-US/docs/Web/HTTP/Reference/Status#redirection_messages) status code indicates that the browser should redirect to the URL in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header instead of rendering the requested resource.\n *\n * This response code is often sent back as a result of [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) or [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) methods so the client may retrieve a confirmation, or view a representation of a real-world object (see [HTTP range-14](https://en.wikipedia.org/wiki/HTTPRange-14)).\n * The method to retrieve the redirected resource is always [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET).\n *\n * ## Status\n *\n * ```http\n * 303 See Other\n * ```\n *\n * ## Examples\n *\n * ### 303 response on form submission\n *\n * The client in this example sends a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request to submit a form to a generic subscription.\n *\n * ```http\n * POST /subscribe HTTP/1.1\n * Host: example.com\n * Content-Type: application/x-www-form-urlencoded\n * Content-Length: 50\n *\n * name=Brian%20Smith&email=brian.smith%40example.com\n * ```\n *\n * The server may send back a response with a `303` status and a confirmation page in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header, so the user is redirected there after receiving the response.\n *\n * ```http\n * HTTP/1.1 303 See Other\n * Location: https://www.example.com/confirmation/event/123\n * Content-Type: text/html; charset=UTF-8\n * Content-Length: 0\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [Redirections in HTTP](/en-US/docs/Web/HTTP/Guides/Redirections)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [302 Found](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302), a temporary redirect\n * - [307 Temporary Redirect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307), a temporary redirect where the request method is not modified\n */\n SEE_OTHER = 303,\n\n /**\n * The HTTP **`304 Not Modified`** [redirection response](/en-US/docs/Web/HTTP/Reference/Status#redirection_messages) status code indicates that there is no need to retransmit the requested resources.\n *\n * This response code is sent when the request is a [conditional](/en-US/docs/Web/HTTP/Guides/Conditional_requests) [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) or [HEAD](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/HEAD) request with an [If-None-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match) or an [If-Modified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since) header and the condition evaluates to 'false'.\n * It confirms that the resource cached by the client is still valid and that the server would have sent a [200 OK](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) response with the resource if the condition evaluated to 'true'.\n * See [HTTP caching](/en-US/docs/Web/HTTP/Guides/Caching) for more information.\n *\n * The response must not contain a body and must include the headers that would have been sent in an equivalent [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) response, such as:\n *\n * - [Cache-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control)\n * - [Content-Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Location)\n * - [Date](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Date)\n * - [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag)\n * - [Expires](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires)\n * - [Vary](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Vary)\n *\n * > [!NOTE]\n * > Many [developer tools' network panels](https://firefox-source-docs.mozilla.org/devtools-user/network_monitor/index.html) of browsers create extraneous requests leading to `304` responses, so that access to the local cache is visible to developers.\n *\n * ## Status\n *\n * ```http\n * 304 Not Modified\n * ```\n *\n * ## Examples\n *\n * ### 304 response to conditional requests\n *\n * The examples below show [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) requests made using [curl](https://curl.se/) with conditional request headers.\n * The `--http1.1` flag is used to force the HTTP/1.1 protocol for readability.\n *\n * The first request uses an `If-Modified-Since` condition with a future date of 21st November 2050.\n * This must evaluate to `false`, because the resource can't have been updated after a time that hasn't happened yet:\n *\n * ```bash\n * curl --http1.1 -I --header 'If-Modified-Since: Tue, 21 Nov 2050 08:00:00 GMT' \\\n * https://developer.mozilla.org/en-US/\n * ```\n *\n * This will result in the following HTTP request:\n *\n * ```http\n * GET /en-US/ HTTP/1.1\n * Host: developer.mozilla.org\n * User-Agent: curl/8.7.1\n * Accept: * /*\n * If-Modified-Since: Tue, 21 Nov 2050 08:00:00 GMT\n * ```\n *\n * The response would be [200 OK](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) with the current version of the resource if the resource had been updated after the timestamp in the [If-Modified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since) header.\n * Instead, we get a `304` response that includes [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag), [Age](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Age) and [Expires](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires) headers, telling us our cached version of the resource is still current:\n *\n * ```http\n * HTTP/1.1 304 Not Modified\n * Date: Wed, 28 Aug 2024 09:52:35 GMT\n * Expires: Wed, 28 Aug 2024 10:01:53 GMT\n * Age: 3279\n * ETag: \"b20a0973b226eeea30362acb81f9e0b3\"\n * Cache-Control: public, max-age=3600\n * Vary: Accept-Encoding\n * X-cache: hit\n * Alt-Svc: clear\n * ```\n *\n * Now run another `curl` command using the `etag` value from the previous response with the [If-None-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match) condition (since this `etag` is the current version of the resource on the server we expect to receive a `304 Not Modified` response):\n *\n * ```bash\n * curl --http1.1 -I --header 'If-None-Match: \"b20a0973b226eeea30362acb81f9e0b3\"' \\\n * https://developer.mozilla.org/en-US/\n * ```\n *\n * This will result in the following HTTP request:\n *\n * ```http\n * GET /en-US/ HTTP/1.1\n * Host: developer.mozilla.org\n * User-Agent: curl/8.7.1\n * Accept: * /*\n * If-None-Match: \"b20a0973b226eeea30362acb81f9e0b3\"\n * ```\n *\n * Because the `etag` value matches at the time of the request, the entity tag fails the condition, and a `304` response is returned:\n *\n * ```http\n * HTTP/1.1 304 Not Modified\n * Date: Wed, 28 Aug 2024 10:36:35 GMT\n * Expires: Wed, 28 Aug 2024 11:02:17 GMT\n * Age: 662\n * ETag: \"b20a0973b226eeea30362acb81f9e0b3\"\n * Cache-Control: public, max-age=3600\n * Vary: Accept-Encoding\n * X-cache: hit\n * Alt-Svc: clear\n * ```\n *\n * ## Specifications\n *\n * ## Compatibility notes\n *\n * Browser behavior differs if this response erroneously includes a body on persistent connections.\n * See [204 No Content](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204) for more details.\n *\n * ## See also\n *\n * - [Redirections in HTTP](/en-US/docs/Web/HTTP/Guides/Redirections)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [HTTP conditional requests](/en-US/docs/Web/HTTP/Guides/Conditional_requests)\n * - [If-Modified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since)\n * - [If-None-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match)\n */\n NOT_MODIFIED = 304,\n\n /**\n * The HTTP **`307 Temporary Redirect`** [redirection response](/en-US/docs/Web/HTTP/Reference/Status#redirection_messages) status code indicates that the resource requested has been temporarily moved to the URL in the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * A browser receiving this status will automatically request the resource at the URL in the `Location` header, redirecting the user to the new page.\n * Search engines receiving this response will not attribute links to the original URL to the new resource, meaning no [SEO](https://developer.mozilla.org/en-US/docs/Glossary/SEO) value is transferred to the new URL.\n *\n * The method and the body of the original request are reused to perform the redirected request.\n * In the cases where you want the request method to be changed to [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET), use [303 See Other](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/303) instead.\n * This is useful when you want to give an answer to a successful [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) request that is not the uploaded resource, but a status monitor or confirmation message like \"You have successfully uploaded XYZ\".\n *\n * The difference between `307` and [302](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302) is that `307` guarantees that the client **will not change** the request method and body when the redirected request is made.\n * With `302`, older clients incorrectly changed the method to [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET).\n * `307` and `302` responses are identical when the request method is [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET).\n *\n * ## Status\n *\n * ```http\n * 307 Temporary Redirect\n * ```\n *\n * ## Examples\n *\n * ### 307 response to a moved resource\n *\n * The following [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) request to is made to a resource that has a `307` redirection in place.\n * The [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header provides the URL of the redirected resource.\n *\n * ```http\n * GET /en-US/docs/AJAX HTTP/2\n * Host: developer.mozilla.org\n * User-Agent: curl/8.6.0\n * Accept: * /*\n * ```\n *\n * ```http\n * HTTP/2 307\n * location: /en-US/docs/Learn_web_development/Core/Scripting/Network_requests\n * content-type: text/plain; charset=utf-8\n * date: Fri, 19 Jul 2024 12:57:17 GMT\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [Redirections in HTTP](/en-US/docs/Web/HTTP/Guides/Redirections)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [302 Found](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302), the equivalent to `307`, but may modify non-[GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) methods\n * - [303 See Other](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/303), temporary redirect that modifies the request method to [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET)\n * - [301 Moved Permanently](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301), a permanent redirect\n */\n TEMPORARY_REDIRECT = 307,\n\n /**\n * The HTTP **`308 Permanent Redirect`** [redirection response](/en-US/docs/Web/HTTP/Reference/Status#redirection_messages) status code indicates that the requested resource has been permanently moved to the URL given by the [Location](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n *\n * A browser receiving this status will automatically request the resource at the URL in the `Location` header, redirecting the user to the new page.\n * Search engines receiving this response will attribute links to the original URL to the redirected resource, passing the [SEO](https://developer.mozilla.org/en-US/docs/Glossary/SEO) ranking to the new URL.\n *\n * The request method and the body **will not be modified** by the client in the redirected request.\n * A [301 Moved Permanently](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301) requires the request method and the body to remain unchanged when redirection is performed, but this is incorrectly handled by older clients to use the [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) method instead.\n *\n * > [!NOTE]\n * > Some Web applications may use the `308 Permanent Redirect` in a non-standard way and for different purposes.\n * > For example, Google Drive uses a `308 Resume Incomplete` response to indicate to the client when an unfinished upload has stalled.\n * > See [Perform a resumable download](https://developers.google.com/workspace/drive/api/guides/manage-uploads) on the Google Drive documentation for more information.\n *\n * ## Status\n *\n * ```http\n * 308 Permanent Redirect\n * ```\n *\n * ## Examples\n *\n * ### 308 response to a moved resource\n *\n * ```http\n * GET /featured HTTP/1.1\n * Host: www.example.org\n * ```\n *\n * ```http\n * HTTP/1.1 308 Permanent Redirect\n * Location: http://www.example.com/featured\n * Content-Length: 0\n * ```\n *\n * ## Specifications\n *\n * ## Browser compatibility\n *\n * ## See also\n *\n * - [Redirections in HTTP](/en-US/docs/Web/HTTP/Guides/Redirections)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [301 Moved Permanently](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301), the equivalent of this status code that may modify the request method when it is not a [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET)\n * - [302 Found](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302), a temporary redirect\n */\n PERMANENT_REDIRECT = 308,\n\n /**\n * The HTTP **`400 Bad Request`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server would not process the request due to something the server considered to be a client error.\n * The reason for a `400` response is typically due to malformed request syntax, invalid request message framing, or deceptive request routing.\n *\n * Clients that receive a `400` response should expect that repeating the request without modification will fail with the same error.\n *\n * ## Status\n *\n * ```http\n * 400 Bad Request\n * ```\n *\n * ## Examples\n *\n * ### Malformed request syntax\n *\n * Assuming a [REST](https://developer.mozilla.org/en-US/docs/Glossary/REST) API exists with an endpoint to manage users at `http://example.com/users` and a `POST` request with the following body attempts to create a user, but uses invalid JSON with unescaped line breaks:\n *\n * ```http\n * POST /users HTTP/1.1\n * Host: example.com\n * Content-Type: application/json\n * Content-Length: 38\n *\n * {\n * \"email\": \"b@example.com\n * \",\n * \"username\": \"b.smith\"\n * }\n * ```\n *\n * If the [content](https://developer.mozilla.org/en-US/docs/Glossary/HTTP_Content) is in a valid format, we would expect a [201 Created](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201) response or another success message, but instead the server responds with a `400` and the response body includes a `message` field with some context so the client can retry the action with a properly-formed request:\n *\n * ```http\n * HTTP/1.1 400 Bad Request\n * Content-Type: application/json\n * Content-Length: 71\n *\n * {\n * \"error\": \"Bad request\",\n * \"message\": \"Request body could not be read properly.\",\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [HTTP Status Code Definitions](https://httpwg.org/specs/rfc9110.html#status.400)\n */\n BAD_REQUEST = 400,\n\n /**\n * The HTTP **`401 Unauthorized`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that a request was not successful because it lacks valid authentication credentials for the requested resource.\n * This status code is sent with an HTTP [WWW-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/WWW-Authenticate) response header that contains information on the [authentication scheme](/en-US/docs/Web/HTTP/Guides/Authentication#authentication_schemes) the server expects the client to include to make the request successfully.\n *\n * A `401 Unauthorized` is similar to the [403 Forbidden](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403) response, except that a 403 is returned when a request contains valid credentials, but the client does not have permissions to perform a certain action.\n *\n * ## Status\n *\n * ```http\n * 401 Unauthorized\n * ```\n *\n * ## Examples\n *\n * ### Unauthorized request to a protected API\n *\n * The following GET request is made to a URL `www.example.com/admin` that expects credentials in an [Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) header:\n *\n * ```http\n * GET /admin HTTP/1.1\n * Host: example.com\n * ```\n *\n * The server responds with a 401 message and a [WWW-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/WWW-Authenticate) header indicating that the request must be authenticated and that `Bearer` auth (an access token) is the permitted [authentication scheme](/en-US/docs/Web/HTTP/Guides/Authentication#authentication_schemes):\n *\n * ```http\n * HTTP/1.1 401 Unauthorized\n * Date: Tue, 02 Jul 2024 12:18:47 GMT\n * WWW-Authenticate: Bearer\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [HTTP authentication](/en-US/docs/Web/HTTP/Guides/Authentication)\n * - [Challenge](https://developer.mozilla.org/en-US/docs/Glossary/Challenge)\n * - [WWW-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/WWW-Authenticate)\n * - [Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization)\n * - [Proxy-Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authorization)\n * - [Proxy-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authenticate)\n * - [403](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403), [407](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/407)\n */\n UNAUTHORIZED = 401,\n\n /**\n * The HTTP **`402 Payment Required`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code is a **nonstandard** response status code reserved for future use.\n *\n * This status code was created to enable digital cash or (micro) payment systems and would indicate that requested content is not available until the client makes a payment.\n * No standard use convention exists and different systems use it in different contexts.\n *\n * ## Status\n *\n * ```http\n * 402 Payment Required\n * ```\n *\n * ## Examples\n *\n * ### Payment API failure\n *\n * Some payment APIs use the 402 response as a generic catch-all for failed payment requests.\n * The following example tries to make a call to a payment API using a POST request to initiate a transaction:\n *\n * ```http\n * POST /merchant/transfers/payment HTTP/1.1\n * Host: payments.example.com\n * Content-Type: application/json\n * Content-Length: 402\n *\n * {\n * \"payment_transfer\": {\n * \"reference\": \"PAYMENT123456\",\n * \"amount\": \"1337\",\n * \"currency\": \"EUR\",\n * \"sender_account_uri\": \"pan:5299920000000149;exp=2020-08;cvc=123\",\n * \"sender\": {\n * \"first_name\": \"Amelia\",\n * \"middle_name\": \"Rosenburg\",\n * \"email\": \"test123@sender.example.com\"\n * },\n * \"recipient\": {\n * \"first_name\": \"Tyrone\",\n * \"middle_name\": \"Johnston\",\n * \"email\": \"test123@example.com\",\n * \"merchant_id\": \"123\"\n * },\n * \"authentication_value\": \"ucaf:jJJLtQa+Iws8AREAEbjsA1MAAAA\",\n * }\n * }\n * ```\n *\n * The server responds to the request with a 402 if there is a problem with the transaction, in this case, the card is expired:\n *\n * ```http\n * HTTP/1.1 402 Payment Required\n * Date: Tue, 02 Jul 2024 12:56:49 GMT\n * Content-Type: application/json\n * Content-Length: 175\n *\n * {\n * \"error\": {\n * \"code\": \"expired_card\",\n * \"doc_url\": \"https://example.com/error-codes#expired-card\",\n * \"message\": \"The card has expired. Verify expiration or use a different card.\",\n * }\n * }\n * ```\n *\n * ## Specifications\n *\n * ## Compatibility notes\n *\n * This status code is _reserved_ but not defined.\n * Actual implementations vary in the format and contents of the response.\n * No browser supports a 402, and an error will be displayed as a generic `4xx` status code.\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [HTTP authentication](/en-US/docs/Web/HTTP/Guides/Authentication)\n */\n PAYMENT_REQUIRED = 402,\n\n /**\n * The HTTP **`403 Forbidden`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server understood the request but refused to process it.\n * This status is similar to [401](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401), except that for **`403 Forbidden`** responses, authenticating or re-authenticating makes no difference.\n * The request failure is tied to application logic, such as insufficient permissions to a resource or action.\n *\n * Clients that receive a `403` response should expect that repeating the request without modification will fail with the same error.\n * Server owners may decide to send a [404](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404) response instead of a 403 if acknowledging the existence of a resource to clients with insufficient privileges is not desired.\n *\n * ## Status\n *\n * ```http\n * 403 Forbidden\n * ```\n *\n * ## Examples\n *\n * ### Request failed due to insufficient permissions\n *\n * The following example request is made to an API for user management.\n * The request contains an [Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) header using `Bearer` [authentication scheme](/en-US/docs/Web/HTTP/Guides/Authentication#authentication_schemes) containing an access token:\n *\n * ```http\n * DELETE /users/123 HTTP/1.1\n * Host: example.com\n * Authorization: Bearer abcd123\n * ```\n *\n * The server has authenticated the request, but the action fails due to insufficient rights and the response body contains a reason for the failure:\n *\n * ```http\n * HTTP/1.1 403 Forbidden\n * Date: Tue, 02 Jul 2024 12:56:49 GMT\n * Content-Type: application/json\n * Content-Length: 88\n *\n * {\n * \"error\": \"InsufficientPermissions\",\n * \"message\": \"Deleting users requires the 'admin' role.\"\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [401](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401)\n * - [HTTP Status Code Definitions](https://httpwg.org/specs/rfc9110.html#status.403)\n */\n FORBIDDEN = 403,\n\n /**\n * The HTTP **`404 Not Found`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server cannot find the requested resource.\n * Links that lead to a 404 page are often called broken or dead links and can be subject to [link rot](https://en.wikipedia.org/wiki/Link_rot).\n *\n * A 404 status code only indicates that the resource is missing without indicating if this is temporary or permanent.\n * If a resource is permanently removed, servers should send the [410 Gone](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410) status instead.\n *\n * 404 errors on a website can lead to a poor user experience for your visitors, so the number of broken links (internal and external) should be minimized to prevent frustration for readers.\n * Common causes of 404 responses are mistyped URLs or pages that are moved or deleted without redirection.\n * For more information, see the [Redirections in HTTP](/en-US/docs/Web/HTTP/Guides/Redirections) guide.\n *\n * ## Status\n *\n * ```http\n * 404 Not Found\n * ```\n *\n * ## Examples\n *\n * ### Page not found\n *\n * Fetching a non-existent page may look like the following request:\n *\n * ```http\n * GET /my-deleted-blog-post HTTP/1.1\n * Host: example.com\n * ```\n *\n * The server returns a response similar to this:\n *\n * ```http\n * HTTP/1.1 404 Not Found\n * Age: 249970\n * Cache-Control: max-age=604800\n * Content-Type: text/html; charset=UTF-8\n * Date: Fri, 28 Jun 2024 11:40:58 GMT\n * Expires: Fri, 05 Jul 2024 11:40:58 GMT\n * Last-Modified: Tue, 25 Jun 2024 14:14:48 GMT\n * Server: ECAcc (nyd/D13E)\n * Vary: Accept-Encoding\n * X-Cache: 404-HIT\n * Content-Length: 1256\n *\n *\n * ...\n * ```\n *\n * ### Custom error page in Apache\n *\n * For the Apache server, you can specify a path to a custom 404 page in a `.htaccess` file.\n * The example below uses `notfound.html` as a page to show visitors on 404s, although a common approach is to name the file `404.html` or `404.php` (depending on the server-side technology) at the top-level of the server:\n *\n * ```apacheconf\n * ErrorDocument 404 /notfound.html\n * ```\n *\n * > [!NOTE]\n * > Custom 404 page design is a good thing in moderation.\n * > Feel free to make your 404 page humorous and human, but don't confuse your visitors as to why they are seeing something unexpected.\n * >\n * > For an example of a custom 404 page, see the [KonMari 404 page](https://konmari.com/404).\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [410](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410)\n * - [Wikipedia: HTTP 404](https://en.wikipedia.org/wiki/HTTP_404)\n */\n NOT_FOUND = 404,\n\n /**\n * The HTTP **`405 Method Not Allowed`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server knows the request method, but the target resource doesn't support this method.\n * The server **must** generate an [Allow](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Allow) header in a 405 response with a list of methods that the target resource currently supports.\n *\n * Improper server-side permissions set on files or directories may cause a 405 response when the request would otherwise be expected to succeed.\n *\n * ## Status\n *\n * ```http\n * 405 Method Not Allowed\n * ```\n *\n * ## Examples\n *\n * ### TRACE method not allowed\n *\n * Server owners often disallow the use of the `TRACE` method due to security concerns.\n * The following example shows a typical response where a server doesn't allow the use of `TRACE`:\n *\n * ```http\n * TRACE / HTTP/1.1\n * Host: example.com\n * ```\n *\n * ```http\n * HTTP/1.1 405 Method Not Allowed\n * Content-Length: 0\n * Date: Fri, 28 Jun 2024 14:30:31 GMT\n * Server: ECLF (nyd/D179)\n * Allow: GET, POST, HEAD\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Allow](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Allow)\n * - [501 Not Implemented](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/501), [510 Not Extended](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/510)\n * - [HTTP Status Code Definitions](https://httpwg.org/specs/rfc9110.html#status.405)\n * - [How to Fix 405 Method Not Allowed](https://kinsta.com/blog/405-method-not-allowed-error/)\n * - [Troubleshooting HTTP 405](https://learn.microsoft.com/en-us/aspnet/web-api/overview/testing-and-debugging/troubleshooting-http-405-errors-after-publishing-web-api-applications)\n */\n METHOD_NOT_ALLOWED = 405,\n\n /**\n * The HTTP **`406 Not Acceptable`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server could not produce a response matching the list of acceptable values defined in the request's [proactive content negotiation](/en-US/docs/Web/HTTP/Guides/Content_negotiation#server-driven_content_negotiation) headers and that the server was unwilling to supply a default representation.\n *\n * Proactive content negotiation headers include:\n *\n * - [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept)\n * - [Accept-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding)\n * - [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language)\n *\n * A server may return responses that differ from the request's accept headers.\n * In such cases, a [200](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200) response with a default resource that doesn't match the client's list of acceptable content negotiation values may be preferable to sending a 406 response.\n *\n * If a server returns a 406, the body of the message should contain the list of available representations for the resource, allowing the user to choose, although no standard way for this is defined.\n *\n * ## Status\n *\n * ```http\n * 406 Not Acceptable\n * ```\n *\n * ## Examples\n *\n * ### Content type not available\n *\n * The following request assumes that `www.example.com/docs/doc1` supports sending a document back as `application/rtf`:\n *\n * ```http\n * GET /docs/doc1 HTTP/1.1\n * Host: example.com\n * Accept: application/rtf;\n * ```\n *\n * In this example, the server implementation does not fallback to a default content type like `text/html` or `application/json`, but returns a 406 instead:\n *\n * ```http\n * HTTP/1.1 406 Not Acceptable\n * Date: Wed, 26 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.1 (Unix)\n * Content-Type: application/json\n *\n * {\n * \"code\": \"UnsupportedType\",\n * \"message\": \"Only 'text/html' or 'application/json' content types supported.\",\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept)\n * - [Accept-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding)\n * - [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language)\n * - HTTP [content negotiation](/en-US/docs/Web/HTTP/Guides/Content_negotiation)\n */\n NOT_ACCEPTABLE = 406,\n\n /**\n * The HTTP **`407 Proxy Authentication Required`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the request did not succeed because it lacks valid authentication credentials for the [proxy server](https://developer.mozilla.org/en-US/docs/Glossary/proxy_server) that sits between the client and the server with access to the requested resource.\n *\n * This response is sent with a [Proxy-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authenticate) header that contains information on how to correctly authenticate requests.\n * The client may repeat the request with a new or replaced [Proxy-Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authorization) header field.\n *\n * ## Status\n *\n * ```http\n * 407 Proxy Authentication Required\n * ```\n *\n * ## Examples\n *\n * ### Proxy auth\n *\n * A GET request is made to `example.com/admin`:\n *\n * ```http\n * GET /admin HTTP/1.1\n * Host: example.com\n * ```\n *\n * Along the way, an intermediary lets the client know that clients must be authenticated and provides information about the authentication scheme:\n *\n * ```http\n * HTTP/1.1 407 Proxy Authentication Required\n * Date: Wed, 21 Oct 2015 07:28:00 GMT\n * Proxy-Authenticate: Basic realm=\"Access to internal site\"\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [HTTP authentication](/en-US/docs/Web/HTTP/Guides/Authentication)\n * - [WWW-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/WWW-Authenticate)\n * - [Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization)\n * - [Proxy-Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authorization)\n * - [Proxy-Authenticate](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authenticate)\n * - [401](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401), [403](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403)\n */\n PROXY_AUTHENTICATION_REQUIRED = 407,\n\n /**\n * The HTTP **`408 Request Timeout`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server would like to shut down this unused connection.\n * A `408` is sent on an idle connection by some servers, _even without any previous request by the client_.\n *\n * A server should send the [Connection: close](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection) header field in the response, since `408` implies that the server has decided to close the connection rather than continue waiting.\n *\n * This response is used much more since some browsers, like Chrome and Firefox, use HTTP pre-connection mechanisms to speed up surfing.\n *\n * > [!NOTE]\n * > Some servers will shut down a connection without sending this message.\n *\n * ## Status\n *\n * ```http\n * 408 Request Timeout\n * ```\n *\n * ## Examples\n *\n * ### Timeout in form submission\n *\n * The following example shows what a client may send when an [`\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Connection](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection)\n * - [X-DNS-Prefetch-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control)\n */\n REQUEST_TIMEOUT = 408,\n\n /**\n * The HTTP **`409 Conflict`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates a request conflict with the current state of the target resource.\n *\n * In [WebDAV](https://developer.mozilla.org/en-US/docs/glossary/WebDAV) remote web authoring, 409 conflict responses are errors sent to the client so that a user might be able to resolve a conflict and resubmit the request.\n * For example, conflicts occur if a request to create collection `/a/b/c/d/` is made, and `/a/b/c/` does not exist, the request must fail with a 409.\n * Additionally, 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.\n *\n * In other systems, 409 responses may be used for implementation-specific purposes, such as to indicate that the server has received multiple requests to update the same resource.\n *\n * ## Status\n *\n * ```http\n * 409 Conflict\n * ```\n *\n * ## Examples\n *\n * ### Concurrent tasks disallowed\n *\n * In the following example, we want to kick off an automation process that performs a common task in the system:\n *\n * ```http\n * POST /tasks HTTP/1.1\n * Host: example.com\n * Content-Type: application/json\n *\n * {\n * \"task\": \"emailDogOwners\",\n * \"template\": \"pickup\"\n * }\n * ```\n *\n * In this implementation, the server disallows two concurrent jobs from running and returns a 409, providing the client an opportunity to check if they meant to perform the action or run a different task:\n *\n * ```http\n * HTTP/1.1 409 Conflict\n * Date: Wed, 26 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.1 (Unix)\n * Content-Type: application/json\n *\n * {\n * \"code\": \"AutomationConflict\",\n * \"task\": \"emailDogOwners\",\n * \"message\": \"Task locked. Cannot start a new automation since job is already running.\",\n * \"runningTaskId\": \"123\"\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT)\n */\n CONFLICT = 409,\n\n /**\n * The HTTP **`410 Gone`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the target resource is no longer available at the origin server and that this condition is likely to be permanent.\n * A 410 response is cacheable by default.\n *\n * Clients should not repeat requests for resources that return a 410 response, and website owners should remove or replace links that return this code.\n * If server owners don't know whether this condition is temporary or permanent, a status code should be used instead.\n *\n * ## Status\n *\n * ```http\n * 410 Gone\n * ```\n *\n * ## Examples\n *\n * ### Requesting an outdated resource\n *\n * The following `GET` request is for a page with promotional content that is no longer valid:\n *\n * ```http\n * GET /promotions/summer-2023 HTTP/1.1\n * Host: example.com\n * ```\n *\n * ```http\n * HTTP/1.1 410 Gone\n * Content-Type: text/html\n * Content-Length: 212\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * -\n * - [410 gone](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#410)\n */\n GONE = 410,\n\n /**\n * The HTTP **`411 Length Required`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server refused to accept the request without a defined [Content-Length](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header.\n *\n * > [!NOTE]\n * > When sending data in a series of chunks, the `Content-Length` header is omitted, and at the beginning of each chunk, the length of the current chunk needs to be included in hexadecimal format.\n * > See [Transfer-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding) for more details.\n *\n * ## Status\n *\n * ```http\n * 411 Length Required\n * ```\n *\n * ## Examples\n *\n * ### Chunked POST request\n *\n * The following request is sent chunked, which is the default method of sending data in some cases, such as when [writing to streams](https://nodejs.org/api/http.html#requestwritechunk-encoding-callback):\n *\n * ```http\n * POST /translate/de HTTP/1.1\n * Host: api.example.com\n * Content-Type: application/json\n * Transfer-encoding: chunked\n *\n * 2C\n * {\"text\": \"Hurry up, Ayşe is hungry!\"}\n * 0\n * ```\n *\n * In this case, the server is expecting a request in one part with a [Content-Length](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header and returns a 411 response:\n *\n * ```http\n * HTTP/1.1 411 Length Required\n * Content-Type: application/json\n * Content-Length: 110\n *\n * {\n * \"message\": \"Requests must have a content length header.\",\n * \"documentation\": \"http://api/example.com/docs/errors\",\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Content-Length](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length)\n * - [Transfer-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding)\n */\n LENGTH_REQUIRED = 411,\n\n /**\n * The HTTP **`412 Precondition Failed`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that access to the target resource was denied.\n * This happens with [conditional requests](/en-US/docs/Web/HTTP/Guides/Conditional_requests) on methods other than [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) or [HEAD](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/HEAD) when the condition defined by the [If-Unmodified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Unmodified-Since) or [If-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) headers is not fulfilled.\n * In that case, the request (usually an upload or a modification of a resource) cannot be made and this error response is sent back.\n *\n * ## Status\n *\n * ```http\n * 412 Precondition Failed\n * ```\n *\n * ## Examples\n *\n * ### Precondition failed\n *\n * ```http\n * ETag: \"33a64df551425fcc55e4d42a148795d9f25f89d4\"\n * ETag: W/\"0815\"\n * ```\n *\n * ### Avoiding mid-air collisions\n *\n * With the help of the `ETag` and the [If-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) headers, you can prevent conflicts or mid-air collisions.\n * For example, when editing some wiki pages, content is hashed and put into an `ETag` in successful responses:\n *\n * ```http\n * ETag: \"33a64df551425fcc55e4d42a148795d9f25f89d4\"\n * ```\n *\n * When saving changes to a wiki page (posting data), the [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request will contain the [If-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) header containing the `ETag` values that the client stored from the last edit to check freshness of the resource on the server:\n *\n * ```http\n * If-Match: \"33a64df551425fcc55e4d42a148795d9f25f89d4\"\n * ```\n *\n * If the hashes don't match, the document has been edited in-between and a `412 Precondition Failed` error is thrown.\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Conditional requests](/en-US/docs/Web/HTTP/Guides/Conditional_requests)\n * - [304](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/304)\n * - [If-Unmodified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Unmodified-Since), [If-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match)\n * - [428](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/428)\n */\n PRECONDITION_FAILED = 412,\n\n /**\n * The HTTP **`413 Content Too Large`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the request entity was larger than limits defined by server.\n * The server might close the connection or return a [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header field.\n *\n * Prior to [9110](https://developer.mozilla.org/en-US/docs/rfc/9110) the response phrase for the status was **`Payload Too Large`**.\n * This message is still widely used.\n *\n * ## Status\n *\n * ```http\n * 413 Content Too Large\n * ```\n *\n * ## Examples\n *\n * ### File upload limit exceeded\n *\n * The following example shows what the client may send when an [`<input type=\"file\">`](/en-US/docs/Web/HTML/Reference/Elements/input/file) element includes an image on form submission with `method=\"post\"`:\n *\n * ```http\n * POST /upload HTTP/1.1\n * Host: example.com\n * Content-Type: multipart/form-data; boundary=----Boundary1234\n * Content-Length: 4012345\n *\n * ------Boundary1234\n * Content-Disposition: form-data; name=\"file\"; filename=\"myImage.jpg\"\n * Content-Type: image/jpeg\n *\n * \\xFF\\xD8\\xFF\\xE0\\x00...(binary data)\n * ------Boundary1234--\n * ```\n *\n * The server may reject the upload if there is a restriction on the maximum size of files it will process, and the response body includes a `message` with some context:\n *\n * ```http\n * HTTP/1.1 413 Content Too Large\n * Content-Type: application/json\n * Content-Length: 97\n *\n * {\n * \"error\": \"Upload failed\",\n * \"message\": \"Maximum allowed upload size is 4MB\",\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Connection](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection)\n * - [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After)\n */\n CONTENT_TOO_LARGE = 413,\n\n /**\n * The HTTP **`414 URI Too Long`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that a URI requested by the client was longer than the server is willing to interpret.\n *\n * There are a few rare conditions when this error might occur:\n *\n * - a client has improperly converted a [POST](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/POST) request to a [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) request with long query information,\n * - a client has descended into a loop of redirection (for example, a redirected URI prefix that points to a suffix of itself), or\n * - the server is under attack by a client attempting to exploit potential security holes.\n *\n * Some systems implement `414 URI Too Long` as `414 Request-URI Too Large`.\n *\n * ## Status\n *\n * ```http\n * 414 URI Too Long\n * ```\n *\n * ## Examples\n *\n * ### Form submission using GET\n *\n * In the following example, an HTML [`\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [URI](https://developer.mozilla.org/en-US/docs/Glossary/URI)\n */\n URI_TOO_LONG = 414,\n\n /**\n * The HTTP **`415 Unsupported Media Type`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server refused to accept the request because the message [content](https://developer.mozilla.org/en-US/docs/Glossary/HTTP_Content) format is not supported.\n *\n * The format problem might be due to the request's indicated [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) or [Content-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding), or as a result of processing the request message content.\n * Some servers may be strict about the expected `Content-Type` of requests.\n * For example, sending `UTF8` instead of `UTF-8` to specify the [UTF-8](https://developer.mozilla.org/en-US/docs/glossary/UTF-8) charset may cause the server to consider the media type invalid.\n *\n * ## Status\n *\n * ```http\n * 415 Unsupported Media Type\n * ```\n *\n * ## Examples\n *\n * ### Missing content type\n *\n * In the following example, the [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header is missing entirely:\n *\n * ```http\n * POST /comments HTTP/1.1\n * Host: example.com\n * Content-Length: 23\n *\n * {\n * \"user\": \"belgin\",\n * \"comment\": \"LGTM!\"\n * }\n * ```\n *\n * If the server implementation expects at least a MIME type `Content-Type: application/json;` for the request at that endpoint, it may send the following response:\n *\n * ```http\n * HTTP/1.1 415 Unsupported Media Type\n * Date: Fri, 28 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.41 (Ubuntu)\n * Accept-Post: application/json; charset=UTF-8\n * Content-Length: 0\n * ```\n *\n * ### Invalid content type\n *\n * In the following example, the [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header is incorrectly set to URL-encoded form data when the [content](https://developer.mozilla.org/en-US/docs/Glossary/HTTP_Content) is in the request body instead:\n *\n * ```http\n * POST /comments HTTP/1.1\n * Host: example.com\n * Content-Length: 23\n * Content-Type: application/x-www-form-urlencoded\n *\n * {\n * \"user\": \"belgin\",\n * \"comment\": \"LGTM!\"\n * }\n * ```\n *\n * In this case, the server responds with a 415, with the required content type for the request in the [Accept-Post](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Post) header:\n *\n * ```http\n * HTTP/1.1 415 Unsupported Media Type\n * Date: Fri, 28 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.41 (Ubuntu)\n * Accept-Post: application/json; charset=UTF-8\n * Content-Length: 0\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type)\n * - [Content-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding)\n * - [Accept-Post](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Post)\n */\n UNSUPPORTED_MEDIA_TYPE = 415,\n\n /**\n * The HTTP **`416 Range Not Satisfiable`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that a server could not serve the requested ranges.\n * The most likely reason for this response is that the document doesn't contain such [ranges](/en-US/docs/Web/HTTP/Guides/Range_requests), or that the [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) header value, though syntactically correct, doesn't make sense.\n *\n * The `416` response message should contain a [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) indicating an unsatisfied range (that is a `'*'`) followed by a `'/'` and the current length of the resource, e.g., `Content-Range: bytes * /12777`\n *\n * When encountering this error, browsers typically either abort the operation (for example, a download will be considered non-resumable) or request the whole document again without ranges.\n *\n * ## Status\n *\n * ```http\n * 416 Range Not Satisfiable\n * ```\n *\n * ## Examples\n *\n * ### Malformed range request\n *\n * The following request asks for a range of 1000-1999 bytes from a text file.\n * The first position unit (1000) is larger than the actual resource on the server (800 bytes):\n *\n * ```http\n * GET /files/prose.txt HTTP/1.1\n * Host: example.com\n * Range: bytes=1000-1999\n * ```\n *\n * The server supports range requests and sends back the current length of the selected representation in the [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range) header:\n *\n * ```http\n * HTTP/1.1 416 Range Not Satisfiable\n * Date: Fri, 28 Jun 2024 11:40:58 GMT\n * Content-Range: bytes * /800\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [206 Partial Content](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206)\n * - [HTTP range requests](/en-US/docs/Web/HTTP/Guides/Range_requests)\n * - [Content-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range)\n * - [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range)\n */\n RANGE_NOT_SATISFIABLE = 416,\n\n /**\n * The HTTP **`417 Expectation Failed`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the expectation given in the request's [Expect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect) header could not be met.\n * After receiving a 417 response, a client should repeat the request without an `Expect` request header, including the file in the request body without waiting for a [100](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100) response.\n * See the [Expect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect) header documentation for more details.\n *\n * ## Status\n *\n * ```http\n * 417 Expectation Failed\n * ```\n *\n * ## Examples\n *\n * ### Expectations unsupported\n *\n * The following PUT request sends information about an intended file upload to a server.\n * The client uses an `Expect: 100-continue` header and no request body to avoid sending data over the network that may result in an error such as [405](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405), [401](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401), or [403](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403) response:\n *\n * ```http\n * PUT /videos HTTP/1.1\n * Host: uploads.example.com\n * Content-Type: video/h264\n * Content-Length: 1234567890987\n * Expect: 100-continue\n * ```\n *\n * In this example server implementation, expectations are not supported and the presence of an `Expect` header with any value results in 417 responses:\n *\n * ```http\n * HTTP/1.1 417 Expectation Failed\n * Date: Fri, 28 Jun 2024 11:40:58 GMT\n * ```\n *\n * The client responds by making a request without expectations and with the [content](https://developer.mozilla.org/en-US/docs/Glossary/HTTP_Content) in the request body:\n *\n * ```http\n * PUT /videos HTTP/1.1\n * Host: uploads.example.com\n * Content-Type: video/h264\n * Content-Length: 1234567890987\n *\n * […]\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [100 Continue](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100)\n * - [Expect](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expect)\n */\n EXPECTATION_FAILED = 417,\n\n /**\n * The HTTP **`418 I'm a teapot`** status response code indicates that the server refuses to brew coffee because it is, permanently, a teapot.\n * A combined coffee/tea pot that is temporarily out of coffee should instead return [503](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503).\n * This error is a reference to Hyper Text Coffee Pot Control Protocol defined in April Fools' jokes in 1998 and 2014.\n *\n * Some websites use this response for requests they do not wish to handle, such as automated queries.\n *\n * ## Status\n *\n * ```http\n * 418 I'm a teapot\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Wikipedia: Hyper Text Coffee Pot Control Protocol](https://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol)\n */\n I_M_A_TEAPOT = 418,\n\n /**\n * The HTTP **`421 Misdirected Request`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the request was directed to a server that is not able to produce a response.\n * This can be sent by a server that is not configured to produce responses for the combination of [scheme](/en-US/docs/Web/URI/Reference/Schemes) and [authority](/en-US/docs/Web/URI/Reference/Authority) that are included in the request URI.\n *\n * Clients may retry the request over a different connection.\n *\n * ## Status\n *\n * ```http\n * 421 Misdirected Request\n * ```\n *\n * ## Examples\n *\n * ### Apache SNI error\n *\n * Given the following request:\n *\n * ```http\n * GET / HTTP/1.1\n * Host: abc.example.com\n * ```\n *\n * In cases such as a wildcard certificate (`*.example.com`) and a connection is reused for multiple domains (`abc.example.com`, `def.example.com`), the server may respond with a 421:\n *\n * ```http\n * HTTP/1.1 421 Misdirected Request\n * Date: Wed, 26 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.1 (Unix)\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Multiple hosts and misdirected requests](https://httpd.apache.org/docs/2.4/mod/mod_http2.html#misdirected) Apache Server documentation\n * - [TLS 1.3](/en-US/docs/Web/Security/Transport_Layer_Security#tls_1.3)\n * - [Server Name Indication (SNI)](https://en.wikipedia.org/wiki/Server_Name_Indication)\n * - [Transport Layer Security (TLS) configuration](/en-US/docs/Web/Security/Practical_implementation_guides/TLS)\n */\n MISDIRECTED_REQUEST = 421,\n\n /**\n * The HTTP **`422 Unprocessable Content`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server understood the content type of the request content, and the syntax of the request content was correct, but it was unable to process the contained instructions.\n *\n * Clients that receive a `422` response should expect that repeating the request without modification will fail with the same error.\n *\n * ## Status\n *\n * ```http\n * 422 Unprocessable Content\n * ```\n *\n * ## Examples\n *\n * ### SHA validation failure\n *\n * The following example makes a request to update file contents ([based on GitHub's API](https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28#create-or-update-file-contents)).\n * The `content` field is [Base64](https://developer.mozilla.org/en-US/docs/glossary/Base64) encoded and uses `\\n` line feeds every 60 characters, with one terminating the string:\n *\n * ```http\n * PUT /repos/mdn/content/contents/README.md HTTP/1.1\n * Host: api.example.com\n * Accept: application/vnd.github+json\n * Authorization: Bearer abcd123\n * Content-Type: application/json\n * Content-Length: 165\n *\n * {\n * \"message\": \"My commit\",\n * \"content\": \"WW9zaGkgd2FzIHRoZXJlLCBzbyB3ZXJlIEF5c2UsIGFuZCBCZWxnaW4uIEl0\\nIHdhcyBncmVhdCE=\\n\",\n * \"sha\": \"80e73970fdee49dbdbac27c1f565d1eb1975d519\"\n * }\n * ```\n *\n * In this implementation, the server expects strictly [4648](https://developer.mozilla.org/en-US/docs/rfc/4648)-compliant Base64 encoded content (using [strict encoding methods](https://ruby-doc.org/3.3.2/stdlibs/base64/Base64.html#method-i-strict_encode64)).\n * A `422` Unprocessable Content response is returned and the `message` field provides context about the validation error:\n *\n * ```http\n * HTTP/1.1 422 Unprocessable Content\n * Date: Fri, 28 Jun 2024 12:00:00 GMT\n * Content-Type: application/json; charset=utf-8\n * Content-Length: 187\n *\n * {\n * \"message\": \"content is not valid Base64\",\n * \"documentation_url\": \"https://docs.example.com/en/rest/repos/contents\"\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n UNPROCESSABLE_CONTENT = 422,\n\n /**\n * The HTTP **`423 Locked`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that a resource is _locked_, meaning it can't be accessed.\n * Its response body should contain information in [WebDAV](https://developer.mozilla.org/en-US/docs/glossary/WebDAV)'s XML format.\n *\n * > [!NOTE]\n * > The ability to _lock_ a resource to prevent conflicts is specific to some [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) servers.\n * > Browsers accessing web pages will never encounter this status code; in the erroneous cases it happens, they will handle it as a generic status code.\n *\n * ## Status\n *\n * ```http\n * 423 Locked\n * ```\n *\n * ## Examples\n *\n * ### WebDAV 423 Locked response\n *\n * ```http\n * HTTP/1.1 423 Locked\n * Content-Type: application/xml; charset=\"utf-8\"\n * Content-Length: xxxx\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n LOCKED = 423,\n\n /**\n * The HTTP **`424 Failed Dependency`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the method could not be performed on the resource because the requested action depended on another action, and that action failed.\n *\n * Regular web servers typically do not return this status code, but some protocols like [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV) can return it.\n * For example, in [WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV), if a `PROPPATCH` request was issued, and one command fails then automatically every other command will also fail with `424 Failed Dependency`.\n *\n * ## Status\n *\n * ```http\n * 424 Failed Dependency\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [403](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403) (Forbidden)\n * - [501 Not Implemented](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/501), [510 Not Extended](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/510)\n */\n FAILED_DEPENDENCY = 424,\n\n /**\n * The HTTP **`425 Too Early`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server was unwilling to risk processing a request that might be replayed to avoid potential replay attacks.\n *\n * If a client has interacted with a server recently, early data (also known as zero round-trip time [(0-RTT) data](/en-US/docs/Web/Security/Transport_Layer_Security#tls_1.3)) allows the client to send data to a server in the first round trip of a connection, without waiting for the TLS [handshake](/en-US/docs/Glossary/TCP_handshake) to complete.\n * A client that sends a request in early data does not need to include the `Early-Data` header.\n * See [Early-Data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Early-Data) for more information.\n *\n * ## Status\n *\n * ```http\n * 425 Too Early\n * ```\n *\n * ## Specifications\n *\n * ## Browser compatibility\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [TLS 1.3](/en-US/docs/Web/Security/Transport_Layer_Security#tls_1.3)\n * - [Early-Data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Early-Data)\n */\n TOO_EARLY = 425,\n\n /**\n * The HTTP **`426 Upgrade Required`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server refused to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.\n *\n * The server sends an [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) header with this response to indicate the required protocol(s).\n *\n * ## Status\n *\n * ```http\n * 426 Upgrade Required\n * ```\n *\n * ## Examples\n *\n * ### Upgrade required from HTTP/1.1\n *\n * Given a GET request to a system:\n *\n * ```http\n * GET /resources HTTP/1.1\n * Host: example.com\n * ```\n *\n * The origin server expects that requests must be made in [HTTP/3](/en-US/docs/Glossary/HTTP_3):\n *\n * ```http\n * HTTP/1.1 426 Upgrade Required\n * Upgrade: HTTP/3.0\n * Connection: Upgrade\n * Content-Length: 53\n * Content-Type: text/plain\n *\n * This service requires use of the HTTP/3.0 protocol.\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade)\n * - [101 Switching Protocols](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/101)\n */\n UPGRADE_REQUIRED = 426,\n\n /**\n * The HTTP **`428 Precondition Required`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server requires the request to be [conditional](/en-US/docs/Web/HTTP/Guides/Conditional_requests).\n *\n * Typically, a 428 response means that a required precondition header such as [If-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) **is missing**.\n * When a precondition header does **not match** the server-side state, the response should be [412 Precondition Failed](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412).\n *\n * ## Status\n *\n * ```http\n * 428 Precondition Required\n * ```\n *\n * ## Examples\n *\n * ### Missing precondition in request\n *\n * A client has fetched a resource `my-document` from the server, updated it locally, and then tries to send the updated document back to the server:\n *\n * ```http\n * PUT /docs/my-document HTTP/1.1\n * Host: example.com\n * Content-Type: application/json\n *\n * {\n * […]\n * ```\n *\n * The server implementation requires that all [PUT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/PUT) requests for the specific path or type of documents must be conditional and sends a 428 response:\n *\n * ```http\n * HTTP/1.1 428 Precondition Required\n * Date: Wed, 26 Jun 2024 12:00:00 GMT\n * Server: Apache/2.4.1 (Unix)\n * Content-Type: application/json\n *\n * {\n * \"code\": \"MissingPrecondition\",\n * \"message\": \"Updating documents requires a precondition header.\",\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [HTTP conditional requests](/en-US/docs/Web/HTTP/Guides/Conditional_requests)\n * - Conditional headers: [If-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match), [If-None-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match), [If-Modified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since), [If-Unmodified-Since](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Unmodified-Since), [If-Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Range)\n * -\n */\n PRECONDITION_REQUIRED = 428,\n\n /**\n * The HTTP **`429 Too Many Requests`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates the client has sent too many requests in a given amount of time.\n * This mechanism of asking the client to slow down the rate of requests is commonly called \"[rate limiting](https://developer.mozilla.org/en-US/docs/glossary/rate_limit)\".\n *\n * A [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header may be included to this response to indicate how long a client should wait before making the request again.\n *\n * Implementations of rate limiting vary; restrictions may be server-wide or per resource.\n * Typically, rate-limiting restrictions are based on a client's IP but can be specific to users or authorized applications if requests are authenticated or contain a [cookie](https://developer.mozilla.org/en-US/docs/Glossary/cookie).\n *\n * ## Status\n *\n * ```http\n * 429 Too Many Requests\n * ```\n *\n * ## Examples\n *\n * ### Response containing Retry-After header\n *\n * The following request is being sent repeatedly in a loop by a client that is misconfigured:\n *\n * ```http\n * GET /reports/mdn HTTP/1.1\n * Host: example.com\n * ```\n *\n * In this example, server-wide rate limiting is active when a client exceeds a set threshold of requests per minute.\n * A 429 response is returned with a [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header that indicates that requests will be allowed for this client again in 60 minutes:\n *\n * ```http\n * HTTP/1.1 429 Too Many Requests\n * Content-Type: text/html\n * Retry-After: 3600\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After)\n * - Python solution: [How to avoid HTTP error 429 python](https://stackoverflow.com/questions/22786068/how-to-avoid-http-error-429-too-many-requests-python)\n */\n TOO_MANY_REQUESTS = 429,\n\n /**\n * The HTTP **`431 Request Header Fields Too Large`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the server refuses to process the request because the request's [HTTP headers](/en-US/docs/Web/HTTP/Reference/Headers) are too long.\n * The request may be resubmitted after reducing the size of the request headers.\n *\n * 431 can be used when the total size of request headers is too large or when a single header field is too large.\n * To help clients running into this error, indicate which of the two is the problem in the response body and, ideally, say which headers are too large.\n * This lets people attempt to fix the problem, such as by clearing cookies.\n *\n * Servers will often produce this status if:\n *\n * - The [Referer](https://developer.mozilla.org/en-US/docs/httpheader/Referer) URL is too long\n * - There are too many [Cookies](/en-US/docs/Web/HTTP/Guides/Cookies) sent in the request\n *\n * ## Status\n *\n * ```http\n * 431 Request Header Fields Too Large\n * ```\n *\n * ## Examples\n *\n * ### Header field too large\n *\n * In the following example, the [Cookie](https://developer.mozilla.org/en-US/docs/httpheader/Cookie) header is too large in the request:\n *\n * ```http\n * GET /doc HTTP/1.1\n * Host: example.com\n * Cookie: cookie1=value1; cookie2=value2; cookie3=[…]\n * ```\n *\n * The server responds with an message indicating which header was problematic:\n *\n * ```http\n * HTTP/1.1 431 Request Header Fields Too Large\n * Content-Type: text/html\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [414 URI Too Long](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/414)\n * - [Request header](https://developer.mozilla.org/en-US/docs/Glossary/Request_header)\n */\n REQUEST_HEADER_FIELDS_TOO_LARGE = 431,\n\n /**\n * The HTTP **`451 Unavailable For Legal Reasons`** [client error response](/en-US/docs/Web/HTTP/Reference/Status#client_error_responses) status code indicates that the user requested a resource that is not available due to legal reasons, such as a web page for which a legal action has been issued.\n *\n * ## Status\n *\n * ```http\n * 451 Unavailable For Legal Reasons\n * ```\n *\n * ## Examples\n *\n * ### Response with Link header\n *\n * This example response is taken from the IETF RFC (see below) and contains a reference to [Monty Python's Life of Brian](https://en.wikipedia.org/wiki/Monty_Python's_Life_of_Brian).\n *\n * > [!NOTE]\n * > The [Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link) header might also contain a `rel=\"blocked-by\"` relation identifying the entity implementing the blockage, not any other entity mandating it.\n *\n * Any attempt to identify the entity ultimately responsible for the resource being unavailable belongs in the response body, not in the `rel=\"blocked-by\"` link. This includes the name of the person or organization that made a legal demand resulting in the content's removal.\n *\n * ```http\n * HTTP/1.1 451 Unavailable For Legal Reasons\n * Link:\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Wikipedia: HTTP 451](https://en.wikipedia.org/wiki/HTTP_451)\n * - [Wikipedia: Fahrenheit 451](https://en.wikipedia.org/wiki/Fahrenheit_451) (which gave this status code its number)\n */\n UNAVAILABLE_FOR_LEGAL_REASONS = 451,\n\n /**\n * The HTTP **`500 Internal Server Error`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.\n * This error is a generic \"catch-all\" response to server issues, indicating that the server cannot find a more appropriate [5XX error](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) to respond with.\n *\n * If you're a visitor seeing `500` errors on a web page, these issues require investigation by server owners or administrators.\n * There are many possible causes of `500` errors, including: improper server configuration, out-of-memory (OOM) issues, unhandled exceptions, improper file permissions, or other complex factors.\n * Server administrators may proactively log occurrences of server error responses, like the `500` status code, with details about the initiating requests to improve the stability of a service in the future.\n *\n * ## Status\n *\n * ```http\n * 500 Internal Server Error\n * ```\n *\n * ## Examples\n *\n * ### 500 server error response\n *\n * The following request tries to fetch a webpage, but receives a 500 response in return.\n * The response body contains a page describing the server state with a link to a support page for visitors.\n * An identifier is contained in the response body for illustration of a method that may help server administrators narrow down the root cause of the problem:\n *\n * ```http\n * GET /highlights HTTP/1.1\n * Host: example.com\n * User-Agent: curl/8.6.0\n * Accept: * /*\n * ```\n *\n * ```http\n * HTTP/1.1 500 Internal Server Error\n * Content-Type: text/html;\n * Content-Length: 123\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n INTERNAL_SERVER_ERROR = 500,\n\n /**\n * The HTTP **`501 Not Implemented`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code means that the server does not support the functionality required to fulfill the request.\n *\n * A response with this status may also include a [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header, telling the client that they can retry the request after the specified time has elapsed.\n * A `501` response is cacheable by default unless caching headers instruct otherwise.\n *\n * `501` is the appropriate response when the server does not recognize the request method and is incapable of supporting it for any resource.\n * Servers are required to support [GET](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/GET) and [HEAD](https://developer.mozilla.org/en-US/docs/Web/HTTP/Method/HEAD), and therefore must not return `501` in response to requests with these methods.\n * If the server does recognize the method, but intentionally does not allow it, the appropriate response is [405 Method Not Allowed](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405).\n *\n * If you have visited a web page and you are seeing `501` errors, these issues require investigation and fixing by server owners or administrators.\n * You can clear your browser cache for the domain, disable proxies if you are using one, or try again later to see if it works as expected.\n *\n * A `501` response can occur if proxies cannot not handle request methods used in the context of HTTP Extension Framework ([2774](https://developer.mozilla.org/en-US/docs/RFC/2774)) applications.\n * This status can also occur in Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)) when a request method (`SEARCH`, `PROPFIND`) does not have a URL handler configured to process it.\n *\n * ## Status\n *\n * ```http\n * 501 Not Implemented\n * ```\n *\n * ## Examples\n *\n * ### Extension method not supported\n *\n * In the following HTTP Extension Framework example, a client sends a request with a mandatory extension specified in the `C-MAN` header.\n * The [Connection](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection) header specifies that these extensions are to be handled on a [hop-by-hop](/en-US/docs/Web/HTTP/Reference/Headers#hop-by-hop_headers) basis.\n * A proxy refuses to forward the `M-GET` method, and sends a `501` error in response:\n *\n * ```http\n * M-GET /document HTTP/1.1\n * Host: example.com\n * C-Man: \"http://www.example.org/\"\n * Connection: C-Man\n * ```\n *\n * ```http\n * HTTP/1.1 501 Not Implemented\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [510 Not Extended](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/510)\n * - [HTTP 501 errors](https://learn.microsoft.com/en-us/aspnet/web-api/overview/testing-and-debugging/troubleshooting-http-405-errors-after-publishing-web-api-applications) in Microsoft ASP.NET documentation\n */\n NOT_IMPLEMENTED = 501,\n\n /**\n * The HTTP **`502 Bad Gateway`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code indicates that a server was acting as a gateway or [proxy](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server) and that it received an invalid response from the upstream server.\n *\n * This response is similar to a [500 Internal Server Error](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) response in the sense that it is a generic \"catch-call\" for server errors.\n * The difference is that it is specific to the point in the request chain that the error has occurred.\n * If the origin server sends a valid HTTP error response to the gateway, the response should be passed on to the client instead of a `502` to make the failure reason transparent.\n * If the proxy or gateway did not receive any HTTP response from the origin, it instead sends a [504 Gateway Timeout](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504) to the client.\n *\n * There are many causes of `502` errors, and fixing such problems probably requires investigation by server owners or administrators.\n * Exceptions are client networking errors, particularly if the service works for other visitors, and if clients use VPNs or other custom networking setups.\n * In such cases, clients should check network settings, firewall setup, proxy settings, DNS configuration, etc.\n *\n * ## Status\n *\n * ```http\n * 502 Bad Gateway\n * ```\n *\n * ## Examples\n *\n * ### 502 gateway error response\n *\n * The following request tries to fetch a webpage, but receives a `502` response in return.\n * The response body contains a page describing the server state with a link to a support page for visitors.\n *\n * ```http\n * GET /highlights HTTP/1.1\n * Host: example.com\n * User-Agent: curl/8.6.0\n * Accept: * /*\n * ```\n *\n * ```http\n * HTTP/1.1 502 Bad Gateway\n * Content-Type: text/html;\n * Content-Length: 123\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [504 Gateway Timeout](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504)\n */\n BAD_GATEWAY = 502,\n\n /**\n * The HTTP **`503 Service Unavailable`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code indicates that the server is not ready to handle the request.\n *\n * Common causes are that a server is down for maintenance or overloaded.\n * During maintenance, server administrators may temporarily route all traffic to a `503` page, or this may happen automatically during software updates.\n * In overload cases, some server-side applications will reject requests with a `503` status when resource thresholds like memory, CPU, or connection pool limits are met.\n * Dropping incoming requests creates backpressure that prevents the server's compute resources from being exhausted, avoiding more severe failures.\n * If requests from specific clients are being restricted due to [rate limiting](https://developer.mozilla.org/en-US/docs/Glossary/Rate_limit), the appropriate response is [429 Too Many Requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429).\n *\n * This response should be used for temporary conditions and the [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) HTTP header should contain the estimated time for the recovery of the service, if possible.\n *\n * A user-friendly page explaining the problem should be sent along with this response.\n *\n * > [!NOTE]\n * > Caching-related headers sent with this response require special attention; a `503` indicates a temporary issue and responses shouldn't usually be cached as clients may receive outdated error pages after a fix has been deployed.\n *\n * ## Status\n *\n * ```http\n * 503 Service Unavailable\n * ```\n *\n * ## Examples\n *\n * ### 503 server error response\n *\n * The following request tries to fetch a webpage, but receives a `503` response.\n * The response body contains a page describing the server state with a link to a support page for visitors.\n * An identifier is contained in the response body for illustration of a method that may help server administrators narrow down the root cause of the problem:\n *\n * ```http\n * GET /highlights HTTP/1.1\n * Host: example.com\n * User-Agent: curl/8.6.0\n * Accept: * /*\n * ```\n *\n * ```http\n * HTTP/1.1 503 Service Unavailable\n * Content-Type: text/html;\n * Content-Length: 123\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After)\n */\n SERVICE_UNAVAILABLE = 503,\n\n /**\n * The HTTP **`504 Gateway Timeout`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code indicates that the server, while acting as a gateway or [proxy](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server), did not get a response in time from the upstream server in order to complete the request.\n * This is similar to a [502 Bad Gateway](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502), except that in a `504` status, the proxy or gateway did not receive any HTTP response from the origin within a certain time.\n *\n * There are many causes of `504` errors, and fixing such problems likely requires investigation and debugging by server administrators, or the site may work again at a later time.\n * Exceptions are client networking errors, particularly if the service works for other visitors, and if clients use VPNs or other custom networking setups.\n * In such cases, clients should check network settings, firewall setup, proxy settings, DNS configuration, etc.\n *\n * ## Status\n *\n * ```http\n * 504 Gateway Timeout\n * ```\n *\n * ## Examples\n *\n * ### 504 gateway timeout response\n *\n * The following request tries to fetch a webpage, but receives a `504` response in return.\n * The response body contains a page describing the server state with a link to a support page for visitors.\n *\n * ```http\n * GET /highlights HTTP/1.1\n * Host: example.com\n * User-Agent: curl/8.6.0\n * Accept: * /*\n * ```\n *\n * ```http\n * HTTP/1.1 504 Gateway Timeout\n * Content-Type: text/html;\n * Content-Length: 123\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [502 Bad Gateway](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502)\n */\n GATEWAY_TIMEOUT = 504,\n\n /**\n * The HTTP **`505 HTTP Version Not Supported`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code indicates that the HTTP version used in the request is not supported by the server.\n *\n * It's common to see this error when a request line is improperly formed such as `GET /path to resource HTTP/1.1` or with `\\n` terminating the request line instead of `\\r\\n`.\n * For example, intermediaries such as load balancers may not handle request lines of a forwarded request as illustrated in the example below.\n *\n * ## Status\n *\n * ```http\n * 505 HTTP Version Not Supported\n * ```\n *\n * ## Examples\n *\n * ### A 505 due to malformed request-line\n *\n * In the following example, a client requests `example.com/dog%20trainers`, but due to incorrect load balancer configuration, the [percent encoding](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding) in the URL is not handled properly.\n * In this case, the origin server sees `trainers` instead of the HTTP version, and a `505` response is returned instead.\n * A request identifier is contained in the response body for illustration of a way that may help server administrators narrow down the root cause of the problem:\n *\n * ```http\n * GET /dog trainers HTTP/1.1\n * Host: example.com\n * ```\n *\n * ```http\n * HTTP/1.1 505 HTTP Version Not Supported\n * Content-Type: text/html;\n * Content-Length: 123\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Upgrade](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade) header\n */\n HTTP_VERSION_NOT_SUPPORTED = 505,\n\n /**\n * The HTTP **`506 Variant Also Negotiates`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code is returned during content negotiation when there is recursive loop in the process of selecting a resource.\n *\n * [Agent-driven content negotiation](/en-US/docs/Web/HTTP/Guides/Content_negotiation#agent-driven_negotiation) enables a client and server to collaboratively decide the best variant of a given resource when the server has multiple variants.\n * A server sends a `506` status code due to server misconfiguration that results in circular references when creating responses.\n *\n * Lack of standardization of how clients automatically choose from responses, and the additional round-trips that slow down client-server interaction mean this mechanism is rarely used.\n * [Server-driven content negotiation](/en-US/docs/Web/HTTP/Guides/Content_negotiation#server-driven_content_negotiation) is far more common, where a server directly chooses the most appropriate resource for the client based on the request headers ([Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language), [Accept](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept), etc.).\n *\n * ## Status\n *\n * ```http\n * 506 Variant Also Negotiates\n * ```\n *\n * ## Examples\n *\n * ### Resource with variants\n *\n * In the following example, a client requests a page in the `fr` locale using the [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language) header.\n * This can be performed using curl:\n *\n * ```bash\n * curl -H \"Negotiate: trans\" -H \"Accept-Language: fr;\" http://example.com/index\n * ```\n *\n * This produces the following request:\n *\n * ```http\n * GET /index HTTP/1.1\n * Host: example.com\n * User-Agent: curl/8.7.1\n * Accept: * /*\n * Negotiate: trans\n * Accept-Language: fr\n * ```\n *\n * Due to server misconfiguration, the variant response for `fr` points to a [type map](https://httpd.apache.org/docs/trunk/mod/mod_negotiation.html#typemaps) which itself causes transparent negotiation to be performed.\n * The server may detect this condition by the presence of a `TCN` header in a choice response before it is sent:\n *\n * ```http\n * HTTP/1.1 506 Variant Also Negotiates\n * Date: Mon, 22 Jul 2024 10:00:00 GMT\n * Server: Apache/2.4.41 (Unix)\n * Content-Type: text/html; charset=UTF-8\n * Content-Length: 233\n * TCN: list\n * Vary: negotiate,accept-language\n * Alternates: {\"index.html.en\" 1 {type text/html} {language en} {length 48}}, {\"another-map.html.fr.map\" 1 {type text/html} {language fr} {length 45}}}}\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [300 Multiple Choices](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/300)\n * - [2295](https://developer.mozilla.org/en-US/docs/RFC/2295)\n * - [Content negotiation](/en-US/docs/Web/HTTP/Guides/Content_negotiation)\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Content Negotiation](https://httpd.apache.org/docs/2.4/content-negotiation.html) in Apache HTTP Server documentation\n * - [Apache httpd `mod_negotiation.c` source](https://github.com/apache/httpd/blob/6a2433cb3fbc30c8a55f450a046e4b0f69e73143/modules/mappers/mod_negotiation.c#L2687-L2691) showing conditions that trigger `HTTP_VARIANT_ALSO_VARIES` response.\n */\n VARIANT_ALSO_NEGOTIATES = 506,\n\n /**\n * The HTTP **`507 Insufficient Storage`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code indicates that an action could not be performed because the server does not have enough available storage to successfully complete the request.\n *\n * This status code was first used in the context of Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)), but has propagated into other use cases to describe situations where server resources are exhausted.\n * Common causes of this error can be from server directories running out of available space, not enough available RAM for an operation, or internal limits reached (such as application-specific memory limits, for example).\n * The request causing this error does not necessarily need to include content, as it may be a request that would create a resource on the server if it was successful.\n *\n * This issue is considered temporary, as opposed to a [413 Content Too Large](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/413), which indicates that the client request is too large for the server to process regardless of server resource constraints.\n *\n * ## Status\n *\n * ```http\n * 507 Insufficient Storage\n * ```\n *\n * ## Examples\n *\n * ### 507 response indicating storage issues\n *\n * The following request attempts to upload a file to a server which has insufficient storage available.\n * The server responds with a `507` to indicate that its resources are exhausted:\n *\n * ```http\n * POST /upload HTTP/1.1\n * Host: example.com\n * Content-Type: image/jpeg\n * Content-Length: 123456\n *\n * [JPG file data]\n * ```\n *\n * ```http\n * HTTP/1.1 507 Insufficient Storage\n * Date: Mon, 22 Jul 2024 10:00:00 GMT\n * Server: Apache/2.4.41 (Unix)\n * Content-Type: text/html; charset=UTF-8\n * Content-Length: 230\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [413 Content Too Large](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/413)\n */\n INSUFFICIENT_STORAGE = 507,\n\n /**\n * The HTTP **`508 Loop Detected`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code indicates that the entire operation failed because it encountered an infinite loop while processing a request with `Depth: infinity`.\n *\n * The status may be given in the context of the Web Distributed Authoring and Versioning ([WebDAV](https://developer.mozilla.org/en-US/docs/Glossary/WebDAV)).\n * It was introduced as a fallback for cases where WebDAV clients do not support [208 Already Reported](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/208) responses (when requests do not explicitly include a `DAV` header).\n *\n * ## Status\n *\n * ```http\n * 508 Loop Detected\n * ```\n *\n * ## Examples\n *\n * ### Infinite loop in WebDAV search\n *\n * ```http\n * PROPFIND /Coll/ HTTP/1.1\n * Host: example.com\n * Depth: infinity\n * Content-Type: application/xml; charset=\"utf-8\"\n * Content-Length: 125\n *\n *\n * ```\n *\n * ```http\n * HTTP/1.1 508 Loop Detected\n * Content-Type: application/json; charset=utf-8\n * Server: Microsoft-IIS/8.0\n * Date: Wed, 15 May 2013 02:38:57 GMT\n * Content-Length: 72\n *\n * {\n * \"Message\": \"Please check the resources for cyclic references and try again.\"\n * }\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [208 Already Reported](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/208)\n */\n LOOP_DETECTED = 508,\n\n /**\n * The HTTP **`510 Not Extended`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code is sent when the client request declares an HTTP Extension ([2774](https://developer.mozilla.org/en-US/docs/RFC/2774)) that should be used to process the request, but the extension is not supported.\n *\n * ## Status\n *\n * ```http\n * 510 Not Extended\n * ```\n *\n * ## Examples\n *\n * ### Extension not supported\n *\n * In the following example, a client sends a request with a mandatory extension specified in the `C-MAN` header.\n * The [Connection](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection) header specifies that these extensions are to be handled on a [hop-by-hop](/en-US/docs/Web/HTTP/Reference/Headers#hop-by-hop_headers) basis.\n * A [proxy](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server) forwards the extended request, but the [Connection](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection) header is stripped out in transit.\n * Because the origin server doesn't receive any information about the `M-GET` method, it sends a `510` in response:\n *\n * ```http\n * M-GET /document HTTP/1.1\n * Host: example.com\n * C-Man: \"http://www.example.org/\"\n * Connection: C-Man\n * ```\n *\n * ```http\n * HTTP/1.1 510 Not Extended\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n */\n NOT_EXTENDED = 510,\n\n /**\n * The HTTP **`511 Network Authentication Required`** [server error response](/en-US/docs/Web/HTTP/Reference/Status#server_error_responses) status code indicates that the client needs to authenticate to gain network access.\n * This status is not generated by origin servers, but by intercepting [proxies](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server) that control access to a network.\n *\n * Network operators sometimes require some authentication, acceptance of terms, or other user interaction before granting access (for example in an internet café or at an airport).\n * They often identify clients who have not done so using their Media Access Control (MAC) addresses.\n *\n * ## Status\n *\n * ```http\n * 511 Network Authentication Required\n * ```\n *\n * ## Examples\n *\n * ### 511 response for a GET request\n *\n * In the following example, a client tries to access a resource on a network.\n * The request is not authenticated, and a proxy sends a `511` status code to prompt the visitor to log in.\n * The `511` ensures that non-browser clients will not interpret the response as being from the origin server.\n * Browsers are redirected automatically via the [meta](https://developer.mozilla.org/en-US/docs/HTMLelement/meta) tag after 10 seconds, or by clicking the link in the response body:\n *\n * ```http\n * GET /document HTTP/1.1\n * Host: example.com\n * ```\n *\n * ```http\n * HTTP/1.1 511 Network Authentication Required\n * Content-Type: text/html\n *\n *\n * ```\n *\n * ## Specifications\n *\n * ## See also\n *\n * - [HTTP response status codes](/en-US/docs/Web/HTTP/Reference/Status)\n * - [Proxy server](https://developer.mozilla.org/en-US/docs/Glossary/Proxy_server)\n */\n NETWORK_AUTHENTICATION_REQUIRED = 511,\n}\n"],"names":["HttpStatusCode"],"mappings":";AAAO,IAAK,iBAAL,kBAAKA,qBAkDVA,gBAAAA,gBAAA,WAAW,GAAA,IAAX,YA+CAA,gBAAAA,gBAAA,sBAAsB,GAAA,IAAtB,uBA4BAA,gBAAAA,gBAAA,aAAa,GAAA,IAAb,cAoEAA,gBAAAA,gBAAA,cAAc,GAAA,IAAd,eAuFAA,gBAAAA,gBAAA,KAAK,GAAA,IAAL,MA0DAA,gBAAAA,gBAAA,UAAU,GAAA,IAAV,WAwDAA,gBAAAA,gBAAA,WAAW,OAAX,YAsDAA,gBAAAA,gBAAA,gCAAgC,GAAA,IAAhC,iCAkDAA,gBAAAA,gBAAA,aAAa,GAAA,IAAb,cAqDAA,gBAAAA,gBAAA,gBAAgB,GAAA,IAAhB,iBAsFAA,gBAAAA,gBAAA,kBAAkB,GAAA,IAAlB,mBA0CAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBAoCAA,gBAAAA,gBAAA,mBAAmB,GAAA,IAAnB,oBA4DAA,gBAAAA,gBAAA,UAAU,GAAA,IAAV,WAkFAA,gBAAAA,gBAAA,mBAAmB,GAAA,IAAnB,oBAqDAA,gBAAAA,gBAAA,oBAAoB,GAAA,IAApB,qBA+CAA,gBAAAA,gBAAA,QAAQ,GAAA,IAAR,SA+CAA,gBAAAA,gBAAA,YAAY,GAAA,IAAZ,aAiHAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBAqDAA,gBAAAA,gBAAA,qBAAqB,GAAA,IAArB,sBAgDAA,gBAAAA,gBAAA,qBAAqB,GAAA,IAArB,sBAqDAA,gBAAAA,gBAAA,cAAc,GAAA,IAAd,eA8CAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBA+EAA,gBAAAA,gBAAA,mBAAmB,GAAA,IAAnB,oBAmDAA,gBAAAA,gBAAA,YAAY,GAAA,IAAZ,aAwEAA,gBAAAA,gBAAA,YAAY,GAAA,IAAZ,aA6CAA,gBAAAA,gBAAA,qBAAqB,GAAA,IAArB,sBA0DAA,gBAAAA,gBAAA,iBAAiB,GAAA,IAAjB,kBA6CAA,gBAAAA,gBAAA,gCAAgC,GAAA,IAAhC,iCAkCAA,gBAAAA,gBAAA,kBAAkB,GAAA,IAAlB,mBAyDAA,gCAAA,WAAW,GAAA,IAAX,YA0CAA,gBAAAA,gBAAA,OAAO,GAAA,IAAP,QAqDAA,gBAAAA,gBAAA,kBAAkB,GAAA,IAAlB,mBAiDAA,gBAAAA,gBAAA,sBAAsB,GAAA,IAAtB,uBAwDAA,gBAAAA,gBAAA,oBAAoB,GAAA,IAApB,qBAiCAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBA6EAA,gBAAAA,gBAAA,yBAAyB,GAAA,IAAzB,0BA+CAA,gBAAAA,gBAAA,wBAAwB,GAAA,IAAxB,yBAsDAA,gBAAAA,gBAAA,qBAAqB,GAAA,IAArB,sBAsBAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBA2CAA,gBAAAA,gBAAA,sBAAsB,GAAA,IAAtB,uBAwDAA,gBAAAA,gBAAA,wBAAwB,GAAA,IAAxB,yBAkCAA,gBAAAA,gBAAA,SAAS,GAAA,IAAT,UAsBAA,gBAAAA,gBAAA,oBAAoB,GAAA,IAApB,qBAyBAA,gBAAAA,gBAAA,YAAY,GAAA,IAAZ,aA4CAA,gBAAAA,gBAAA,mBAAmB,GAAA,IAAnB,oBAoDAA,gBAAAA,gBAAA,wBAAwB,GAAA,IAAxB,yBA+CAA,gBAAAA,gBAAA,oBAAoB,GAAA,IAApB,qBAkDAA,gBAAAA,gBAAA,kCAAkC,GAAA,IAAlC,mCAmCAA,gBAAAA,gBAAA,gCAAgC,GAAA,IAAhC,iCA6CAA,gBAAAA,gBAAA,wBAAwB,GAAA,IAAxB,yBAmDAA,gBAAAA,gBAAA,kBAAkB,GAAA,IAAlB,mBAiDAA,gBAAAA,gBAAA,cAAc,GAAA,IAAd,eAsDAA,gBAAAA,gBAAA,sBAAsB,GAAA,IAAtB,uBA6CAA,gBAAAA,gBAAA,kBAAkB,GAAA,IAAlB,mBA0CAA,gBAAAA,gBAAA,6BAA6B,GAAA,IAA7B,8BAkEAA,gBAAAA,gBAAA,0BAA0B,GAAA,IAA1B,2BAkDAA,gBAAAA,gBAAA,uBAAuB,GAAA,IAAvB,wBA+CAA,gBAAAA,gBAAA,gBAAgB,GAAA,IAAhB,iBAqCAA,gBAAAA,gBAAA,eAAe,GAAA,IAAf,gBA2CAA,gBAAAA,gBAAA,kCAAkC,GAAA,IAAlC,mCAxjGUA,kBAAA,kBAAA,CAAA,CAAA;;"}
|