recursal/MDN huggingface dataset:
206 Partial Content
===================

Le code de statut de réponse succès HTTP **`206 Partial Content`** indique que la requête a bien abouti et que le corps de la réponse contient les plages de données demandées, tel que décrit dans l'en-tête `Range` (en-US) de la requête.

S'il n'y a qu'une seule plage, l'entête `Content-Type` de la réponse correspondra au type du document et l'en-tête `Content-Range` (en-US) sera fourni.

Si plusieurs plages sont renvoyées, l'en-tête `Content-Type` vaudra `multipart/byteranges` et chaque fragment couvrira une plage, décrite par les en-têtes `Content-Range` (en-US) et `Content-Type`.

Statut
------
```

206 Partial Content
```

Exemples
--------

Une réponse qui contient une seule plage :
```

HTTP/1.1 206 Partial Content
Date: Wed, 15 Nov 2015 06:25:24 GMT
Last-Modified: Wed, 15 Nov 2015 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif

…26012 octets pour un fragment d'image…
```


Une réponse qui contient plusieurs plages :
```

HTTP/1.1 206 Partial Content
Date: Wed, 15 Nov 2015 06:25:24 GMT
Last-Modified: Wed, 15 Nov 2015 04:58:08 GMT
Content-Length: 1741
Content-Type: multipart/byteranges; boundary=String_separator

--String_separator
Content-Type: application/pdf
Content-Range: bytes 234-639/8000

…la première plage…
--String_separator
Content-Type: application/pdf
Content-Range: bytes 4590-7999/8000

…La seconde plage
--String_separator--
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `If-Range` (en-US)
* `Range` (en-US)
* `Content-Range` (en-US)
* `Content-Type`
501 Not Implemented
===================

Le code de réponse HTTP d'erreur serveur **`501 Not Implemented`** indique que le serveur ne prend pas en charge les fonctionnalités nécessaires pour réaliser la requête.

Une telle réponse peut également contenir un en-tête `Retry-After` (en-US) indiquant au client le moment auquel revenir pour vérifier si la fonctionnalité est alors prise en charge.

`501` est un code de réponse pertinent lorsque le serveur ne reconnaît pas la méthode utilisée pour la requête et qu'il n'est pas capable de la prendre en charge toute autre ressource. Les seules méthodes qu'un serveur doit nécessairement prendre en charge (et qui ne doivent donc pas renvoyer `501`) sont `GET` et `HEAD`.

Si le serveur connaît la méthode mais qu'il ne la prend pas en charge *intentionnellement*, le code de réponse approprié sera `405 Method Not Allowed`.

**Note :**

* Une erreur 501 ne peut pas être corrigée côté client (via son navigateur web par exemple), il faut un correctif côté serveur pour régler le problème.
* Une réponse avec le code 501 est mise en cache par défaut (c'est-à-dire, à moins que les en-têtes relatifs à la mise en cache fournissent d'autres instructions plus précises).

Statut
------
```

501 Not Implemented
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
407 Proxy Authentication Required
=================================

Le code de réponse d'erreur HTTP **`407 Proxy Authentication Required`** indique que la requête n'a pas été appliquée à cause d'un manque d'authentification pour un serveur mandataire (*proxy*) situé entre le navigateur et le serveur qui peut accéder à la ressource demandée.

Ce code de statut est envoyé avec l'en-tête `Proxy-Authenticate` (en-US) qui contient les informations décrivant la façon de s'authentifier correctement.

Statut
------
```

407 Proxy Authentication Required
```

Exemple de réponse
------------------
```

HTTP/1.1 407 Proxy Authentication Required
Date: Wed, 21 Oct 2015 07:28:00 GMT
Proxy-Authenticate: Basic realm="Access to internal site"
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* La gestion de l'authentification en HTTP
* `WWW-Authenticate`
* `Authorization`
* `Proxy-Authorization` (en-US)
* `Proxy-Authenticate` (en-US)
* `401`, `403`
300 Multiple Choices
====================

Le code de statut de réponse **`300 Multiple Choices`** indique qu'il existe plusieurs réponses possibles pour la requête. L'agent utilisateur ou l'utilisateur doit alors choisir l'une d'elles. Il n'y a pas de méthode standard pour choisir une des réponses disponibles et ce code de réponse est donc rarement utilisé.

Si le serveur à une préférence, il doit générer un en-tête `Location`.

Statut
------
```

300 Multiple Choices
```

Exemples
--------

Consultez cette page de w3.org à propos des réponses à choix multiples.

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

{{Compat}}Voir aussi
----------

* `301 Moved Permanently`
* `302 Found`, la redirection temporaire
* `308 Permanent Redirect`
505 HTTP Version Not Supported
==============================

Le code de réponse HTTP d'erreur serveur **`505 HTTP Version Not Supported`** indique que la version du protocole HTTP utilisée dans la requête n'est pas prise en charge par le serveur.

Statut
------
```

505 HTTP Version Not Supported
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

{{Compat}}Voir aussi
----------

* `Upgrade`
202 Accepted
============

Le code de statut de réponse HTTP **`202 Accepted`** indique que la requête a été reçue mais que le traitement côté serveur n'est pas terminé (il peut même ne pas avoir commencé). Il est possible que le serveur n'effectue pas le traitement demandé par la requête, car celle-ci pourrait être refusée au moment effectif du traitement.

Cette réponse est sans suite (*non-committal*) : HTTP ne renverra pas de réponse asynchrone ultérieure pour indiquer le résultat du traitement de la requête. Ce code est utile pour les cas où c'est un autre processus ou serveur qui gère la requête (ou lorsqu'on effectue un traitement en masse).

Statut
------
```

202 Accepted
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

{{Compat}}Voir aussi
----------

* `Accept`
304 Not Modified
================

Le code de réponse de redirection **`304 Not Modified`** indique qu'il n'y a pas besoin de retransmettre les ressources demandées. C'est une redirection implicite vers une ressource mise en cache. Cela survient lorsque la méthode de requête est sûre (*safe*) (par exemple une requête `GET` ou `HEAD`), ou lorsque la requête est conditionnelle et utilise l'en-tête `If-None-Match` ou `If-Modified-Since`.

La réponse `200 OK` équivalente aurait inclus les en-têtes `Cache-Control`, `Content-Location` (en-US), `Date`, `ETag`, `Expires`, et `Vary`.

**Note :** Dans les navigateurs, les outils de développement réseau créent des requêtes supplémentaires qui conduisent à des réponses `304`. Ainsi l'accès au cache local est visible par les développeurs.

Statut
------
```

304 Not Modified
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

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

### Notes de compatibilité

Les différents navigateurs se comportent différemment lorsque la réponse contient, incorrectement, un corps pour les connexions persistantes. Voir `204 No Content` pour plus de détails.

Voir aussi
----------

* `If-Modified-Since`
* `If-None-Match`
403 Forbidden
=============

Le code de statut d'erreur de réponse HTTP **`403 Forbidden`** indique qu'un serveur comprend la requête mais refuse de l'autoriser.

Ce statut est similaire au statut `401`, mais dans ce cas, la ré-authentification ne changera rien. L'accès est définitivement interdit et est lié à la logique de l'application, par exemple manque d'une permission d'accès à une ressource.

Statut
------
```

403 Forbidden
```

Exemple de réponse
------------------
```

HTTP/1.1 403 Forbidden
Date: Wed, 21 Oct 2015 07:28:00 GMT
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `401`
* HTTP/1.1 : Définitions des codes de statut (en anglais)
511 Network Authentication Required
===================================

Le code de réponse HTTP d'erreur serveur **`511 Network Authentication Required`** indique que le client a besoin de s'authentifier pour obtenir l'accès au réseau.

Ce statut n'est pas généré par le serveur d'origine mais par un proxy interceptant qui contrôle l'accès au réseau.

Les responsables des réseaux demandent parfois de s'authentifier, d'accepter des conditions d'utilisation ou autres avant d'avoir accès à Internet (par exemple, dans un cybercafé ou un aéroport). Les clients qui n'ont pas rempli ces obligations sont souvent identifiés via leur adresse MAC (*Media Access Control*).

Statut
------
```

511 Network Authentication Required
```

Spécifications
--------------

| Specification |
| --- |
| RFC 6585 # section-6 |

Compatibilité des navigateurs
-----------------------------

{{Compat}}Voir aussi
----------

* Serveur proxy
308 Permanent Redirect
======================

Le code de statut de réponse de redirection **`308 Permanent Redirect`** indique que la ressource demandée à définitivement été déplacée vers l'URL contenue dans l'en-tête `Location`. Un navigateur redirigera vers cette page et les moteurs de recherche mettront à jour leurs liens vers la ressource (en termes de référencement, cela implique que le flux de référencement est envoyé vers la nouvelle URL).

La méthode de requête et son corps ne sont pas modifiés, toutefois `301` peut parfois changer la méthode vers `GET`.

**Note :** Certaines applications Web peuvent utiliser `308 Permanent Redirect` de façon non standard et pour d'autres usages. Par exemple, Google Drive utilise la réponse `308 Resume Incomplete` pour indiquer au client un chargement incomplet qui est bloqué (source).

Statut
------
```

308 Permanent Redirect
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `301 Moved Permanently`
* `302 Found`, la redirection temporaire
100 Continue
============

Le code de statut de réponse HTTP **`100 Continue`** indique que, jusqu'à présent, tout est normal (OK) et que le client doit poursuivre avec la requête ou l'ignorer si celle-ci est déjà finie.

Afin que le serveur vérifie les en-têtes de la requête, un client doit envoyer `Expect` (en-US) : `100-continue` comme en-tête dans la requête initiale et recevoir le code de statut `100 Continue` comme réponse avant d'envoyer le corps de la requête.

Statut
------
```

100 Continue
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `Expect` (en-US)
* `417`
417 Expectation Failed
======================

Le code de réponse d'erreur HTTP **`417 Expectation Failed`** indique que les attentes indiquées par l'en-tête `Expect` (en-US) n'ont pu être satisfaites.

Voir la page sur l'en-tête `Expect` (en-US) pour plus de détails.

Statut
------
```

417 Expectation Failed
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

{{Compat}}Voir aussi
----------

* `Expect` (en-US)
426 Upgrade Required
====================

Le code de réponse d'erreur HTTP **`426 Upgrade Required`** indique que le serveur refuse de réaliser la requête en utilisant le protocole actuel mais qu'il sera peut-être disposé à le faire après que le client passe sur un protocole différent.

Avec cette réponse, le serveur renvoie un en-tête `Upgrade` pour indiquer le(s) protocole(s) requis.

Statut
------
```

426 Upgrade Required
```

Exemples
--------
```

HTTP/1.1 426 Upgrade Required
Upgrade: HTTP/3.0
Connection: Upgrade
Content-Length: 53
Content-Type: text/plain

This service requires use of the HTTP/3.0 protocol
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

{{Compat}}Voir aussi
----------

* `Upgrade`
* `101 Switching Protocol`
422 Unprocessable Entity
========================

Le code de statut de réponse HTTP **`422 Unprocessable Entity`** indique que le serveur a compris le type de contenu de la requête et que la syntaxe de la requête est correcte mais que le serveur n'a pas été en mesure de réaliser les instructions demandées.

**Attention :** Le client ne doit pas renvoyer cette requête sans modification.

Statut
------
```

422 Unprocessable Entity
```

Spécifications
--------------

| Specification |
| --- |
| HTTP Semantics # status.422 |
413 Payload Too Large
=====================

Le code de statut de réponse **`413 Payload Too Large`** indique que la taille de l'entité fournie par la requête est supérieure aux limites définies par le serveur. Le serveur peut alors choisir de fermer la connexion ou de renvoyer un en-tête `Retry-After` (en-US).

Statut
------
```

413 Payload Too Large
```

Spécifications
--------------

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

Compatibilité des navigateurs
-----------------------------

{{Compat}}Voir aussi
----------

* `Connection`
* `Retry-After` (en-US)
Access-Control-Request-Headers
==============================

L'en-tête de requête **`Access-Control-Request-Headers`** est utilisé lors de l'émission d'une requête de pré-vérification pour indiquer au serveur quels sont les en-têtes HTTP que le client pourrait envoyer lors de la requête effective (comme avec `setRequestHeader()`). L'en-tête correspondant côté serveur, indiquant en retour au client les en-têtes pouvant être utilisés pour la requête effective, est `Access-Control-Allow-Headers` (en-US).

|  |  |
| --- | --- |
| Type d'en-tête | En-tête de requête |
| Nom d'en-tête interdit | Oui |

Syntaxe
-------
```

Access-Control-Request-Headers: <nom_en-tete>, <nom_en-tete>, …
```

Directives
----------

`<nom_en-tete>`

Une liste d'en-têtes HTTP séparés par des virgules qui sont inclus dans la requête.

Exemples
--------
```

Access-Control-Request-Headers: X-PINGOTHER, Content-Type
```

Spécifications
--------------

| Specification |
| --- |
| Fetch Standard # http-access-control-request-headers |

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `Access-Control-Request-Method` (en-US)
Access-Control-Allow-Methods
============================

L'entête de réponse **`Access-Control-Allow-Methods`** spécifie les méthodes autorisées quand on accède à la ressource en réponse à une requête de pré-vérification (preflight request).

|  |  |
| --- | --- |
| Type d'entête | Response header |
| Forbidden header name | non |

Syntaxe
-------
```

Access-Control-Allow-Methods: <methode>, <methode>, ...
```

Directives
----------

<methode>

Liste délimitée par des virgules des méthodes de requêtes HTTP autorisées.

Exemples
--------
```

Access-Control-Allow-Methods: POST, GET, OPTIONS
```

Spécifications
--------------

| Specification |
| --- |
| Fetch Standard # http-access-control-allow-methods |

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `Access-Control-Allow-Origin`
* `Access-Control-Expose-Headers` (en-US)
* `Access-Control-Allow-Headers` (en-US)
* `Access-Control-Request-Method` (en-US)
X-Content-Type-Options
======================

L'entête **`X-Content-Type-Options`** est un marqueur utilisé par le serveur pour indiquer que les types MIME annoncés dans les en-têtes `Content-Type` ne doivent pas être modifiés ou et suivis. Cela permet de se détacher du sniffing de type MIME, ou, en d'autres termes, c'est une façon de dire que les webmasters savaient ce qu'ils faisaient.

Cet en-tête a été introduit par Microsoft dans IE 8 comme un moyen pour les webmasters de bloquer le reniflement de contenu qui se passait et pouvait transformer les types MIME non exécutables en types MIME exécutables. Depuis, d'autres navigateurs l'ont introduit, même si leurs algorithmes de reniflage MIME étaient moins agressifs.

À partir de Firefox 72, la désactivation du reniflement MIME est également appliqué aux documents de premier niveau si un `Content-type` est fourni. Les pages web HTML qui sont servies avec un type MIME différent de `text/html`, peuvent alors être juste téléchargées au lieu d'êtres rendues (interprétées et affichées par le navigateur). Assurez vous de valoriser correctement ces 2 en-têtes.

Les testeurs de sécurité du site s'attendent généralement à ce que cet en-tête soit défini.

**Note :** `X-Content-Type-Options` ne s'appliquent qu'au blocage des demandes par `nosniff` pour les destinations de demandes de "`script`" et "`style`". Il permet également le blocage en lecture croisé (CORB) pour les fichiers HTML, TXT, JSON, et XML (à l'exception des images SVG `image/svg+xml`).


|  |  |
| --- | --- |
| Header type | Response header |
| Forbidden header name | Non |

Syntaxe
-------
```

X-Content-Type-Options: nosniff
```

Directives
----------

`nosniff`

Bloque une requête si la destination de la requête est de type

* "`style`" et le MIME n'est pas de type `text/css`, ou
* "`script`" et le MIME n'est pas de type JavaScript MIME type

Permet le blocage de la lecture croisée pour les types MIME

* `text/html`
* `text/plain`
* `text/json`, `application/json` ou tout autre type avec une extension JSON: `*/*+json`
* `text/xml`, `application/xml` ou tout autre type avec une extension XML: `*/*+xml` (hors `image/svg+xml`)

Spécifications
--------------

| Specification |
| --- |
| Fetch Standard # x-content-type-options-header |

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `Content-Type`
* La définition originale de X-Content-Type-Options par Microsoft.
* L'Outil Observatoire Mozilla teste la configuration (y compris en-tête) des sites Web pour la sécurité et la sûreté.
* Atténuer les attaques MIME Confusion dans Firefox.
* Blocage de la lecture croisée (CORB)
* Google Docs CORB explicatif
Connection
==========

L'en-tête général **`Connection`** contrôle la façon dont la connexion reste ouverte ou non après que la transaction courante soit terminée. Si la valeur envoyée est `keep-alive`, la connexion est persistente et n'est pas fermée, permettant aux requêtes qui suivent et s'adressent au même serveur d'être envoyées.

**Note :** Les champs d'en-tête spécifiques à la connexion (tels que `Connection`) ne doivent pas être utilisés avec HTTP/2.

Except for the standard hop-by-hop headers (`Keep-Alive` (en-US), `Transfer-Encoding` (en-US), `TE` (en-US), `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization` (en-US) and `Proxy-Authenticate` (en-US)), any hop-by-hop headers used by the message must be listed in the `Connection` header, so that the first proxy knows it has to consume them and not forward them further. Standard hop-by-hop headers can be listed too (it is often the case of `Keep-Alive` (en-US), but this is not mandatory).

|  |  |
| --- | --- |
| Type d'en-tête | En-tête général |
| Nom d'en-tête interdit | Oui |

Syntaxe
-------
```

Connection: keep-alive
Connection: close
```

Directives
----------

`close`

Indique que le client ou que le serveur souhaite fermer la connexion. C'est la valeur par défaut pour les requêtes en HTTP/1.0.

Une liste d'en-têtes HTTP séparés par des virgules (généralement, la valeur `keep-alive` seule)

Indique que le client souhaite que la connexion reste ouverte. Une connexion persistente est le comportement par défaut pour les requêtes HTTP/1.1. La liste des en-têtes sont le nom des en-têtes à retirer par le premier proxy ou cache non-transparent entre le client et le serveur : ces en-tête définissent la connexion entre l'émetteur et la première entité (pas jusqu'au nœud de destination).

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
WWW-Authenticate
================


 L'entête HTTP de réponse **`WWW-Authenticate`** définit la méthode d'authentification qui doit être utilisé pour obtenir l'accès à une ressource.

L'entête `WWW-Authenticate` est envoyée en même temps qu'une réponse `401` `Unauthorized`.

|  |  |
| --- | --- |
| Type de l'entête | Response header |
| Forbidden header name | non |

Syntaxe
-------
```

WWW-Authenticate: <type> realm=<realm>
```

Directives
----------

<type>

Type d'authentification. Un type commun est "Basic". IANA maintient une liste des schémas d'authentification.

realm=<realm>

Une description de la zone protégée. Si aucun domaine n'est spécifié, les clients affichent souvent un nom de domaine formaté à la place.

charset=<charset>

Indique au client le schéma d'encodage préféré du serveur lorsqu'on soumet un nom d'utilisateur et un mot de passe. La seule valeur acceptée est la chaine insensible à la casse "UTF-8". Cela ne s'applique pas à l'encodage de la chaine du domaine.

Exemples
--------

La réponse d'un serveur contient généralement l'entête `WWW-Authenticate` qui ressemble à ça :
```

WWW-Authenticate: Basic

WWW-Authenticate: Basic realm="Accès au site de staging", charset="UTF-8"
```


Voir aussi HTTP authentication pour des exemples sur la configuration des serveurs Apache ou nginx pour protéger protéger votre site par mot de passe en utilisant l'authentification HTTP basic.

Spécifications
--------------

| Specification |
| --- |
| HTTP Semantics # field.www-authenticate |

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* HTTP authentication
* `Authorization`
* `Proxy-Authorization` (en-US)
* `Proxy-Authenticate` (en-US)
* `401`, `403`, `407`