From 0fe03b92344c0f9b0d4ada2146d4480997ab2e25 Mon Sep 17 00:00:00 2001 From: julieng Date: Fri, 17 Sep 2021 20:50:13 +0200 Subject: convert content to md --- files/fr/web/http/headers/accept-charset/index.md | 94 +-- files/fr/web/http/headers/accept-encoding/index.md | 151 ++-- files/fr/web/http/headers/accept-language/index.md | 110 ++- files/fr/web/http/headers/accept/index.md | 106 ++- .../headers/access-control-allow-methods/index.md | 92 +-- .../headers/access-control-allow-origin/index.md | 94 +-- .../access-control-request-headers/index.md | 72 +- files/fr/web/http/headers/age/index.md | 76 +- files/fr/web/http/headers/allow/index.md | 68 +- files/fr/web/http/headers/authorization/index.md | 127 ++-- files/fr/web/http/headers/cache-control/index.md | 340 ++++----- files/fr/web/http/headers/connection/index.md | 57 +- .../web/http/headers/content-disposition/index.md | 194 +++-- .../fr/web/http/headers/content-encoding/index.md | 154 ++-- .../fr/web/http/headers/content-language/index.md | 133 ++-- files/fr/web/http/headers/content-length/index.md | 64 +- .../content-security-policy-report-only/index.md | 189 +++-- .../content-security-policy/base-uri/index.md | 124 ++-- .../block-all-mixed-content/index.md | 58 +- .../content-security-policy/child-src/index.md | 111 ++- .../content-security-policy/connect-src/index.md | 143 ++-- .../content-security-policy/default-src/index.md | 255 +++---- .../content-security-policy/font-src/index.md | 107 ++- .../content-security-policy/form-action/index.md | 130 ++-- .../frame-ancestors/index.md | 179 ++--- .../content-security-policy/frame-src/index.md | 104 ++- .../content-security-policy/img-src/index.md | 103 ++- .../http/headers/content-security-policy/index.md | 395 +++++----- .../content-security-policy/manifest-src/index.md | 99 ++- .../content-security-policy/media-src/index.md | 109 ++- .../content-security-policy/navigate-to/index.md | 114 ++- .../content-security-policy/object-src/index.md | 115 ++- .../content-security-policy/plugin-types/index.md | 134 ++-- .../content-security-policy/prefetch-src/index.md | 94 +-- .../content-security-policy/referrer/index.md | 62 +- .../content-security-policy/report-to/index.md | 97 +-- .../content-security-policy/report-uri/index.md | 114 ++- .../require-sri-for/index.md | 59 +- .../require-trusted-types-for/index.md | 73 +- .../content-security-policy/sandbox/index.md | 160 ++-- .../script-src-attr/index.md | 99 ++- .../script-src-elem/index.md | 101 ++- .../content-security-policy/script-src/index.md | 211 +++--- .../style-src-attr/index.md | 110 ++- .../style-src-elem/index.md | 110 ++- .../content-security-policy/style-src/index.md | 232 +++--- .../content-security-policy/trusted-types/index.md | 87 +-- .../upgrade-insecure-requests/index.md | 98 ++- .../content-security-policy/worker-src/index.md | 126 ++-- files/fr/web/http/headers/content-type/index.md | 141 ++-- files/fr/web/http/headers/date/index.md | 96 ++- files/fr/web/http/headers/dnt/index.md | 106 ++- files/fr/web/http/headers/etag/index.md | 110 ++- files/fr/web/http/headers/expires/index.md | 86 +-- .../headers/feature-policy/accelerometer/index.md | 59 +- files/fr/web/http/headers/feature-policy/index.md | 259 +++---- files/fr/web/http/headers/host/index.md | 82 +-- .../fr/web/http/headers/if-modified-since/index.md | 125 ++-- files/fr/web/http/headers/if-none-match/index.md | 104 ++- files/fr/web/http/headers/index.md | 820 ++++++++++----------- files/fr/web/http/headers/last-modified/index.md | 113 ++- files/fr/web/http/headers/location/index.md | 84 +-- files/fr/web/http/headers/origin/index.md | 89 +-- files/fr/web/http/headers/referer/index.md | 90 +-- files/fr/web/http/headers/referrer-policy/index.md | 444 ++++++----- files/fr/web/http/headers/server/index.md | 72 +- files/fr/web/http/headers/set-cookie/index.md | 323 ++++---- .../web/http/headers/set-cookie/samesite/index.md | 131 ++-- files/fr/web/http/headers/tk/index.md | 122 ++- files/fr/web/http/headers/trailer/index.md | 145 ++-- files/fr/web/http/headers/vary/index.md | 90 +-- .../fr/web/http/headers/www-authenticate/index.md | 94 +-- .../http/headers/x-content-type-options/index.md | 117 ++- files/fr/web/http/headers/x-frame-options/index.md | 168 ++--- 74 files changed, 4576 insertions(+), 5728 deletions(-) (limited to 'files/fr/web/http/headers') diff --git a/files/fr/web/http/headers/accept-charset/index.md b/files/fr/web/http/headers/accept-charset/index.md index e832f5b513..7f542ec055 100644 --- a/files/fr/web/http/headers/accept-charset/index.md +++ b/files/fr/web/http/headers/accept-charset/index.md @@ -3,79 +3,63 @@ title: Accept-Charset slug: Web/HTTP/Headers/Accept-Charset translation_of: Web/HTTP/Headers/Accept-Charset --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête HTTP de la requêteAccept-Charset indique le jeu de caractères que le client est capable de comprendre. À l'aide de la content negotiation, le serveur sélectionne l'une des propositions, l'utilise et informe le client de son choix dans l'en-tête de réponse {{HTTPHeader ("Content-Type")}}. Les navigateurs ne définissent généralement pas cet en-tête car la valeur par défaut de chaque type de contenu est généralement correcte et sa transmission permettrait une empreinte digitale plus facile.

+L'en-tête HTTP de la requête**`Accept-Charset`** indique le jeu de caractères que le client est capable de comprendre. À l'aide de la [content negotiation](/en-US/docs/Web/HTTP/Content_negotiation), le serveur sélectionne l'une des propositions, l'utilise et informe le client de son choix dans l'en-tête de réponse {{HTTPHeader ("Content-Type")}}. Les navigateurs ne définissent généralement pas cet en-tête car la valeur par défaut de chaque type de contenu est généralement correcte et sa transmission permettrait une empreinte digitale plus facile. -

Si le serveur ne peut servir aucun jeu de caractères correspondant, il peut théoriquement renvoyer un code d'erreur {{HTTPStatus ("406")}} (non acceptable). Cependant, pour une meilleure expérience utilisateur, cela est rarement fait et le moyen le plus courant consiste à ignorer l'en-tête Accept-Charset dans ce cas.

+Si le serveur ne peut servir aucun jeu de caractères correspondant, il peut théoriquement renvoyer un code d'erreur {{HTTPStatus ("406")}} (non acceptable). Cependant, pour une meilleure expérience utilisateur, cela est rarement fait et le moyen le plus courant consiste à ignorer l'en-tête `Accept-Charset` dans ce cas. -
-

Note : Dans les premières versions de HTTP / 1.1, un jeu de caractères par défaut (ISO-8859-1) était défini. Ce n'est plus le cas et maintenant chaque type de contenu peut avoir sa propre valeur par défaut.

-
+> **Note :** Dans les premières versions de HTTP / 1.1, un jeu de caractères par défaut (ISO-8859-1) était défini. Ce n'est plus le cas et maintenant chaque type de contenu peut avoir sa propre valeur par défaut. - - - - - - - - - - + + + + + + + + + +
Header type{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}yes
Header type{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}yes
-

Syntax

+## Syntax -
Accept-Charset: <charset>
+    Accept-Charset: 
 
-// Multiple types, weighted with the {{glossary("quality values", "quality value")}} syntax:
-Accept-Charset: utf-8, iso-8859-1;q=0.5
+ // Multiple types, weighted with the {{glossary("quality values", "quality value")}} syntax: + Accept-Charset: utf-8, iso-8859-1;q=0.5 -

Les directives

+## Les directives -
-
<charset>
-
Un jeu de caractères comme utf-8 ou iso-8859-15.
-
*
-
Tout jeu de caractères non mentionné ailleurs dans l'en-tête; '*' utilisé comme un joker.
-
;q= (q-factor weighting)
-
Toute valeur est placée dans un ordre de préférence exprimé à l'aide d'une valeur de qualité relative appelée  weight.
-
+- `` + - : Un jeu de caractères comme utf-8 ou iso-8859-15. +- `*` + - : Tout jeu de caractères non mentionné ailleurs dans l'en-tête; '\*' utilisé comme un joker. +- `;q=` (q-factor weighting) + - : Toute valeur est placée dans un ordre de préférence exprimé à l'aide d'une valeur de qualité relative appelée  _weight_. -

Examples

+## Examples -
Accept-Charset: iso-8859-1
+    Accept-Charset: iso-8859-1
 
-Accept-Charset: utf-8, iso-8859-1;q=0.5
+    Accept-Charset: utf-8, iso-8859-1;q=0.5
 
-Accept-Charset: utf-8, iso-8859-1;q=0.5, *;q=0.1
-
+ Accept-Charset: utf-8, iso-8859-1;q=0.5, *;q=0.1 -

Specifications

+## Specifications - - - - - - - - - - - -
SpecificationTitre
{{RFC("7231", "Accept-Charset", "5.3.3")}}Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context
+| Specification | Titre | +| -------------------------------------------------------- | ------------------------------------------------------------- | +| {{RFC("7231", "Accept-Charset", "5.3.3")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Accept-Charset")}}

+{{Compat("http.headers.Accept-Charset")}} -

Voir également

+## Voir également - +- HTTP [content negotiation](/en-US/docs/Web/HTTP/Content_negotiation) +- Header avec le résultat de la négociation de contenu : {{HTTPHeader("Content-Type")}} +- Autres Header similaires : {{HTTPHeader("TE")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Language")}}, {{HTTPHeader("Accept")}} diff --git a/files/fr/web/http/headers/accept-encoding/index.md b/files/fr/web/http/headers/accept-encoding/index.md index 42d6228260..8d785a5a8c 100644 --- a/files/fr/web/http/headers/accept-encoding/index.md +++ b/files/fr/web/http/headers/accept-encoding/index.md @@ -3,47 +3,43 @@ title: Accept-Encoding slug: Web/HTTP/Headers/Accept-Encoding translation_of: Web/HTTP/Headers/Accept-Encoding --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête HTTP Accept-Encoding permet de définir quel sera l'encodage du contenu. Il s'agit généralement de l'algorithme de compression utilisé par le serveur. Le client peut alors décoder le corps de la requête correctement. Utilisant la négociation de contenu, le serveur choisit l'une des propositions d'encodage que le client prend en charge. Le serveur l'utilise et le notifie au client à l'aide de l'en-tête de réponse Content-Encoding.

+L'en-tête HTTP **`Accept-Encoding`** permet de définir quel sera l'encodage du contenu. Il s'agit généralement de l'algorithme de compression utilisé par le serveur. Le client peut alors décoder le corps de la requête correctement. Utilisant [la négociation de contenu](/fr/docs/Web/HTTP/Content_negotiation), le serveur choisit l'une des propositions d'encodage que le client prend en charge. Le serveur l'utilise et le notifie au client à l'aide de l'en-tête de réponse [`Content-Encoding`](/fr/docs/Web/HTTP/Headers/Content-Encoding). +Même si le client et le serveur supportent deux algorithmes de compressions communs, le serveur peut choisir de ne pas compresser le corps de la réponse si l'encodage `identity` (aucune compression) est accepté par le client. Deux exemples de cas communs peuvent conduire à la non-compression du corps de la réponse : -

Même si le client et le serveur supportent deux algorithmes de compressions communs, le serveur peut choisir de ne pas compresser le corps de la réponse si l'encodage identity (aucune compression) est accepté par le client. Deux exemples de cas communs peuvent conduire à la non-compression du corps de la réponse :

+- Les données sont déjà compressées et la compression ne réduira pas la taille des données transmises. Cela peut être le cas de certains formats d'images qui sont déjà compressés ; +- Le serveur est en surcharge et ne peut plus allouer suffisamment de temps de calcul nécessaire pour compresser les données. Microsoft recommande de ne pas utiliser la compression si le serveur utilise plus de 80% de la puissance de calcul. +Dès lors que l'usage d'`identity`, signifiant l'absence de compression, n'est pas explicitement interdite, que ce soit par `identity;q=0` ou `*;q=0` (sans l'usage d'une autre valeur pour `identity`), le serveur ne doit jamais renvoyer une erreur [`406`](/fr/docs/Web/HTTP/Status/406) `Not Acceptable.` - - -

Dès lors que l'usage d'identity, signifiant l'absence de compression, n'est pas explicitement interdite, que ce soit par identity;q=0 ou *;q=0 (sans l'usage d'une autre valeur pour identity), le serveur ne doit jamais renvoyer une erreur 406 Not Acceptable.

- -
-

Note : -

    -
  • Un dépôt IANA garde à jour une liste complète des encodages de contenu. -
  • -
  • Deux autres encodages, bzip et bzip2, sont parfois utilisés, bien que non-standards. Ils implémentent l'algorithme utilisé par les deux programmes UNIX respectifs. À noter que le premier n'est plus maintenu suite à des problèmes de licence.
  • -
-

-
+> **Note :** +> +> - Un dépôt IANA garde à jour [une liste complète des encodages de contenu](https://www.iana.org/assignments/http-parameters/http-parameters.xml#http-parameters-1). +> - Deux autres encodages, `bzip` et `bzip2`, sont parfois utilisés, bien que non-standards. Ils implémentent l'algorithme utilisé par les deux programmes UNIX respectifs. À noter que le premier n'est plus maintenu suite à des problèmes de licence. - - - - - - - - - - + + + + + + + + + +
Type d'en-têteEn-tête de requête
Nom d'en-tête interditOui
Type d'en-têteEn-tête de requête
+ Nom d'en-tête interdit + Oui
-

Syntaxe

+## Syntaxe -
Accept-Encoding: gzip
+```html
+Accept-Encoding: gzip
 Accept-Encoding: compress
 Accept-Encoding: deflate
 Accept-Encoding: br
@@ -51,61 +47,46 @@ Accept-Encoding: identity
 Accept-Encoding: *
 
 // Plusieurs algorithmes pondérés par facteur de qualité :
-Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
- -

Directives

- -
-
gzip
-
Un format de compression utilisant Lempel-Ziv coding (LZ77), avec un CRC (Contrôle de Redondance Cyclique) de 32 bits.
-
compress
-
Un format de compression utilisant l'algorithme Lempel-Ziv-Welch (LZW).
-
deflate
-
Un format de compression utilisant la structure zlib, avec l'algorithme de compression deflate.
-
br
-
Un format de compression utilisant l'algorithme Brotli.
-
identity
-
Indique la fonction identité (c'est-à-dire pas de compression ou de modification). Cette valeur est toujours considérée comme acceptable, même si l'en-tête ne le précise pas.
-
*
-
Correspond à tous les systèmes d'encodage de contenu qui n'ont pas été listés dans l'en-tête. C'est la valeur par défaut de l'en-tête s'il n'est pas présent. Cela ne signifie pas que tous les algorithmes sont supportés; seulement qu'aucune préférence n'est exprimée.
-
;q= (pondération par qvalues)
-
La valeur indique l'ordre de préférence des méthodes de compression à utiliser. Ce champ utilise les pondérations de qualité (ou quality values en anglais).
-
- -

Exemples

- -
Accept-Encoding: gzip
-
-Accept-Encoding: gzip, compress, br
-
-Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1
-
- -

Spécifications

- - - - - - - - - - - - - - -
SpecificationTitle
RFC 7231, section 5.3.4: Accept-EncodingHypertext Transfer Protocol (HTTP/1.1): Semantics and Context
+Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5 +``` + +## Directives + +- `gzip` + - : Un format de compression utilisant [Lempel-Ziv coding](https://fr.wikipedia.org/wiki/LZ77_et_LZ78#LZ77) (LZ77), avec un CRC (Contrôle de Redondance Cyclique) de 32 bits. +- `compress` + - : Un format de compression utilisant l'algorithme [Lempel-Ziv-Welch](https://fr.wikipedia.org/wiki/Lempel-Ziv-Welch) (LZW). +- `deflate` + - : Un format de compression utilisant la structure [zlib](https://fr.wikipedia.org/wiki/Zlib), avec l'algorithme de compression [_deflate_](https://fr.wikipedia.org/wiki/Deflate). +- `br` + - : Un format de compression utilisant l'algorithme [Brotli](https://fr.wikipedia.org/wiki/Brotli). +- `identity` + - : Indique la fonction identité (c'est-à-dire pas de compression ou de modification). Cette valeur est toujours considérée comme acceptable, même si l'en-tête ne le précise pas. +- `*` + - : Correspond à tous les systèmes d'encodage de contenu qui n'ont pas été listés dans l'en-tête. C'est la valeur par défaut de l'en-tête s'il n'est pas présent. Cela ne signifie pas que tous les algorithmes sont supportés; seulement qu'aucune préférence n'est exprimée. +- `;q=` (pondération par qvalues) + - : La valeur indique l'ordre de préférence des méthodes de compression à utiliser. Ce champ utilise les [pondérations de qualité (ou _quality values_ en anglais)](/fr/docs/Glossary/Quality_values). + +## Exemples + + Accept-Encoding: gzip + + Accept-Encoding: gzip, compress, br + + Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1 + +## Spécifications + +| Specification | Title | +| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | +| [RFC 7231, section 5.3.4: Accept-Encoding](https://tools.ietf.org/html/rfc7231#section-5.3.4) | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Accept-Encoding")}}

+{{Compat("http.headers.Accept-Encoding")}} -

Voir aussi

+## Voir aussi - +- [Négociation de contenu](/fr/docs/Web/HTTP/Content_negotiation) HTTP +- En-tête résultant de la négociation de contenu : [`Content-Encoding`](/fr/docs/Web/HTTP/Headers/Content-Encoding) +- Autres en-têtes en rapport : [`TE`](/fr/docs/Web/HTTP/Headers/TE), [`Accept`](/fr/docs/Web/HTTP/Headers/Accept), [`Accept-Charset`](/fr/docs/Web/HTTP/Headers/Accept-Charset), [`Accept-Language`](/fr/docs/Web/HTTP/Headers/Accept-Language) diff --git a/files/fr/web/http/headers/accept-language/index.md b/files/fr/web/http/headers/accept-language/index.md index 0c5663c30c..fc23cb2c34 100644 --- a/files/fr/web/http/headers/accept-language/index.md +++ b/files/fr/web/http/headers/accept-language/index.md @@ -9,85 +9,73 @@ tags: - Reference translation_of: Web/HTTP/Headers/Accept-Language --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête Accept-Language de la requête HTTP indique quelles sont les langues que le client est capable de comprendre, et quelle variante locale est préférée. En utilisant la négociation de contenu, le serveur choisit alors l'une des propositions, l'utilise et informe le client de son choix par l'entête de réponse {{HTTPHeader("Content-Language")}}. Les navigateurs définissent les valeurs adéquates pour cet entête en fonction de la langue de leur interface utilisateur, et même si un utilisateur peut la changer, cela se produit rarement (et cela est vu d'un mauvais œil, dans la mesure où cela permet l'identification par empreinte numérique).

+L'en-tête **`Accept-Language`** de la requête HTTP indique quelles sont les langues que le client est capable de comprendre, et quelle variante locale est préférée. En utilisant la [négociation de contenu](/fr-FR/docs/Web/HTTP/Content_negotiation), le serveur choisit alors l'une des propositions, l'utilise et informe le client de son choix par l'entête de réponse {{HTTPHeader("Content-Language")}}. Les navigateurs définissent les valeurs adéquates pour cet entête en fonction de la langue de leur interface utilisateur, et même si un utilisateur peut la changer, cela se produit rarement (et cela est vu d'un mauvais œil, dans la mesure où cela permet l'identification par empreinte numérique). -

Cet en-tête est une indication destinée à être utilisée lorsque le serveur n'a aucun moyen de déterminer la langue d'une autre manière, comme une URL spécifique, qui est contrôlée par une décision explicite de l'utilisateur. Il est recommandé que le serveur ne passe jamais outre une décision explicite. Le contenu d'Accept-Language est souvent hors du contrôle de l'utilisateur (comme lors d'un voyage et de l'utilisation d'un cybercafé à l'étranger) ; l'utilisateur peut également vouloir visiter une page dans une langue que celle des paramètres régionaux de son interface utilisateur.

+Cet en-tête est une indication destinée à être utilisée lorsque le serveur n'a aucun moyen de déterminer la langue d'une autre manière, comme une URL spécifique, qui est contrôlée par une décision explicite de l'utilisateur. Il est recommandé que le serveur ne passe jamais outre une décision explicite. Le contenu d'`Accept-Language` est souvent hors du contrôle de l'utilisateur (comme lors d'un voyage et de l'utilisation d'un cybercafé à l'étranger) ; l'utilisateur peut également vouloir visiter une page dans une langue que celle des paramètres régionaux de son interface utilisateur. -

Si le serveur ne peut servir aucune langue qui corresponde, il peut théoriquement renvoyer un code d'erreur {{HTTPStatus ("406")}} (Not Acceptable). Mais, pour une meilleure expérience utilisateur, cela est rarement fait et la façon de faire la plus courante est d'ignorer l'en-tête Accept-Language dans ce cas.

+Si le serveur ne peut servir aucune langue qui corresponde, il peut théoriquement renvoyer un code d'erreur {{HTTPStatus ("406")}} (Not Acceptable). Mais, pour une meilleure expérience utilisateur, cela est rarement fait et la façon de faire la plus courante est d'ignorer l'en-tête `Accept-Language` dans ce cas. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Type d'en-tête{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}non
{{Glossary("Simple header", "CORS-safelisted request-header")}}oui
Type d'en-tête{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}non
+ {{Glossary("Simple header", "CORS-safelisted request-header")}} + oui
-

Syntaxe

+## Syntaxe -
Accept-Language: <langue>
-Accept-Language: <locale>
-Accept-Language: *
+    Accept-Language: 
+    Accept-Language: 
+    Accept-Language: *
 
-// Type multiples, pondérés par la syntaxe {{glossary("quality values", "valeur de qualité")}} :
-Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5
+ // Type multiples, pondérés par la syntaxe {{glossary("quality values", "valeur de qualité")}} : + Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5 -

Directives

+## Directives -
-
<langue>
-
Une langue exprimée sous la forme de 2 ou 3 caractères.
-
<locale>
-
Une balise de langue complète. En plus de la langue elle-même, elle peut contenir des informations additionnelles après un'-'. L'information supplémentaire la plus courante est la variante de pays (telle que'en-US') ou le type d'alphabet à utiliser (comme'sr-Lat'). D'autres variantes comme le type d'orthographe ('de-DE-1996') ne sont pas habituellement utilisées dans le contexte de cet en-tête.
-
*
-
Toute langue ; '*' est utilisé comme un joker.
-
;q= (pondération q-factor)
-
Une quantité numérique donnant un ordre de préférence et qui utilise une valeur de qualité relative, appelée poids.
-
+- `` + - : Une langue exprimée sous la forme de 2 ou 3 caractères. +- `` + - : Une balise de langue complète. En plus de la langue elle-même, elle peut contenir des informations additionnelles après un`'-'`. L'information supplémentaire la plus courante est la variante de pays (telle que`'en-US'`) ou le type d'alphabet à utiliser (comme`'sr-Lat'`). D'autres variantes comme le type d'orthographe (`'de-DE-1996'`) ne sont pas habituellement utilisées dans le contexte de cet en-tête. +- `*` + - : Toute langue ; `'*'` est utilisé comme un joker. +- `;q=` (pondération q-factor) + - : Une quantité numérique donnant un ordre de préférence et qui utilise une [valeur de qualité](/en-US/docs/Glossary/Quality_values) relative, appelée _poids_. -

Exemples

+## Exemples -
Accept-Language: de
+    Accept-Language: de
 
-Accept-Language: de-CH
+    Accept-Language: de-CH
 
-Accept-Language: en-US,en;q=0.5
-
+ Accept-Language: en-US,en;q=0.5 -

Spécifications

+## Spécifications - - - - - - - - - - - -
SpécificationTitre
{{RFC("7231", "Accept-Language", "5.3.5")}}Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context
+| Spécification | Titre | +| -------------------------------------------------------- | ------------------------------------------------------------- | +| {{RFC("7231", "Accept-Language", "5.3.5")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Accept-Language")}}

+{{Compat("http.headers.Accept-Language")}} -

Voir également

+## Voir également -
    -
  • HTTP négociation de contenu
  • -
  • En-tête avec le résultat de la négociation de contenu : {{HTTPHeader("Content-Language")}}
  • -
  • Autres en-têtes similaires : {{HTTPHeader("TE")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept")}}
  • -
+- HTTP [négociation de contenu](/fr-FR/docs/Web/HTTP/Content_negotiation) +- En-tête avec le résultat de la négociation de contenu : {{HTTPHeader("Content-Language")}} +- Autres en-têtes similaires : {{HTTPHeader("TE")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept")}} diff --git a/files/fr/web/http/headers/accept/index.md b/files/fr/web/http/headers/accept/index.md index 2f27ede072..62b38864b0 100644 --- a/files/fr/web/http/headers/accept/index.md +++ b/files/fr/web/http/headers/accept/index.md @@ -8,81 +8,69 @@ tags: - Reference translation_of: Web/HTTP/Headers/Accept --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

Le paramètre d'entête de requête HTTP Accept indique quels sont les types de contenu, exprimés sous la forme de types MIME, que le client sera capable d'interpréter. Par le biais de la résolution de contenu -(content negotiation), le serveur sélectionne ensuite une proposition parmi toutes, l'utilise et informe le client de son choix avec l'entête de réponse {{HTTPHeader("Content-Type")}}. Les navigateurs fixent des valeurs adéquates pour cet entête selon le contexte où la requête a été exécutée : selon que l'utilisateur souhaite récupérer une feuille de style css,  ou qu'il souhaite récupérer une image, une vidéo ou un script, la valeur fixée pour la requête ne sera pas la même.

+Le paramètre d'entête de requête HTTP **`Accept`** indique quels sont les types de contenu, exprimés sous la forme de types MIME, que le client sera capable d'interpréter. Par le biais de la résolution de contenu -([content negotiation](/en-US/docs/Web/HTTP/Content_negotiation)), le serveur sélectionne ensuite une proposition parmi toutes, l'utilise et informe le client de son choix avec l'entête de réponse {{HTTPHeader("Content-Type")}}. Les navigateurs fixent des valeurs adéquates pour cet entête selon le contexte où la requête a été exécutée : selon que l'utilisateur souhaite récupérer une feuille de style css,  ou qu'il souhaite récupérer une image, une vidéo ou un script, la valeur fixée pour la requête ne sera pas la même. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Type d'entête{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}non
{{Glossary("Simple header", "CORS-safelisted request-header")}}oui
Type d'entête{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}non
+ {{Glossary("Simple header", "CORS-safelisted request-header")}} + oui
-

Syntaxe

+## Syntaxe -
Accept: <MIME_type>/<MIME_subtype>
-Accept: <MIME_type>/*
-Accept: */*
+    Accept: /
+    Accept: /*
+    Accept: */*
 
-// Types multiples, pondérés {{glossary("quality values", "quality value")}} par la syntaxe :
-Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
+ // Types multiples, pondérés {{glossary("quality values", "quality value")}} par la syntaxe : + Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8 -

Directives

+## Directives -
-
<MIME_type>/<MIME_subtype>
-
Un type MIME unique et déterminé MIME type, comme par exemple text/html.
-
<MIME_type>/*
-
un type MIME type ne comprenant pas de sous-type. image/* prendra en charge image/png, image/svg, image/gif et tous autres types d'image.
-
*/*
-
Tout type MIME 
-
;q= (facteur de pondération q)
-
N'importe quelle valeur utilisée est placée selon un ordre de préférence exprimé par une valeur de qualité (quality value) relative appelée le poids.
-
+- `/` + - : Un type MIME unique et déterminé [MIME type](/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types), comme par exemple `text/html`. +- `/*` + - : un type MIME type ne comprenant pas de sous-type. `image/*` prendra en charge `image/png`, `image/svg`, `image/gif` et tous autres types d'image. +- `*/*` + - : Tout type MIME +- `;q=` (facteur de pondération q) + - : N'importe quelle valeur utilisée est placée selon un ordre de préférence exprimé par une valeur de qualité ([quality value](/en-US/docs/Glossary/Quality_values)) relative appelée le _poids_. -

Exemples

+## Exemples -
Accept: text/html
+    Accept: text/html
 
-Accept: image/*
+    Accept: image/*
 
-Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
-
+ Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8 -

Specifications

+## Specifications - - - - - - - - - - - -
SpecificationTitre
{{RFC("7231", "Accept", "5.3.2")}}Hypertext Transfer Protocol (HTTP/1.1): Vocabulaire et cas d'usage
+| Specification | Titre | +| -------------------------------------------- | ------------------------------------------------------------------ | +| {{RFC("7231", "Accept", "5.3.2")}} | Hypertext Transfer Protocol (HTTP/1.1): Vocabulaire et cas d'usage | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Accept")}}

+{{Compat("http.headers.Accept")}} -

Voir aussi

+## Voir aussi -
    -
  • HTTP content negotiation
  • -
  • Entête avec le résultat de la résolution de contenu : {{HTTPHeader("Content-Type")}}
  • -
  • Autres entêtes similaires : {{HTTPHeader("TE")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Language")}}
  • -
+- HTTP [content negotiation](/en-US/docs/Web/HTTP/Content_negotiation) +- Entête avec le résultat de la résolution de contenu : {{HTTPHeader("Content-Type")}} +- Autres entêtes similaires : {{HTTPHeader("TE")}}, {{HTTPHeader("Accept-Encoding")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Language")}} diff --git a/files/fr/web/http/headers/access-control-allow-methods/index.md b/files/fr/web/http/headers/access-control-allow-methods/index.md index 1460b08bec..03f66f0483 100644 --- a/files/fr/web/http/headers/access-control-allow-methods/index.md +++ b/files/fr/web/http/headers/access-control-allow-methods/index.md @@ -8,77 +8,57 @@ tags: - entête translation_of: Web/HTTP/Headers/Access-Control-Allow-Methods --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

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 ({{glossary("preflight request")}}).

+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 ({{glossary("preflight request")}}). - - - - - - - - - - + + + + + + + + + +
Type d'entête{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}non
Type d'entête{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}non
-

Syntaxe

+## Syntaxe -
Access-Control-Allow-Methods: <methode>, <methode>, ...
-
+ Access-Control-Allow-Methods: , , ... -

Directives

+## Directives -
-
<methode>
-
Liste délimitée par des virgules des méthodes de requêtes HTTP autorisées.
-
+- \ + - : Liste délimitée par des virgules des [méthodes de requêtes HTTP](/en-US/docs/Web/HTTP/Methods) autorisées. -

Exemples

+## Exemples -
Access-Control-Allow-Methods: POST, GET, OPTIONS
+ Access-Control-Allow-Methods: POST, GET, OPTIONS -

Spécifications

+## Spécifications - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('Fetch','#http-access-control-allow-methods', 'Access-Control-Allow-Methods')}}{{Spec2("Fetch")}}Définition initiale
+| Spécification | Statut | Commentaire | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------ | ------------------- | +| {{SpecName('Fetch','#http-access-control-allow-methods', 'Access-Control-Allow-Methods')}} | {{Spec2("Fetch")}} | Définition initiale | + +## Compatibilité avec les navigateurs -

Compatibilité avec les navigateurs

+{{Compat("http.headers.Access-Control-Allow-Methods")}} -

{{Compat("http.headers.Access-Control-Allow-Methods")}}

+## Notes de compatibilité -

Notes de compatibilité

+- La valeur joker (\*) mentionnée dans la dernière version de la spécification n'est pas encore implémentée dans tous les navigateurs : -
    -
  • La valeur joker (*) mentionnée dans la dernière version de la spécification n'est pas encore implémentée dans tous les navigateurs : - -
  • -
+ - Chromium: [Issue 615313](https://bugs.chromium.org/p/chromium/issues/detail?id=615313) + - Firefox: {{bug(1309358)}} + - Servo: [Issue 13283](https://github.com/servo/servo/issues/13283) -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Access-Control-Allow-Origin")}}
  • -
  • {{HTTPHeader("Access-Control-Expose-Headers")}}
  • -
  • {{HTTPHeader("Access-Control-Allow-Headers")}}
  • -
  • {{HTTPHeader("Access-Control-Request-Method")}}
  • -
+- {{HTTPHeader("Access-Control-Allow-Origin")}} +- {{HTTPHeader("Access-Control-Expose-Headers")}} +- {{HTTPHeader("Access-Control-Allow-Headers")}} +- {{HTTPHeader("Access-Control-Request-Method")}} diff --git a/files/fr/web/http/headers/access-control-allow-origin/index.md b/files/fr/web/http/headers/access-control-allow-origin/index.md index 359319cc18..1e4d094efd 100644 --- a/files/fr/web/http/headers/access-control-allow-origin/index.md +++ b/files/fr/web/http/headers/access-control-allow-origin/index.md @@ -3,80 +3,64 @@ title: Access-Control-Allow-Origin slug: Web/HTTP/Headers/Access-Control-Allow-Origin translation_of: Web/HTTP/Headers/Access-Control-Allow-Origin --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'entête Access-Control-Allow-Origin renvoie une réponse indiquant si les ressources peuvent être partagées avec une origine donnée.

+L'entête **`Access-Control-Allow-Origin`** renvoie une réponse indiquant si les ressources peuvent être partagées avec une [origine](/fr/docs/Glossaire/Origine) donnée. - - - - - - - - - - + + + + + + + + + +
Header type{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}no
Header type{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}no
-

Syntaxe

+## Syntaxe -
Access-Control-Allow-Origin: *
-Access-Control-Allow-Origin: <origin>
-Access-Control-Allow-Origin: null
-
+ Access-Control-Allow-Origin: * + Access-Control-Allow-Origin: + Access-Control-Allow-Origin: null -

Directives

+## Directives -
-
*
-
Pour les demandes sans informations d’identification, le serveur peut spécifier « * » comme un caractère générique, permettant ainsi à n’importe quelle origine d'accéder à la ressource.
-
<origin>
-
Spécifie un URI qui peut accéder à la ressource. Il n'est possible de spécifier qu'une seule origine.
-
+- \* + - : Pour les demandes sans informations d’identification, le serveur peut spécifier « \* » comme un caractère générique, permettant ainsi à n’importe quelle origine d'accéder à la ressource. +- \ + - : Spécifie un URI qui peut accéder à la ressource. Il n'est possible de spécifier qu'une seule origine. -

Exemples

+## Exemples -

Pour permettre à n'importe quelle ressource d'accéder à vos ressources, vous pouvez indiquer :

+Pour permettre à n'importe quelle ressource d'accéder à vos ressources, vous pouvez indiquer : -
Access-Control-Allow-Origin: *
+ Access-Control-Allow-Origin: * -

Pour permettre https://developer.mozilla.org d'accéder à vos ressources, vous pouvez indiquer :

+Pour permettre `https://developer.mozilla.org` d'accéder à vos ressources, vous pouvez indiquer : -
Access-Control-Allow-Origin: https://developer.mozilla.org
+ Access-Control-Allow-Origin: https://developer.mozilla.org -

CORS et le cache

+### CORS et le cache -

Si le serveur spécifie un hôte d'origine plutôt que "*", il doit également inclure "Origin" dans l'en-tête de réponse "Vary" pour indiquer aux clients que les réponses du serveur seront différentes en fonction de la valeur de la demande d'origine entête.

+Si le serveur spécifie un hôte d'origine plutôt que "\*", il doit également inclure "_Origin_" dans l'en-tête de réponse "_[Vary](/fr/docs/Web/HTTP/Headers/Vary)_" pour indiquer aux clients que les réponses du serveur seront différentes en fonction de la valeur de la demande d'origine entête. -
Access-Control-Allow-Origin: https://developer.mozilla.org
-Vary: Origin
+ Access-Control-Allow-Origin: https://developer.mozilla.org + Vary: Origin -

Caractéristiques

+## Caractéristiques - - - - - - - - - - - - - -
CaractéristiquesStatueCommentaire
{{SpecName('Fetch','#http-access-control-allow-origin', 'Access-Control-Allow-Origin')}}{{Spec2("Fetch")}}Initial definition.
+| Caractéristiques | Statue | Commentaire | +| -------------------------------------------------------------------------------------------------------------------- | ------------------------ | ------------------- | +| {{SpecName('Fetch','#http-access-control-allow-origin', 'Access-Control-Allow-Origin')}} | {{Spec2("Fetch")}} | Initial definition. | -

Compatibilité

+## Compatibilité -

{{Compat("http.headers.Access-Control-Allow-Origin")}}

+{{Compat("http.headers.Access-Control-Allow-Origin")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Origin")}}
  • -
  • {{HTTPHeader("Vary")}}
  • -
+- {{HTTPHeader("Origin")}} +- {{HTTPHeader("Vary")}} diff --git a/files/fr/web/http/headers/access-control-request-headers/index.md b/files/fr/web/http/headers/access-control-request-headers/index.md index 4a181b1335..0445c92aa6 100644 --- a/files/fr/web/http/headers/access-control-request-headers/index.md +++ b/files/fr/web/http/headers/access-control-request-headers/index.md @@ -8,64 +8,48 @@ tags: - pré-vérification translation_of: Web/HTTP/Headers/Access-Control-Request-Headers --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'entête Access-Control-Request-Headers est utilisé quand une requête de pré-vérification ({{glossary("preflight request")}}) et faite vers le serveur pour savoir les entêtes qui seront utilisés après la pré-vérification.

+L'entête **`Access-Control-Request-Headers`** est utilisé quand une requête de pré-vérification ({{glossary("preflight request")}}) et faite vers le serveur pour savoir les entêtes qui seront utilisés après la pré-vérification. - - - - - - - - - - + + + + + + + + + +
Header type{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}yes
Header type{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}yes
-

Syntaxe

+## Syntaxe -
Access-Control-Request-Headers: <header-name>, <header-name>, ...
-
+ Access-Control-Request-Headers: , , ... -

Directives

+## Directives -
-
<header-name>
-
Une liste d'entête HTTP séparé par des virgules qui sont inclus dans la requête.
-
+- \ + - : Une liste [d'entête HTTP](/en-US/docs/Web/HTTP/Headers) séparé par des virgules qui sont inclus dans la requête. -

Exemples

+## Exemples -
Access-Control-Request-Headers: X-PINGOTHER, Content-Type
+ Access-Control-Request-Headers: X-PINGOTHER, Content-Type -

Dans cet exemple le serveur en réponse à la demande de pré-vérification indiquer au demandeur de la pré-vérification que la requête suivante sera accepté si elle contient X-PINGOTHER ou Content-type.

+Dans cet exemple le serveur en réponse à la demande de pré-vérification indiquer au demandeur de la pré-vérification que la requête suivante sera accepté si elle contient _X-PINGOTHER_ ou _Content-type_. -

Spécifications

+## Spécifications - - - - - - - - - - - - - -
SpécificationStatusCommentaire
{{SpecName('Fetch','#http-access-control-request-headers', 'Access-Control-Request-Headers')}}{{Spec2("Fetch")}}Initial definition.
+| Spécification | Status | Commentaire | +| ---------------------------------------------------------------------------------------------------------------------------- | ------------------------ | ------------------- | +| {{SpecName('Fetch','#http-access-control-request-headers', 'Access-Control-Request-Headers')}} | {{Spec2("Fetch")}} | Initial definition. | -

Compatibilité navigateur

+## Compatibilité navigateur -

{{Compat("http/headers/access-control-request-headers")}}

+{{Compat("http/headers/access-control-request-headers")}} -

Voir également

+## Voir également -
    -
  • {{HTTPHeader("Access-Control-Request-Method")}}
  • -
+- {{HTTPHeader("Access-Control-Request-Method")}} diff --git a/files/fr/web/http/headers/age/index.md b/files/fr/web/http/headers/age/index.md index fc78feaa3e..a455987bbd 100644 --- a/files/fr/web/http/headers/age/index.md +++ b/files/fr/web/http/headers/age/index.md @@ -3,67 +3,51 @@ title: Age slug: Web/HTTP/Headers/Age translation_of: Web/HTTP/Headers/Age --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'entête HTTP {{HTTPHeader("Age")}} indique le temps en secondes pendant lequel la ressource a été stockée dans un cache proxy.

+L'entête HTTP {{HTTPHeader("Age")}} indique le temps en secondes pendant lequel la ressource a été stockée dans un cache proxy. + +Sa valeur est généralement proche de zéro. Elle vaut 0 lorsque la ressource vient d'être rapatriée du serveur d'origine; autrement, sa valeur équivaut à la différence entre la date courante du proxy et la valeur de l'entête {{HTTPHeader("Date")}} inclus dans la réponse HTTP. -

Sa valeur est généralement proche de zéro. Elle vaut 0 lorsque la ressource vient d'être rapatriée du serveur d'origine; autrement, sa valeur équivaut à la différence entre la date courante du proxy et la valeur de l'entête {{HTTPHeader("Date")}} inclus dans la réponse HTTP.

-

 

- - - - - - - - - - + + + + + + + + + +
Type d'entêteEntête de réponse
Nom d'entête interditnon
Type d'entêteEntête de réponse
Nom d'entête interditnon
-

Syntaxe

+## Syntaxe -
Age: <valeur-en-secondes>
-
+ Age: -

Directive

+## Directive -
-
<valeur-en-secondes>
-
-

Un entier positif indiquant le temps en secondes pendant lequel la ressource a été stockée dans un cache proxy.

-
-
+- \ + - : Un entier positif indiquant le temps en secondes pendant lequel la ressource a été stockée dans un cache proxy. -

Exemple

+## Exemple -
Age: 24
+ Age: 24 -

Spécifications

+## Spécifications - - - - - - - - - - - -
SpécificationTitre
{{RFC("7234", "Age", "5.1")}}Hypertext Transfer Protocol (HTTP/1.1): Caching
+| Spécification | Titre | +| ---------------------------------------- | ----------------------------------------------- | +| {{RFC("7234", "Age", "5.1")}} | Hypertext Transfer Protocol (HTTP/1.1): Caching | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Age")}}

+{{Compat("http.headers.Age")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Cache-Control")}}
  • -
  • {{HTTPHeader("Expires")}}
  • -
+- {{HTTPHeader("Cache-Control")}} +- {{HTTPHeader("Expires")}} diff --git a/files/fr/web/http/headers/allow/index.md b/files/fr/web/http/headers/allow/index.md index e8605d2bfa..35e5badcc2 100644 --- a/files/fr/web/http/headers/allow/index.md +++ b/files/fr/web/http/headers/allow/index.md @@ -8,59 +8,45 @@ tags: - entête translation_of: Web/HTTP/Headers/Allow --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'entête Allow liste les méthodes supportées par une ressource.

+L'entête **`Allow`** liste les méthodes supportées par une ressource. -

Cet entête doit être envoyée si le serveur répond avec un statut {{HTTPStatus("405")}} Method Not Allowed pour indiquer quelles méthodes peuvent être utilisées pour la requête. Une entête Allow vide indique que la ressource n'autorise aucune méthode, ce qui peut erriver temporairement pour une ressource donnée, par exemple.

+Cet entête doit être envoyée si le serveur répond avec un statut {{HTTPStatus("405")}} `Method Not Allowed` pour indiquer quelles méthodes peuvent être utilisées pour la requête. Une entête `Allow` vide indique que la ressource n'autorise aucune méthode, ce qui peut erriver temporairement pour une ressource donnée, par exemple. - - - - - - - - - - + + + + + + + + + +
Type d'entête{{Glossary("Entity header")}}
{{Glossary("Forbidden header name")}}non
Type d'entête{{Glossary("Entity header")}}
{{Glossary("Forbidden header name")}}non
-

Syntaxe

+## Syntaxe -
Allow: <methodes-http>
-
+ Allow: -

Directives

+## Directives -
-
<methodes-http>
-
La liste des méthodes de requête HTTP autorisées, séparées par des virgules.
-
+- \ + - : La liste des [méthodes de requête HTTP](/en-US/docs/Web/HTTP/Methods) autorisées, séparées par des virgules. -

Exemples

+## Exemples -
Allow: GET, POST, HEAD
+ Allow: GET, POST, HEAD -

Spécifications

+## Spécifications - - - - - - - - - - - -
SpécificationTitre
{{RFC("7231", "Allow", "7.4.1")}}Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
+| Spécification | Titre | +| -------------------------------------------- | ------------------------------------------------------------- | +| {{RFC("7231", "Allow", "7.4.1")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content | -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPStatus("405")}}
  • -
  • {{HTTPHeader("Server")}}
  • -
+- {{HTTPStatus("405")}} +- {{HTTPHeader("Server")}} diff --git a/files/fr/web/http/headers/authorization/index.md b/files/fr/web/http/headers/authorization/index.md index 065c4fc78a..134d478a99 100644 --- a/files/fr/web/http/headers/authorization/index.md +++ b/files/fr/web/http/headers/authorization/index.md @@ -8,82 +8,65 @@ tags: - requête translation_of: Web/HTTP/Headers/Authorization --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête de requête HTTP Authorization contient les identifiants permettant l'authentification d'un utilisateur auprès d'un serveur, habituellement après que le serveur ait répondu avec un statut {{HTTPStatus("401")}} Unauthorized et l'en-tête {{HTTPHeader("WWW-Authenticate")}}

+L'en-tête de requête HTTP **`Authorization `**contient les identifiants permettant l'authentification d'un utilisateur auprès d'un serveur, habituellement après que le serveur ait répondu avec un statut {{HTTPStatus("401")}} `Unauthorized` et l'en-tête {{HTTPHeader("WWW-Authenticate")}} - - - - - - - - - - + + + + + + + + + +
Type d'en-tête{{Glossary("Request header")}}
Nom d'en-tête interditNon
Type d'en-tête{{Glossary("Request header")}}
+ Nom d'en-tête interdit + Non
-

Syntaxe

- -
Authorization: <type> <credentials>
- -

Directives

- -
-
<type>
-

Le type d'authentification. Le type "Basic" est souvent utilisé. Pour connaître les autres types :

- -
-
<credentials>
-

Si c'est le type d'authentification "Basic" qui est utilisé, les identifiants sont construits de la manière suivante :

-
    -
  • L'identifiant de l'utilisateur et le mot de passe sont combinés avec deux-points : (aladdin:sesameOuvreToi).
  • -
  • Cette chaîne de caractères est ensuite encodée en base64 (YWxhZGRpbjpzZXNhbWVPdXZyZVRvaQ==).
  • -
-
-

Note : L'encodage en Base64 n'est pas un chiffrement ou un hachage ! Cette méthode est aussi peu sûre que d'envoyer les identifiants en clair (l'encodage base64 est un encodage réversible). Il faudra privilégier HTTPS lorsqu'on emploie une authentification "basique".

-
-
-
- -

Exemples

- -
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
-
- -

Voir aussi l'article authentification HTTP avec des exemples de configuration de serveurs Apache ou nginx pour protéger votre site grâce à un mot de passe et l'authentification HTTP basique.

- -

Spécifications

- - - - - - - - - - - - - - - - - - -
SpécificationTitre
{{RFC("7235", "Authorization", "4.2")}}HTTP/1.1 : Authentification
{{RFC("7617")}}Schéma d'Authentification HTTP 'Basic'
+## Syntaxe + + Authorization: + +## Directives + +- _\_ + + - : [Le type d'authentification](/fr/docs/Web/HTTP/Authentication#Schéma_d'authentification). Le type [`"Basic"`](/en-US/docs/Web/HTTP/Authentication#Basic_authentication_scheme) est souvent utilisé. Pour connaître les autres types : + + - [IANA registry of Authentication schemes](http://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml) + +- _\_ + + - : Si c'est le type d'authentification `"Basic"` qui est utilisé, les identifiants sont construits de la manière suivante : + + - L'identifiant de l'utilisateur et le mot de passe sont combinés avec deux-points : (`aladdin:sesameOuvreToi`). + - Cette chaîne de caractères est ensuite encodée en [base64](/fr/docs/Web/API/WindowBase64/Décoder_encoder_en_base64) (`YWxhZGRpbjpzZXNhbWVPdXZyZVRvaQ==`). + + > **Note :** L'encodage en Base64 n'est pas un chiffrement ou un hachage ! Cette méthode est aussi peu sûre que d'envoyer les identifiants en clair (l'encodage base64 est un encodage réversible). Il faudra privilégier HTTPS lorsqu'on emploie une authentification "basique". + +## Exemples + + Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l + +Voir aussi l'article [authentification HTTP](/fr/docs/Web/HTTP/Authentication) avec des exemples de configuration de serveurs Apache ou nginx pour protéger votre site grâce à un mot de passe et l'authentification HTTP basique. + +## Spécifications + +| Spécification | Titre | +| ---------------------------------------------------- | -------------------------------------- | +| {{RFC("7235", "Authorization", "4.2")}} | HTTP/1.1 : Authentification | +| {{RFC("7617")}} | Schéma d'Authentification HTTP 'Basic' | -

Voir

+## Voir -
    -
  • L'authentification HTTP
  • -
  • {{HTTPHeader("WWW-Authenticate")}}
  • -
  • {{HTTPHeader("Proxy-Authorization")}}
  • -
  • {{HTTPHeader("Proxy-Authenticate")}}
  • -
  • {{HTTPStatus("401")}}, {{HTTPStatus("403")}}, {{HTTPStatus("407")}}
  • -
+- [L'authentification HTTP](/fr/docs/Web/HTTP/Authentication) +- {{HTTPHeader("WWW-Authenticate")}} +- {{HTTPHeader("Proxy-Authorization")}} +- {{HTTPHeader("Proxy-Authenticate")}} +- {{HTTPStatus("401")}}, {{HTTPStatus("403")}}, {{HTTPStatus("407")}} diff --git a/files/fr/web/http/headers/cache-control/index.md b/files/fr/web/http/headers/cache-control/index.md index de82079b83..067322921a 100644 --- a/files/fr/web/http/headers/cache-control/index.md +++ b/files/fr/web/http/headers/cache-control/index.md @@ -9,209 +9,173 @@ tags: - Reference translation_of: Web/HTTP/Headers/Cache-Control --- -

{{HTTPSidebar}}

+{{HTTPSidebar}} -

L'en-tête HTTP Cache-Control contient des directives (ou instructions) pour la mise en cache tant dans les requêtes que dans les réponses. Une directive donnée dans une requête ne signifie pas que la même directive doit se trouver dans la réponse.

+L'en-tête HTTP **`Cache-Control`** contient des directives (ou instructions) pour la [mise en cache](/fr/docs/Web/HTTP/Cache) tant dans les requêtes que dans les réponses. Une directive donnée dans une requête ne signifie pas que la même directive doit se trouver dans la réponse. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Type d'en-tête{{Glossary("General header")}}
{{Glossary("Forbidden header name")}}non
{{Glossary("CORS-safelisted response header")}}oui
Type d'en-tête{{Glossary("General header")}}
{{Glossary("Forbidden header name")}}non
+ {{Glossary("CORS-safelisted response header")}} + oui
-

Syntaxe

+## Syntaxe -

Pour être valables, les directives de mise en cache doivent respecter les règles suivante :

+Pour être valables, les directives de mise en cache doivent respecter les règles suivante : -
    -
  • Il est recommandé de ne pas faire de distinction entre les majuscules et les minuscules..
  • -
  • Les directives multiples sont séparées par des virgules.
  • -
  • Certaines directives ont un argument optionnel, qui peut être soit un jeton, soit une chaîne de caractères entre guillemets. (Voir les spécifications pour les définitions)
  • -
+- Il est recommandé de ne pas faire de distinction entre les majuscules et les minuscules.. +- Les directives multiples sont séparées par des virgules. +- Certaines directives ont un argument optionnel, qui peut être soit un _jeton_, soit une chaîne de caractères entre guillemets. (Voir les spécifications pour les définitions) -

Règles de cache des requêtes

+### Règles de cache des requêtes -

Les règles standard Cache-Control suivantes peuvent être utilisées par un client HTTP dans une requête :

+Les règles standard `Cache-Control` suivantes peuvent être utilisées par un client HTTP dans une requête : -
Cache-Control: max-age=<seconds>
-Cache-Control: max-stale[=<seconds>]
-Cache-Control: min-fresh=<seconds>
-Cache-Control: no-cache
-Cache-Control: no-store
-Cache-Control: no-transform
-Cache-Control: only-if-cached
-
+ Cache-Control: max-age= + Cache-Control: max-stale[=] + Cache-Control: min-fresh= + Cache-Control: no-cache + Cache-Control: no-store + Cache-Control: no-transform + Cache-Control: only-if-cached + +### Règles de cache des réponses + +Les règles standard `Cache-Control` suivantes peuvent être utilisées par un serveur HTTP dans une réponse : + + Cache-Control: must-revalidate + Cache-Control: no-cache + Cache-Control: no-store + Cache-Control: no-transform + Cache-Control: public + Cache-Control: private + Cache-Control: proxy-revalidate + Cache-Control: max-age= + Cache-Control: s-maxage= + +### Extensions de `Cache-Control` + +Les directives Extension `Cache-Control` ne font pas partie du document sur les normes de base de la mise en cache HTTP. Vérifiez leur prise en charge dans la [table de compatibilité](#Browser_compatibility) ; les agents-utilisateurs qui ne les reconnaissent pas doivent les ignorer. + + Cache-Control: immutable + Cache-Control: stale-while-revalidate= + Cache-Control: stale-if-error= + +## Directives + +### Possibilité de mise en cache + +Une réponse est normalement mise en cache par le navigateur si + +- il a un code de statut de [`301`](/fr/docs/Web/HTTP/Status/301), [`302`](/fr/docs/Web/HTTP/Status/302), [`307`](/fr/docs/Web/HTTP/Status/307), [`308`](/fr/docs/Web/HTTP/Status/308), or [`410`](/fr/docs/Web/HTTP/Status/410) **et** +- `Cache-Control` n'a pas de `no-store`, ou _s'il s'agit d'un mandataire_, il n'a pas d'adresse `privée` **et** +- [`Authorization`](/fr/docs/Web/HTTP/Headers/Authorization) n'est pas fixée +- soit + + - a un code de statut de [`301`](/fr/docs/Web/HTTP/Status/301), [`302`](/fr/docs/Web/HTTP/Status/302), [`307`](/fr/docs/Web/HTTP/Status/307), [`308`](/fr/docs/Web/HTTP/Status/308), ou [`410`](/fr/docs/Web/HTTP/Status/410) **ou** + - a un `public`, `max-age` ou `s-maxage` dans `Cache-Control` **ou** + - a [`Expires`](/fr/docs/Web/HTTP/Headers/Expires) fixé + + + +- `public` + - : Indique que la réponse peut être mise en cache par n'importe quel cache. +- `private` + - : Indique que la réponse ne doit être mise en cache que pour un utilisateur donné et ne doit donc pas être mise en cache par un cache partagé. +- `no-cache` + - : Indique de renvoyer systématiquement la requête au serveur et ne servir une éventuelle version en cache que dans le cas où le serveur le demande. +- `no-store` + - : La réponse **ne** peut être stockée dans _aucune_ mémoire cache. Bien que d'autres directives puissent être définies, C'est la seule directive dont vous avez besoin pour empêcher le réponses en cache sur les navigateurs modernes. `max-age=0` **est déjà implicite**. **La définition de la directive** `must-revalidate` **n'a pas de sens** car pour passer la revalidation, vous devez stocker la réponse dans un cache, ce que n'empêche `no-store`.**Ne pas copier-coller les spécifications Internet-Explorer** `pre-check=0,post-check=0` Si vous le voyez en ligne car il est entièrement ignoré, ce que confirme le [tweet du développeur Edge](https://twitter.com/ericlaw/status/685201170260819968). + +### Expiration + +- `max-age=` + - : Indique la durée pendant laquelle la ressource doit être considérée comme valide (non expirée). Contrairement à `expires`, la durée indiquée dans cette directive commence à la date de la requête. +- `s-maxage=` + - : Indique une valeur pour écraser les valeurs définies par `max-age` ou `Expires` pour les caches partagés (comme les proxies). Il est donc ignoré par les caches privés (dont les navigateurs). +- `max-stale[=]` + - : Indique que le client accepte une réponse expirée. Une valeur optionnelle permet d'indiquer la durée maximale depuis laquelle la réponse peut être expirée mais acceptée quand même. +- `min-fresh=` + - : Indique que le client demande une réponse qui soit valide pour au moins la durée demandée (dont la date d'expiration est supérieure à la date actuelle plus la durée spécifiée). +- `stale-while-revalidate=` {{experimental_inline}} + - : Indique au cache de renvoyer les données en cache même si elles sont expirée depuis une durée inférieure à la durée spécifiée dans l'en-tête. Dans ce cas, le cache doit renvoyer la requête au serveur pour rafraîchir les données. +- `stale-if-error=` {{experimental_inline}} + - : Indique au cache de renvoyer les données en cache s'il y a une erreur pendant la récupération des données auprès du serveur et que la version en cache est expirée depuis une durée inférieure à celle spécifiée dans l'en-tête. -

Règles de cache des réponses

+### Revalidation et rechargement -

Les règles standard Cache-Control suivantes peuvent être utilisées par un serveur HTTP dans une réponse :

+- `must-revalidate` + - : Le cache doit refaire une requête dans le cas où les données sont expirées afin de les mettre à jour s'il y a lieu (il reste parfaitement possible que le serveur réponde avec les mêmes données). +- `proxy-revalidate` + - : Comme pour `must-revalidate`, mais force la valeur pour les caches partagés. Cette valeur est ignorée par les caches locaux. +- `immutable` + - : Indique que les données renvoyées peuvent être servies même si elles sont expirées sans aucune validation et même si le client fait une demande explicite de rafraîchissement. Cette option est a priori uniquement adaptée si les contenus ne sont jamais modifiés mais toujours stockés à une URI différente (par exemple en utilisant un hash du contenu). Les clients qui ne gèrent pas cette directive l'ignorent. Dans le cas de Firefox, cette option est aussi ignorée pour les contenus qui ne sont pas servis en HTTPS. Pour plus d'informations, on pourra se référer à [un blog en anglais](http://bitsup.blogspot.de/2016/05/cache-control-immutable.html). -
Cache-Control: must-revalidate
-Cache-Control: no-cache
+### Autres
+
+- `no-transform`
+  - : Aucune conversion ou transformation ne devraient être réalisée sur la ressource. Ainsi, les en-tête `Content-Encoding`, `Content-Range` et `Content-Type` ne devraient jamais être modifiés par un proxy (serveur mandataire). Un proxy non-transparent pourrait, en l'absence de cet en-tête, convertir ou compresser (avec pertes) des images pour réduire la place occupée en cache ou diminuer le volume de données à transférer sur un lien lent.
+- `only-if-cached`
+  - : Réglé par le _client_ pour indiquer "ne pas utiliser le réseau" pour la réponse. Le cache doit soit répondre en utilisant une réponse stockée, soit répondre avec un code d'état [`504`](/fr/docs/Web/HTTP/Status/504). Les en-têtes conditionnels tels que `If-None-Match` ne doivent pas être définis. Il n'y a aucun effet si `only-if-cached` est défini par un serveur dans le cadre d'une réponse.
+
+## Exemples
+
+### Prévention de la mise en cache
+
+Pour désactiver la mise en cache, vous pouvez envoyer l'en-tête de réponse suivant. En outre, voir aussi les en-têtes `Expires` et `Pragma`.
+
+```plain example-good
 Cache-Control: no-store
-Cache-Control: no-transform
-Cache-Control: public
-Cache-Control: private
-Cache-Control: proxy-revalidate
-Cache-Control: max-age=<seconds>
-Cache-Control: s-maxage=<seconds>
-
- -

Extensions de Cache-Control

- -

Les directives Extension Cache-Control ne font pas partie du document sur les normes de base de la mise en cache HTTP. Vérifiez leur prise en charge dans la table de compatibilité ; les agents-utilisateurs qui ne les reconnaissent pas doivent les ignorer.

- -
Cache-Control: immutable
-Cache-Control: stale-while-revalidate=<seconds>
-Cache-Control: stale-if-error=<seconds>
-
- -

Directives

- -

Possibilité de mise en cache

- -

Une réponse est normalement mise en cache par le navigateur si

- -
    -
  • il a un code de statut de 301, 302, 307, 308, or 410 et
  • -
  • Cache-Control n'a pas de no-store, ou s'il s'agit d'un mandataire, il n'a pas d'adresse privée et
  • -
  • Authorization n'est pas fixée
  • -
  • soit -
      -
    • a un code de statut de 301, 302, 307, 308, ou 410 ou
    • -
    • a un public, max-age ou s-maxage dans Cache-Control ou
    • -
    • a Expires fixé
    • -
    -
  • -
- -
-
public
-
Indique que la réponse peut être mise en cache par n'importe quel cache.
-
private
-
Indique que la réponse ne doit être mise en cache que pour un utilisateur donné et ne doit donc pas être mise en cache par un cache partagé.
-
no-cache
-
Indique de renvoyer systématiquement la requête au serveur et ne servir une éventuelle version en cache que dans le cas où le serveur le demande.
-
no-store
-

La réponse ne peut être stockée dans aucune mémoire cache. Bien que d'autres directives puissent être définies, C'est la seule directive dont vous avez besoin pour empêcher le réponses en cache sur les navigateurs modernes. max-age=0 est déjà implicite. La définition de la directive must-revalidate n'a pas de sens car pour passer la revalidation, vous devez stocker la réponse dans un cache, ce que n'empêche no-store.Ne pas copier-coller les spécifications Internet-Explorer pre-check=0,post-check=0 Si vous le voyez en ligne car il est entièrement ignoré, ce que confirme le tweet du développeur Edge.

-
- -

Expiration

- -
-
max-age=<secondes>
-
Indique la durée pendant laquelle la ressource doit être considérée comme valide (non expirée). Contrairement à expires, la durée indiquée dans cette directive commence à la date de la requête.
-
s-maxage=<secondes>
-
Indique une valeur pour écraser les valeurs définies par max-age ou Expires pour les caches partagés (comme les proxies). Il est donc ignoré par les caches privés (dont les navigateurs).
-
max-stale[=<secondes>]
-
Indique que le client accepte une réponse expirée. Une valeur optionnelle permet d'indiquer la durée maximale depuis laquelle la réponse peut être expirée mais acceptée quand même.
-
min-fresh=<secondes>
-
Indique que le client demande une réponse qui soit valide pour au moins la durée demandée (dont la date d'expiration est supérieure à la date actuelle plus la durée spécifiée).
-
stale-while-revalidate=<secondes> {{experimental_inline}}
-
Indique au cache de renvoyer les données en cache même si elles sont expirée depuis une durée inférieure à la durée spécifiée dans l'en-tête. Dans ce cas, le cache doit renvoyer la requête au serveur pour rafraîchir les données.
-
stale-if-error=<secondes> {{experimental_inline}}
-
Indique au cache de renvoyer les données en cache s'il y a une erreur pendant la récupération des données auprès du serveur et que la version en cache est expirée depuis une durée inférieure à celle spécifiée dans l'en-tête.
-
- -

Revalidation et rechargement

- -
-
must-revalidate
-
Le cache doit refaire une requête dans le cas où les données sont expirées afin de les mettre à jour s'il y a lieu (il reste parfaitement possible que le serveur réponde avec les mêmes données).
-
proxy-revalidate
-
Comme pour must-revalidate, mais force la valeur pour les caches partagés. Cette valeur est ignorée par les caches locaux.
-
immutable
-
Indique que les données renvoyées peuvent être servies même si elles sont expirées sans aucune validation et même si le client fait une demande explicite de rafraîchissement. Cette option est a priori uniquement adaptée si les contenus ne sont jamais modifiés mais toujours stockés à une URI différente (par exemple en utilisant un hash du contenu). Les clients qui ne gèrent pas cette directive l'ignorent. Dans le cas de Firefox, cette option est aussi ignorée pour les contenus qui ne sont pas servis en HTTPS. Pour plus d'informations, on pourra se référer à un blog en anglais.
-
- -

Autres

- -
-
no-transform
-
Aucune conversion ou transformation ne devraient être réalisée sur la ressource. Ainsi, les en-tête Content-Encoding, Content-Range et Content-Type ne devraient jamais être modifiés par un proxy (serveur mandataire). Un proxy non-transparent pourrait, en l'absence de cet en-tête, convertir ou compresser (avec pertes) des images pour réduire la place occupée en cache ou diminuer le volume de données à transférer sur un lien lent.
-
only-if-cached
-
Réglé par le client pour indiquer "ne pas utiliser le réseau" pour la réponse. Le cache doit soit répondre en utilisant une réponse stockée, soit répondre avec un code d'état 504. Les en-têtes conditionnels tels que If-None-Match ne doivent pas être définis. Il n'y a aucun effet si only-if-cached est défini par un serveur dans le cadre d'une réponse.
-
- -

Exemples

- -

Prévention de la mise en cache

- -

Pour désactiver la mise en cache, vous pouvez envoyer l'en-tête de réponse suivant. En outre, voir aussi les en-têtes Expires et Pragma.

- -
Cache-Control: no-store
-
- -
Cache-Control: private,no-cache,no-store,max-age=0,must-revalidate,pre-check=0,post-check=0
-
- -

Mise en cache d'actifs statiques

- -

Pour les fichiers de l'application qui ne seront pas modifiés, vous pouvez généralement ajouter une mise en cache agressive en envoyant l'en-tête de réponse ci-dessous. Cela inclut les fichiers statiques qui sont servis par l'application comme les images, les fichiers CSS et les fichiers JavaScript, par exemple. En outre, voir l'en-tête Expires.

- -
Cache-Control: public, max-age=604800, immutable
-
- -

Nécessitant une revalidation

- -

Le fait de spécifier no-cache ou max-age=0 indique que les clients peuvent mettre une ressource en cache et doivent la revalider à chaque fois avant de l'utiliser. Cela signifie que la requête HTTP se produit à chaque fois, mais qu'elle peut sauter le téléchargement du corps HTTP si le contenu est valide.

- -
Cache-Control: no-cache
-Cache-Control: no-cache, max-age=0
-Cache-Control: no-cache, max-age=0, stale-while-revalidate=300
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{RFC(8246, "HTTP Immutable Responses")}}IETF RFC
{{RFC(7234, "Hypertext Transfer Protocol (HTTP/1.1): Caching")}}IETF RFC
{{RFC(5861, "HTTP Cache-Control Extensions for Stale Content")}}IETF RFCInitial definition
+``` + +```plain example-bad +Cache-Control: private,no-cache,no-store,max-age=0,must-revalidate,pre-check=0,post-check=0 +``` + +### Mise en cache d'actifs statiques + +Pour les fichiers de l'application qui ne seront pas modifiés, vous pouvez généralement ajouter une mise en cache agressive en envoyant l'en-tête de réponse ci-dessous. Cela inclut les fichiers statiques qui sont servis par l'application comme les images, les fichiers CSS et les fichiers JavaScript, par exemple. En outre, voir l'en-tête `Expires`. + + Cache-Control: public, max-age=604800, immutable + +### Nécessitant une revalidation + +Le fait de spécifier no-cache ou `max-age=0` indique que les clients peuvent mettre une ressource en cache et doivent la revalider à chaque fois avant de l'utiliser. Cela signifie que la requête HTTP se produit à chaque fois, mais qu'elle peut sauter le téléchargement du corps HTTP si le contenu est valide. + + Cache-Control: no-cache + Cache-Control: no-cache, max-age=0 + Cache-Control: no-cache, max-age=0, stale-while-revalidate=300 + +## Spécifications + +| Specification | Status | Comment | +| ------------------------------------------------------------------------------------ | -------- | ------------------ | +| {{RFC(8246, "HTTP Immutable Responses")}} | IETF RFC | | +| {{RFC(7234, "Hypertext Transfer Protocol (HTTP/1.1): Caching")}} | IETF RFC | | +| {{RFC(5861, "HTTP Cache-Control Extensions for Stale Content")}} | IETF RFC | Initial definition | -

Compatibilité avec les navigateurs

+## Compatibilité avec les navigateurs -

{{Compat("http.headers.Cache-Control")}}

+{{Compat("http.headers.Cache-Control")}} -

Voir aussi

+## Voir aussi - +- [HTTP Caching FAQ](/fr/docs/Web/HTTP/Caching_FAQ) +- [Caching Tutorial for Web Authors and Webmasters](https://www.mnot.net/cache_docs/) +- Guide: _[`Cache-Control` for civilians](https://csswizardry.com/2019/03/cache-control-for-civilians)_ +- {{HTTPHeader("Age")}} +- {{HTTPHeader("Expires")}} +- {{HTTPHeader("Pragma")}} diff --git a/files/fr/web/http/headers/connection/index.md b/files/fr/web/http/headers/connection/index.md index 3ea2071137..399f43f1ce 100644 --- a/files/fr/web/http/headers/connection/index.md +++ b/files/fr/web/http/headers/connection/index.md @@ -8,44 +8,43 @@ tags: - en-tête translation_of: Web/HTTP/Headers/Connection --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

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.

+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.](https://tools.ietf.org/html/rfc7540#section-8.1.2.2) -

Except for the standard hop-by-hop headers ({{HTTPHeader("Keep-Alive")}}, {{HTTPHeader("Transfer-Encoding")}}, {{HTTPHeader("TE")}}, {{HTTPHeader("Connection")}}, {{HTTPHeader("Trailer")}}, {{HTTPHeader("Upgrade")}}, {{HTTPHeader("Proxy-Authorization")}} and {{HTTPHeader("Proxy-Authenticate")}}), 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 {{HTTPHeader("Keep-Alive")}}, but this is not mandatory).

+Except for the standard hop-by-hop headers ({{HTTPHeader("Keep-Alive")}}, {{HTTPHeader("Transfer-Encoding")}}, {{HTTPHeader("TE")}}, {{HTTPHeader("Connection")}}, {{HTTPHeader("Trailer")}}, {{HTTPHeader("Upgrade")}}, {{HTTPHeader("Proxy-Authorization")}} and {{HTTPHeader("Proxy-Authenticate")}}), 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 {{HTTPHeader("Keep-Alive")}}, but this is not mandatory). - - - - - - - - - - + + + + + + + + + +
Type d'en-têteEn-tête général
Nom d'en-tête interditOui
Type d'en-têteEn-tête général
+ Nom d'en-tête interdit + Oui
-

Syntaxe

+## Syntaxe -
Connection: keep-alive
-Connection: close
-
+ Connection: keep-alive + Connection: close -

Directives

+## 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).
-
+- `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

+## Compatibilité des navigateurs -

{{Compat("http.headers.Connection")}}

+{{Compat("http.headers.Connection")}} diff --git a/files/fr/web/http/headers/content-disposition/index.md b/files/fr/web/http/headers/content-disposition/index.md index 1dffadd807..2844fbef41 100644 --- a/files/fr/web/http/headers/content-disposition/index.md +++ b/files/fr/web/http/headers/content-disposition/index.md @@ -7,139 +7,123 @@ tags: - header translation_of: Web/HTTP/Headers/Content-Disposition --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

Dans une réponse HTTP régulière, l'en-tête de réponse Content-Disposition est un en-tête indiquant si le contenu devrait être affiché en ligne dans le navigateur, c'est-à-dire en tant que page Web, dans une page Web ou en pièce jointe qui sera téléchargé et enregistré localement.

+Dans une réponse HTTP régulière, l'en-tête de réponse `Content-Disposition` est un en-tête indiquant si le contenu devrait être affiché en ligne dans le navigateur, c'est-à-dire en tant que page Web, dans une page Web ou en pièce jointe qui sera téléchargé et enregistré localement. -

Dans un corps multipart / form-data, l'en-tête général HTTP Content-Disposition est un en-tête qui peut être utilisé sur la sous-partie d'un corps multipart pour donner des informations sur le champ auquel il s'applique. La sous-partie est délimitée par la limite boundary définie dans l'en-tête {{HTTPHeader ("Content-Type")}}. Utilisé sur le corps même, Content-Disposition n'a aucun effet.

+Dans un corps `multipart / form-data`, l'en-tête général HTTP Content-Disposition est un en-tête qui peut être utilisé sur la sous-partie d'un corps multipart pour donner des informations sur le champ auquel il s'applique. La sous-partie est délimitée par la limite `boundary` définie dans l'en-tête {{HTTPHeader ("Content-Type")}}. Utilisé sur le corps même, `Content-Disposition `n'a aucun effet. -

L'en-tête Content-Disposition est défini dans le contexte plus large des messages MIME pour le courrier électronique, mais seul un sous-ensemble des paramètres possibles s'applique aux formulaires HTTP et {{HTTPMethod ("POST")}}. Seules les données de forme de valeur, ainsi que le nom de la directive optionnelle et le nom de fichier, peuvent être utilisés dans le contexte HTTP.

+L'en-tête `Content-Disposition` est défini dans le contexte plus large des messages MIME pour le courrier électronique, mais seul un sous-ensemble des paramètres possibles s'applique aux formulaires HTTP et {{HTTPMethod ("POST")}}. Seules les données de forme de valeur, ainsi que le nom de la directive optionnelle et le nom de fichier, peuvent être utilisés dans le contexte HTTP. - - - - - + + + + +
- - - - - - - - - - - -
Type d'en-tête{{Glossary("Response header")}} (pour le corps principal)
- {{Glossary("General header")}} (pour une sous-partie d'un corps à plusieurs parties)
{{Glossary("Forbidden header name")}}Non
-
+ + + + + + + + + + + +
Type d'en-tête + {{Glossary("Response header")}} (pour le corps + principal)
{{Glossary("General header")}} (pour + une sous-partie d'un corps à plusieurs parties) +
+ {{Glossary("Forbidden header name")}} + Non
+
-

Syntaxe

+## Syntaxe -

En tant qu'entête de réponse pour le corps principal 

+### En tant qu'entête de réponse pour le corps principal  -

Le premier paramètre dans le contexte HTTP est en ligne (valeur par défaut, indiquant qu'il peut être affiché à l'intérieur de la page Web ou en tant que page Web) ou pièce jointe (en indiquant qu'il devrait être téléchargé), la plupart des navigateurs présentant une boîte de dialogue "Enregistrer sous" Avec la valeur des paramètres du nom de
- fichier si présent.

+Le premier paramètre dans le contexte HTTP est en ligne (valeur par défaut, indiquant qu'il peut être affiché à l'intérieur de la page Web ou en tant que page Web) ou pièce jointe (en indiquant qu'il devrait être téléchargé), la plupart des navigateurs présentant une boîte de dialogue "Enregistrer sous" Avec la valeur des paramètres du nom de +fichier si présent. -
Content-Disposition: inline
-Content-Disposition: attachment
-Content-Disposition: attachment; filename="filename.jpg"
+ Content-Disposition: inline + Content-Disposition: attachment + Content-Disposition: attachment; filename="filename.jpg" -

En tant qu'en-tête pour un corps à plusieurs parties 

+### En tant qu'en-tête pour un corps à plusieurs parties  -

Le premier paramètre dans le contexte HTTP est toujours une donnée de forme. Les paramètres supplémentaires sont insensibles à la casse et ont des arguments, qui utilisent la syntaxe de chaîne cité après le signe '='. Les paramètres multiples sont
- séparés par un point-virgule (';').

+Le premier paramètre dans le contexte HTTP est toujours une donnée de forme. Les paramètres supplémentaires sont insensibles à la casse et ont des arguments, qui utilisent la syntaxe de chaîne cité après le signe '='. Les paramètres multiples sont +séparés par un point-virgule (';'). -
Content-Disposition: form-data Content-Disposition: form-data;
-name="fieldName" Content-Disposition: form-data;
-name="fieldName"; filename="filename.jpg"
+ Content-Disposition: form-data Content-Disposition: form-data; + name="fieldName" Content-Disposition: form-data; + name="fieldName"; filename="filename.jpg" -

Directives

+## Directives -

<name>
- Est suivie d'une chaîne contenant le nom du champ HTML dans la forme dont le contenu de cette sous-partie se réfère. Lorsqu'il s'agit de plusieurs fichiers dans le même champ (par exemple, l'attribut {{htmlattrxref("multiple", "input")}} d'un {{HTMLElement("input","<input type=file>")}} element), il peut y avoir plusieurs sous-parties portant le même nom.

+`` +Est suivie d'une chaîne contenant le nom du champ HTML dans la forme dont le contenu de cette sous-partie se réfère. Lorsqu'il s'agit de plusieurs fichiers dans le même champ (par exemple, l'attribut {{htmlattrxref("multiple", "input")}} d'un {{HTMLElement("input","<input type=file>")}} element), il peut y avoir plusieurs sous-parties portant le même nom. -

Un name avec une valeur de '_charset_' indique que la partie n'est pas un champ HTML, mais le jeu de caractères par défaut à utiliser pour les pièces sans informations de charset explicites.

+Un `name` avec une valeur de `'_charset_'` indique que la partie n'est pas un champ HTML, mais le jeu de caractères par défaut à utiliser pour les pièces sans informations de charset explicites. -

<filename>
- Est suivi d'une chaîne contenant le nom d'origine du fichier transmis. Le nom de fichier est toujours facultatif et ne doit pas être utilisé aveuglément par l'application: l'information du chemin doit être rayée et la conversion aux règles du système de fichiers du serveur doit être effectuée. Ce paramètre fournit principalement des informations indicatives. Lorsqu'il est utilisé en combinaison avec Content-Disposition: attachement, il est utilisé comme nom de fichier par défaut pour une éventuelle boîte de dialogue "Enregistrer sous" présentée à l'utilisateur.

+`` +Est suivi d'une chaîne contenant le nom d'origine du fichier transmis. Le nom de fichier est toujours facultatif et ne doit pas être utilisé aveuglément par l'application: l'information du chemin doit être rayée et la conversion aux règles du système de fichiers du serveur doit être effectuée. Ce paramètre fournit principalement des informations indicatives. Lorsqu'il est utilisé en combinaison avec `Content-Disposition: attachement`, il est utilisé comme nom de fichier par défaut pour une éventuelle boîte de dialogue "Enregistrer sous" présentée à l'utilisateur. -

<filename*>
- Les paramètres filename et filename* diffèrent uniquement en ce que filename* utilise l'encodage défini dans la RFC 5987. Lorsque filename et filename* sont présents dans une seule valeur de champ d'en-tête, filename* est préféré à filename lorsque les deux sont présents et compris.

+`` +Les paramètres `filename` et `filename*` diffèrent uniquement en ce que `filename*` utilise l'encodage défini dans la RFC 5987. Lorsque `filename` et `filename*` sont présents dans une seule valeur de champ d'en-tête, `filename*` est préféré à `filename` lorsque les deux sont présents et compris. -

Exemples

+## Exemples -

Une réponse déclanchant le dialogue "Enregistrer sous":

+Une réponse déclanchant le dialogue "Enregistrer sous": -
200 OK
+```html
+200 OK
 Content-Type: text/html; charset=utf-8
 Content-Disposition: attachment; filename="cool.html"
 Content-Length: 22
 
-<HTML>Enregistrez-moi !</HTML>
-
- -

Ce fichier HTML simple sera sauvegardé en tant que téléchargement régulier plutôt que dans le navigateur. La plupart des navigateurs proposeront de l'enregistrer sous le nom de fichier cool.html (par défaut).

- -

Un exemple de formulaire HTML, publié à l'aide du format multipart / form-data qui utilise l'en-tête Content-Disposition:

- -
POST /test.html HTTP/1.1
-Host: example.org
-Content-Type: multipart/form-data;boundary="boundary"
-
---boundary
-Content-Disposition: form-data; name="field1"
-
-value1
---boundary
-Content-Disposition: form-data; name="field2"; filename="example.txt"
-
-value2
---boundary--
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - -
SpécificationTitre
{{RFC("7578")}}
- Retour des valeurs à partir des formulaires: multipart / form-data
{{RFC("6266")}}
- Utilisation du champ Header Content-Disposition dans le protocole de transfert hypertexte (HTTP)
{{RFC("2183")}}
- Communiquer des informations de présentation dans les messages Internet: le champ de l'en-tête de disposition de contenu
+Enregistrez-moi ! +``` + +Ce fichier HTML simple sera sauvegardé en tant que téléchargement régulier plutôt que dans le navigateur. La plupart des navigateurs proposeront de l'enregistrer sous le nom de fichier `cool.html` (par défaut). + +Un exemple de formulaire HTML, publié à l'aide du format `multipart / form-data` qui utilise l'en-tête `Content-Disposition`: + + POST /test.html HTTP/1.1 + Host: example.org + Content-Type: multipart/form-data;boundary="boundary" + + --boundary + Content-Disposition: form-data; name="field1" + + value1 + --boundary + Content-Disposition: form-data; name="field2"; filename="example.txt" + + value2 + --boundary-- + +## Spécifications + +| Spécification | Titre | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------ | +| {{RFC("7578")}} | Retour des valeurs à partir des formulaires: multipart / form-data | +| {{RFC("6266")}} | Utilisation du champ Header Content-Disposition dans le protocole de transfert hypertexte (HTTP) | +| {{RFC("2183")}} | Communiquer des informations de présentation dans les messages Internet: le champ de l'en-tête de disposition de contenu | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http/headers/content-disposition")}}

+{{Compat("http/headers/content-disposition")}} -

Notes de compatibilité

+## Notes de compatibilité -
    -
  • Firefox 5 gère l'en-tête de réponse HTTP Content-Disposition plus efficacement si les deux paramètres du nom de fichier et du nom de fichier sont fournis. Il examine tous les noms fournis, en utilisant le paramètre * du nom de fichier, s'il est disponible, même si un paramètre de nom de fichier est inclus en premier. Auparavant, le premier paramètre correspondant serait utilisé, empêchant ainsi un nom plus approprié d'être utilisé. Voir {{bug (588781)}}.
  • -
+- Firefox 5 gère l'en-tête de réponse HTTP `Content-Disposition` plus efficacement si les deux paramètres du nom de fichier et du nom de fichier sont fournis. Il examine tous les noms fournis, en utilisant le paramètre \* du nom de fichier, s'il est disponible, même si un paramètre de nom de fichier est inclus en premier. Auparavant, le premier paramètre correspondant serait utilisé, empêchant ainsi un nom plus approprié d'être utilisé. Voir {{bug (588781)}}. -

Voir également

+## Voir également -
    -
  • HTML Forms
  • -
  • {{HTTPHeader("Content-Type")}} définissant la limite du corps multipartie.
  • -
  • L'interface {{domxref("FormData")}} utilisée pour manipuler les données de formulaire à utiliser dans l'API {{domxref("XMLHttpRequest")}}.
  • -
+- [HTML Forms](/en-US/docs/Web/Guide/HTML/Forms) +- {{HTTPHeader("Content-Type")}} définissant la limite du corps multipartie. +- L'interface {{domxref("FormData")}} utilisée pour manipuler les données de formulaire à utiliser dans l'API {{domxref("XMLHttpRequest")}}. diff --git a/files/fr/web/http/headers/content-encoding/index.md b/files/fr/web/http/headers/content-encoding/index.md index 3d52ddfac5..50592fde0f 100644 --- a/files/fr/web/http/headers/content-encoding/index.md +++ b/files/fr/web/http/headers/content-encoding/index.md @@ -7,99 +7,81 @@ tags: - Reference translation_of: Web/HTTP/Headers/Content-Encoding --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête Content-Encoding indique la compression utilisée sur le média contenu dans le corps de la requête. Il permet au client de savoir comment décoder le contenu afin d'obtenir le type de média référencé par l'entête Content-Type.

+L'en-tête **`Content-Encoding`** indique la compression utilisée sur le média contenu dans le corps de la requête. Il permet au client de savoir comment décoder le contenu afin d'obtenir le type de média référencé par l'entête `Content-Type`. -

Il est recommandé de compresser les données autant que possible et donc d'utiliser cet en-tête. Toutefois, certains types de fichiers, comme les images jpeg, sont déjà compressés. Parfois, l'utilisation d'une compression supplémentaire ne réduit pas la taille de la chage utile et peut même la rendre plus longue.

+Il est recommandé de compresser les données autant que possible et donc d'utiliser cet en-tête. Toutefois, certains types de fichiers, comme les images jpeg, sont déjà compressés. Parfois, l'utilisation d'une compression supplémentaire ne réduit pas la taille de la chage utile et peut même la rendre plus longue. - - - - - - - - - - + + + + + + + + + +
Type d'en-têteEn-tête d'entité
Nom d'en-tête interditNon
Type d'en-têteEn-tête d'entité
+ Nom d'en-tête interdit + Non
-

Syntaxe

- -
Content-Encoding: gzip
-Content-Encoding: compress
-Content-Encoding: deflate
-Content-Encoding: identity
-Content-Encoding: br
-
-// Plusieurs valeurs selon l'ordre dans lequel ils ont été appliqués
-Content-Encoding: gzip, identity
-Content-Encoding: deflate, gzip
-
- -

Directives

- -
-
gzip
-
Un format utilisant le codage Lempel-Ziv (LZ77), avec un CRC de 32 bits. Il s'agit du format original pour le programme UNIX gzip. La norme HTTP/1.1 recommande également que les serveurs prenant en charge cet encodage reconnaissent x-gzip comme alias, à des fins de compatibilité.
-
compress
-
Un format utilisant l'algorithme Lempel-Ziv-Welch (LZW). Le nom de la valeur a été tiré du programme de compression UNIX, qui a mis en œuvre cet algorithme. Comme le programme de compression, qui a disparu de la plupart des distributions UNIX, ce codage de contenu n'est pas utilisé par de nombreux navigateurs aujourd'hui, en partie à cause d'un problème de brevet (il a expiré en 2003).
-
deflate
-
Utilisant la structure zlib (définie dans la RFC 1950) avec l'algorithme de compression deflate (défini dans la RFC 1951).
-
identity
-
Indicates the identity function (c'est-à-dire qu'il n'y a eu aucune compression ou modification). Sauf mention contraire, cette valeur est toujours considérée comme acceptable.
-
br
-
Un format utilisant l'algorithme de Brotli.
-
- -

Exemples

- -

Compression avec gzip

- -

Côté client, on peut fournir la liste des mécanismes de compression pris en charge en envoyant l'en-tête {{HTTPHeader("Accept-Encoding")}} lors de la négociation de l'encodage.

- -
Accept-Encoding: gzip, deflate
- -

Le serveur répondra avec le schéma utilisé avec l'en-tête de réponse Content-Encoding.

- -
Content-Encoding: gzip
- -

À noter que le serveur n'est pas obligé d'utiliser de méthode de compression. La compression dépend fortement des paramètres du serveur et des modules de serveur utilisés.

- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - -
SpécificationTitre
{{RFC("7932", "Brotli Compressed Data Format")}}Brotli Compressed Data Format
{{RFC("7231", "Content-Encoding", "3.1.2.2")}}Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
{{RFC("2616", "Content-Encoding", "14.11")}}Content-Encoding
+## Syntaxe + + Content-Encoding: gzip + Content-Encoding: compress + Content-Encoding: deflate + Content-Encoding: identity + Content-Encoding: br + + // Plusieurs valeurs selon l'ordre dans lequel ils ont été appliqués + Content-Encoding: gzip, identity + Content-Encoding: deflate, gzip + +## Directives + +- `gzip` + - : Un format utilisant le [codage Lempel-Ziv](http://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77) (LZ77), avec un CRC de 32 bits. Il s'agit du format original pour le programme UNIX _gzip_. La norme HTTP/1.1 recommande également que les serveurs prenant en charge cet encodage reconnaissent `x-gzip` comme alias, à des fins de compatibilité. +- `compress` + - : Un format utilisant l'algorithme [Lempel-Ziv-Welch](http://en.wikipedia.org/wiki/LZW) (LZW). Le nom de la valeur a été tiré du programme de compression UNIX, qui a mis en œuvre cet algorithme. Comme le programme de compression, qui a disparu de la plupart des distributions UNIX, ce codage de contenu n'est pas utilisé par de nombreux navigateurs aujourd'hui, en partie à cause d'un problème de brevet (il a expiré en 2003). +- `deflate` + - : Utilisant la structure [zlib](http://en.wikipedia.org/wiki/Zlib) (définie dans la [RFC 1950](http://tools.ietf.org/html/rfc1950)) avec l'algorithme de compression _[deflate](http://en.wikipedia.org/wiki/DEFLATE) _(défini dans la [RFC 1951](http://tools.ietf.org/html/rfc1951)). +- `identity` + - : Indicates the identity function (c'est-à-dire qu'il n'y a eu aucune compression ou modification). Sauf mention contraire, cette valeur est toujours considérée comme acceptable. +- `br` + - : Un format utilisant l'algorithme de [Brotli](https://en.wikipedia.org/wiki/Brotli). + +## Exemples + +### Compression avec gzip + +Côté client, on peut fournir la liste des mécanismes de compression pris en charge en envoyant l'en-tête {{HTTPHeader("Accept-Encoding")}} lors de la négociation de l'encodage. + + Accept-Encoding: gzip, deflate + +Le serveur répondra avec le schéma utilisé avec l'en-tête de réponse `Content-Encoding`. + + Content-Encoding: gzip + +À noter que le serveur n'est pas obligé d'utiliser de méthode de compression. La compression dépend fortement des paramètres du serveur et des modules de serveur utilisés. + +## Spécifications + +| Spécification | Titre | +| ---------------------------------------------------------------- | ------------------------------------------------------------- | +| {{RFC("7932", "Brotli Compressed Data Format")}} | Brotli Compressed Data Format | +| {{RFC("7231", "Content-Encoding", "3.1.2.2")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content | +| {{RFC("2616", "Content-Encoding", "14.11")}} | Content-Encoding | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Content-Encoding")}}

+{{Compat("http.headers.Content-Encoding")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Accept-Encoding")}}
  • -
  • {{HTTPHeader("Transfer-Encoding")}}
  • -
+- {{HTTPHeader("Accept-Encoding")}} +- {{HTTPHeader("Transfer-Encoding")}} diff --git a/files/fr/web/http/headers/content-language/index.md b/files/fr/web/http/headers/content-language/index.md index 002c307908..3430f8620e 100644 --- a/files/fr/web/http/headers/content-language/index.md +++ b/files/fr/web/http/headers/content-language/index.md @@ -9,99 +9,92 @@ tags: - Reference translation_of: Web/HTTP/Headers/Content-Language --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête Content-Language  est utilisé pour décrire quels langages sont destinés au public, de sorte que cela permette à l'utilisateur de se différencier en fonction de la langue préférée des utilisateurs.

+L'en-tête **`Content-Language`**  est utilisé pour décrire quels langages sont destinés au public, de sorte que cela permette à l'utilisateur de se différencier en fonction de la langue préférée des utilisateurs. -

Par exemple, si "Content-Language: de-DE" est mis en place, cela signifie que la page est destinée à un public parlant l'allemand (par contre, cela n'indique pas que la page est écrite en allemand. Par exemple, elle pourrait être écrite en anglais dans le cadre d'un cours de langue destiné aux allemands).

+Par exemple, si "`Content-Language: de-DE`" est mis en place, cela signifie que la page est destinée à un public parlant l'allemand (par contre, cela n'indique pas que la page est écrite en allemand. Par exemple, elle pourrait être écrite en anglais dans le cadre d'un cours de langue destiné aux allemands). -

Si l'en-tête Content-Language n'est pas spécifié, par défaut, cela signifie que la page est destinée à tout public de langue. Plusieurs tags de langue sont également possibles, ainsi que la mise en place de l'en-tête Content-Language pour dfférents types de médias, et pas seulement pour les documents texte.

+Si l'en-tête `Content-Language` n'est pas spécifié, par défaut, cela signifie que la page est destinée à tout public de langue. Plusieurs tags de langue sont également possibles, ainsi que la mise en place de l'en-tête `Content-Language` pour dfférents types de médias, et pas seulement pour les documents texte. - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
Type d'en-tête{{Glossary("Entity header")}}
{{Glossary("Forbidden header name")}}Non
{{Glossary("Simple response header", "CORS-safelisted response-header")}}Oui
{{Glossary("Simple header", "CORS-safelisted request-header")}}Oui, avec comme restriction supplémentaire que les valeurs ne peuvent contenir que les caractères 0-9A-Za-z, l'espace ou *,-.;=.
Type d'en-tête{{Glossary("Entity header")}}
{{Glossary("Forbidden header name")}}Non
+ {{Glossary("Simple response header", "CORS-safelisted response-header")}} + Oui
+ {{Glossary("Simple header", "CORS-safelisted request-header")}} + + Oui, avec comme restriction supplémentaire que les valeurs ne peuvent + contenir que les + caractères 0-9A-Za-z, + l'espace ou *,-.;=. +
-

Syntaxe

+## Syntaxe -
Content-Language: de-DE
-Content-Language: en-US
-Content-Language: de-DE, en-CA
-
+ Content-Language: de-DE + Content-Language: en-US + Content-Language: de-DE, en-CA -

Directives

+## Directives -
-
language-tag
-
Plusieurs tags de langue sont séparés par paragraphe. Chaque tag de langue est une séquence d'un ou plusieurs sous-tags insensibles à la casse, chacun séparé par un tiret ("-", %x2D). Dans la plupart des cas, un tag de langue se compose d'un sous-tag de langue principal qui identifie une large famille de langues connexes (par exemple, «en» = anglais), suivi éventuellement d'une série de sous-tags qui affinent ou réduisent la variété de langue. (par exemple, "en-CA" = la variété d'anglais telle que communiquée au Canada).
-
+- `language-tag` + - : Plusieurs tags de langue sont séparés par paragraphe. Chaque tag de langue est une séquence d'un ou plusieurs sous-tags insensibles à la casse, chacun séparé par un tiret ("`-`", `%x2D`). Dans la plupart des cas, un tag de langue se compose d'un sous-tag de langue principal qui identifie une large famille de langues connexes (par exemple, «en» = anglais), suivi éventuellement d'une série de sous-tags qui affinent ou réduisent la variété de langue. (par exemple, "en-CA" = la variété d'anglais telle que communiquée au Canada). -
-

Note : Les tags de langues sont formellement définis dans la RFC 5646, qui repose sur la norme ISO 639 (très souvent la liste de codes ISO 639-1) pour les codes de langue à utiliser.

-
+> **Note :** Les tags de langues sont formellement définis dans la RFC 5646, qui repose sur la norme ISO 639 (très souvent la liste de codes ISO 639-1) pour les codes de langue à utiliser. -

Exemples

+## Exemples -

Indiquer la langue dans laquelle un document est écrit

+### Indiquer la langue dans laquelle un document est écrit -

L'attribut global lang est utilisé sur des éléments HTML pour indiquer la langue d'une page HTML entière ou une partie de celle-ci.

+L'attribut global [`lang`](/fr/docs/Web/HTML/Global_attributes/lang) est utilisé sur des éléments HTML pour indiquer la langue d'une page HTML entière ou une partie de celle-ci. -
<html lang="de">
+```html + +``` -

N'utilisez pas le meta tag comme ceci pour déclarer la langue d'un document:

+**N'utilisez pas** le meta tag comme ceci pour déclarer la langue d'un document: -
<!-- /!\ C'est une mauvaise pratique -->
-<meta http-equiv="content-language" content="de">
+```html example-bad + + +``` -

Indiquer un public cible pour une ressource

+### Indiquer un public cible pour une ressource -

L'en-tête Content-Language est utilisé pour spécifier le public destiné à la page, et peut indiquer si cela est plus qu'une seule langue.

+L'en-tête `Content-Language` est utilisé pour spécifier le public destiné à la page, et peut indiquer si cela est plus qu'une seule langue. -
Content-Language: de, en
+ Content-Language: de, en -

Spécifications

+## Spécifications - - - - - - - - - - - -
SpécificationTitre
{{RFC("7231", "Content-Language", "3.1.3.2")}}Hypertext Transfer Protocol (HTTP/1.1): Sémantiques et Contenu
+| Spécification | Titre | +| ------------------------------------------------------------ | -------------------------------------------------------------- | +| {{RFC("7231", "Content-Language", "3.1.3.2")}} | Hypertext Transfer Protocol (HTTP/1.1): Sémantiques et Contenu | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Content-Language")}}

+{{Compat("http.headers.Content-Language")}} -

Voir également

+## Voir également - +- {{HTTPHeader("Accept-Language")}} +- [HTTP headers, meta elements and language information](https://www.w3.org/International/questions/qa-http-and-lang.en) +- [HTML `lang` attribute](/fr/docs/Web/HTML/Global_attributes/lang) diff --git a/files/fr/web/http/headers/content-length/index.md b/files/fr/web/http/headers/content-length/index.md index 91f5d30ca8..f781431ef7 100644 --- a/files/fr/web/http/headers/content-length/index.md +++ b/files/fr/web/http/headers/content-length/index.md @@ -7,56 +7,42 @@ tags: - header translation_of: Web/HTTP/Headers/Content-Length --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête (header) Content-Length indique la taille en octets (exprimée en base 10) du corps de la réponse envoyée au client.

+L'en-tête (_header_) **`Content-Length`** indique la taille en octets (exprimée en base 10) du corps de la réponse envoyée au client. - - - - - - - - - - + + + + + + + + + +
Type d'en-tête{{Glossary("Entity header")}}
{{Glossary("Forbidden header name")}}oui
Type d'en-tête{{Glossary("Entity header")}}
{{Glossary("Forbidden header name")}}oui
-

Syntaxe

+## Syntaxe -
Content-Length: <longueur>
-
+ Content-Length: -

Directives

+## Directives -
-
<longueur>
-
La longueur en octet (en base 10).
-
+- \ + - : La longueur en octet (en base 10). -

Spécifications

+## Spécifications - - - - - - - - - - - -
SpécificationTitre
{{RFC("7230", "Content-Length", "3.3.2")}}Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
+| Spécification | Titre | +| -------------------------------------------------------- | ------------------------------------------------------------------ | +| {{RFC("7230", "Content-Length", "3.3.2")}} | Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http/headers/content-length")}}

+{{Compat("http/headers/content-length")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Transfer-Encoding")}}
  • -
+- {{HTTPHeader("Transfer-Encoding")}} diff --git a/files/fr/web/http/headers/content-security-policy-report-only/index.md b/files/fr/web/http/headers/content-security-policy-report-only/index.md index 7524dab5f1..50efce60fb 100644 --- a/files/fr/web/http/headers/content-security-policy-report-only/index.md +++ b/files/fr/web/http/headers/content-security-policy-report-only/index.md @@ -12,100 +12,99 @@ tags: - header translation_of: Web/HTTP/Headers/Content-Security-Policy-Report-Only --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête de réponse HTTP Content-Security-Policy-Report-Only permet aux développeurs web d'expérimenter avec les règles CSP en contrôlant leur application sans bloquer de contenu. Ces rapports de violations sont constitués d'un document {{Glossary("JSON")}} envoyé via une requête HTTP POST à l'URI spécifiée.

+L'en-tête de réponse HTTP **`Content-Security-Policy-Report-Only`** permet aux développeurs web d'expérimenter avec les règles CSP en contrôlant leur application sans bloquer de contenu. Ces rapports de violations sont constitués d'un document {{Glossary("JSON")}} envoyé via une requête HTTP `POST` à l'URI spécifiée. -

Pour plus d'informations, voir aussi cet article sur les Content Security Policy (CSP).

+Pour plus d'informations, voir aussi cet article sur les [Content Security Policy (CSP)](/en-US/docs/Web/HTTP/CSP). - - - - - - - - - - - - - + + + + + + + + + + + + +
Type d'en-tête{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}non
Cet en-tête n'est pas supporté au sein d'un élément {{HTMLElement("meta")}}.
Type d'en-tête{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}non
+ Cet en-tête n'est pas supporté au sein d'un élément + {{HTMLElement("meta")}}. +
-

Syntaxe

+## Syntaxe -
Content-Security-Policy-Report-Only: <policy-directive>; <policy-directive>
-
+ Content-Security-Policy-Report-Only: ; -

Directives

+## Directives -

Les directives de l'en-tête {{HTTPHeader("Content-Security-Policy")}} peuvent aussi être appliquées à l'en-tête Content-Security-Policy-Report-Only.

+Les directives de l'en-tête {{HTTPHeader("Content-Security-Policy")}} peuvent aussi être appliquées à l'en-tête `Content-Security-Policy-Report-Only`. -

La directive CSP {{CSP("report-uri")}} doit être utilisée avec celui-ci, ou définir cet en-tête ne servirait à rien puisqu'aucun rapport ne serait envoyé.

+La directive CSP {{CSP("report-uri")}} doit être utilisée avec celui-ci, ou définir cet en-tête ne servirait à rien puisqu'aucun rapport ne serait envoyé. -

Exemples

+## Exemples -

Cet en-tête rapporte les violations qui seront constatées. Vous pouvez l'utiliser pour améliorer vos CSP. Vous pouvez observer comment votre site fonctionne en consultant les rapports ou redirections malicieuses, puis choisir les règles voulues pour bloquer le contenu avec l'en-tête {{HTTPHeader("Content-Security-Policy")}}.

+Cet en-tête rapporte les violations qui seront constatées. Vous pouvez l'utiliser pour améliorer vos CSP. Vous pouvez observer comment votre site fonctionne en consultant les rapports ou [redirections malicieuses](https://secure.wphackedhelp.com/blog/wordpress-malware-redirect-hack-cleanup/), puis choisir les règles voulues pour bloquer le contenu avec l'en-tête {{HTTPHeader("Content-Security-Policy")}}. -
Content-Security-Policy-Report-Only: default-src https:; report-uri /csp-violation-report-endpoint/
+ Content-Security-Policy-Report-Only: default-src https:; report-uri /csp-violation-report-endpoint/ -

Si vous voulez toujours recevoir des rapports, mais aussi imposer des règles, utilisez l'en-tête {{HTTPHeader("Content-Security-Policy")}} avec la directive {{CSP("report-uri")}}.

+Si vous voulez toujours recevoir des rapports, mais aussi imposer des règles, utilisez l'en-tête {{HTTPHeader("Content-Security-Policy")}} avec la directive {{CSP("report-uri")}}. -
Content-Security-Policy: default-src https:; report-uri /csp-violation-report-endpoint/
+ Content-Security-Policy: default-src https:; report-uri /csp-violation-report-endpoint/ -

Syntaxe d'un rapport de violation

+## Syntaxe d'un rapport de violation -

L'objet de rapport JSON contient les informations suivantes :

+L'objet de rapport JSON contient les informations suivantes : -
-
blocked-uri
-
L'URI de la ressource dont le chargement a été bloqué par les règles Content Security Policy. Si l'URI bloquée est d'une origine différente que celle du document (document-uri), alors l'URI bloquée est tronquée pour contenir uniquement le schéma, l'hôte et le port.
-
disposition
-
Soit "enforce", soit "report", selon que l'en-tête qui a déclenché l'envoi du rapport est {{HTTPHeader("Content-Security-Policy")}} ou Content-Security-Policy-Report-Only.
-
document-uri
-
L'URI du document dans lequel la violation a eu lieu.
-
effective-directive
-
La directive qui a causé la violation.
-
original-policy
-
La règle originale telle que spécifiée par l'en-tête Content-Security-Policy-Report-Only.
-
referrer
-
Le référent du document dans lequel la violation a eu lieu.
-
script-sample
-
Les 40 premiers caractères du script embarqué, du gestionnaire d'évènements par attribut ou de la feuille de style qui a causé la violation.
-
status-code
-
Le code de statut HTTP de la ressource sur laquelle l'objet global a été instancié.
-
violated-directive
-
Le nom de la directive qui a été violée.
-
+- `blocked-uri` + - : L'URI de la ressource dont le chargement a été bloqué par les règles Content Security Policy. Si l'URI bloquée est d'une origine différente que celle du document (`document-uri`), alors l'URI bloquée est tronquée pour contenir uniquement le schéma, l'hôte et le port. +- `disposition` + - : Soit `"enforce"`, soit `"report"`, selon que l'en-tête qui a déclenché l'envoi du rapport est {{HTTPHeader("Content-Security-Policy")}} ou `Content-Security-Policy-Report-Only`. +- `document-uri` + - : L'URI du document dans lequel la violation a eu lieu. +- `effective-directive` + - : La directive qui a causé la violation. +- `original-policy` + - : La règle originale telle que spécifiée par l'en-tête `Content-Security-Policy-Report-Only`. +- `referrer` + - : Le référent du document dans lequel la violation a eu lieu. +- `script-sample` + - : Les 40 premiers caractères du script embarqué, du gestionnaire d'évènements par attribut ou de la feuille de style qui a causé la violation. +- `status-code` + - : Le code de statut HTTP de la ressource sur laquelle l'objet global a été instancié. +- `violated-directive` + - : Le nom de la directive qui a été violée. -

Extrait de rapport de violation

+## Extrait de rapport de violation -
Considérons une page à l'adresse http://example.com/signup.html. Elle utilise la règle CSP suivante, interdisant tout excepté les feuilles de styles chargées depuis cdn.example.com.
+Considérons une page à l'adresse `http://example.com/signup.html`. Elle utilise la règle CSP suivante, interdisant tout excepté les feuilles de styles chargées depuis `cdn.example.com`. -
-
Content-Security-Policy-Report-Only: default-src 'none'; style-src cdn.example.com; report-uri /_/csp-reports
-
+ Content-Security-Policy-Report-Only: default-src 'none'; style-src cdn.example.com; report-uri /_/csp-reports -
La page HTML correspondant à l'adresse signup.html ressemble à :
+La page HTML correspondant à l'adresse `signup.html` ressemble à : -
<!DOCTYPE html>
-<html>
-  <head>
-    <title>Sign Up</title>
-    <link rel="stylesheet" href="css/style.css">
-  </head>
-  <body>
+```html
+
+
+  
+    Sign Up
+    
+  
+  
     ... Content ...
-  </body>
-</html>
+ + +``` -
Avez-vous identifié une violation ?
+Avez-vous identifié une violation ?Les feuilles de styles ne sont acceptées que si elles sont chargées depuis `cdn.example.com`, et pourtant le site tente d'en charger une depuis sa propre origine (`http://example.com`). Un navigateur capable d'imposer des règles CSP enverra le rapport de violation suivant sous la forme d'une requête POST à l'adresse `http://example.com/_/csp-reports` quand la page sera visitée : -
Les feuilles de styles ne sont acceptées que si elles sont chargées depuis cdn.example.com, et pourtant le site tente d'en charger une depuis sa propre origine (http://example.com). Un navigateur capable d'imposer des règles CSP enverra le rapport de violation suivant sous la forme d'une requête POST à l'adresse http://example.com/_/csp-reports quand la page sera visitée :
- -
{
+```js
+{
   "csp-report": {
     "document-uri": "http://example.com/signup.html",
     "referrer": "",
@@ -114,43 +113,25 @@ translation_of: Web/HTTP/Headers/Content-Security-Policy-Report-Only
     "original-policy": "default-src 'none'; style-src cdn.example.com; report-uri /_/csp-reports",
     "disposition": "report"
   }
-}
- -

Comme vous le voyez, la rapport inclut le chemin complet de la ressource à l'origine de la violaton dans la propriété blocked-uri. Ce n'est pas toujours le cas. Par exemple, quand la page signup.html essaiera de charger un CSS depuis http://anothercdn.example.com/stylesheet.css, le navigateur n'inclura pas le chemin complet mais seulement son origine (http://anothercdn.example.com). Cela est fait pour empêcher les fuites d'informations sensibles à propos de ressources externes.

- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{specName("CSP 3.0")}}{{Spec2('CSP 3.0')}}Inchangé.
{{specName("CSP 1.1")}}{{Spec2('CSP 1.1')}}Définition initiale.
+} +``` + +Comme vous le voyez, la rapport inclut le chemin complet de la ressource à l'origine de la violaton dans la propriété `blocked-uri`. Ce n'est pas toujours le cas. Par exemple, quand la page `signup.html` essaiera de charger un CSS depuis `http://anothercdn.example.com/stylesheet.css`, le navigateur n'inclura pas le chemin complet mais seulement son origine (`http://anothercdn.example.com`). Cela est fait pour empêcher les fuites d'informations sensibles à propos de ressources externes. + +## Spécifications + +| Spécification | Statut | Commentaire | +| -------------------------------- | ---------------------------- | -------------------- | +| {{specName("CSP 3.0")}} | {{Spec2('CSP 3.0')}} | Inchangé. | +| {{specName("CSP 1.1")}} | {{Spec2('CSP 1.1')}} | Définition initiale. | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Content-Security-Policy-Report-Only")}}

+{{Compat("http.headers.Content-Security-Policy-Report-Only")}} -

Voir aussi

+## Voir aussi - +- {{HTTPHeader("Content-Security-Policy")}} +- CSP {{CSP("report-uri")}} directive +- [Content Security in WebExtensions](/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy) +- [Display security and privacy policies In Firefox Developer Tools](/en-US/docs/Tools/GCLI/Display_security_and_privacy_policies) diff --git a/files/fr/web/http/headers/content-security-policy/base-uri/index.md b/files/fr/web/http/headers/content-security-policy/base-uri/index.md index 714cfb2f7b..87d7c5c3a4 100644 --- a/files/fr/web/http/headers/content-security-policy/base-uri/index.md +++ b/files/fr/web/http/headers/content-security-policy/base-uri/index.md @@ -12,98 +12,88 @@ tags: - source translation_of: Web/HTTP/Headers/Content-Security-Policy/base-uri --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) base-uri restreint les URL qui peuvent être utilisées comme valeur d'un élément {{HTMLElement("base")}}. Si cette valeur est absente, alors toutes les adresses sont autorisées. Si cette directive est absente, l'agent utilisateur va utiliser la valeur dans l'élément {{HTMLElement("base")}}.

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`base-uri`** restreint les URL qui peuvent être utilisées comme valeur d'un élément {{HTMLElement("base")}}. Si cette valeur est absente, alors toutes les adresses sont autorisées. Si cette directive est absente, l'agent utilisateur va utiliser la valeur dans l'élément {{HTMLElement("base")}}. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Version de CSP2
Type de directive{{Glossary("Document directive")}}
{{CSP("default-src")}} par défautNon, ne pas la définir autorise toutes les URL
Version de CSP2
Type de directive{{Glossary("Document directive")}}
{{CSP("default-src")}} par défautNon, ne pas la définir autorise toutes les URL
-

Syntaxe

+## Syntaxe -

Une ou plusieurs sources peuvent être autorisées pour cette directive :

+Une ou plusieurs _sources_ peuvent être autorisées pour cette directive : -
Content-Security-Policy: base-uri <source>;
-Content-Security-Policy: base-uri <source> <source>;
-
+ Content-Security-Policy: base-uri ; + Content-Security-Policy: base-uri ; -

Sources

+### Sources -

Bien que cette directive utilise les mêmes arguments que d'autres directives CSP, certains d'entre eux n'ont pas de sens concernant l'élément {{HTMLElement("base")}}, comme les valeurs 'unsafe-inline' et 'strict-dynamic'

+Bien que cette directive utilise les mêmes arguments que d'autres directives CSP, certains d'entre eux n'ont pas de sens concernant l'élément {{HTMLElement("base")}}, comme les valeurs `'unsafe-inline'` et `'strict-dynamic'` -

{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}

+{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}} -

Exemples

+## Exemples -

Configuration par balise <meta>

+### Configuration par balise \ -
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'">
+```html + +``` -

Configuration par Apache

+### Configuration par Apache -
<IfModule mod_headers.c>
+```bash
+
 Header set Content-Security-Policy "base-uri 'self'";
-</IfModule>
+ +``` -

Configuration par Nginx

+### Configuration par Nginx -
add_header Content-Security-Policy "base-uri 'self';"
+```bash +add_header Content-Security-Policy "base-uri 'self';" +``` -

Cas de violation

+### Cas de violation -

À partir du moment où votre domaine n'est pas example.com, un élément {{HTMLElement("base")}} avec son attribut href défini à https://example.com résultera en une violation de CSP.

+À partir du moment où votre domaine n'est pas `example.com`, un élément {{HTMLElement("base")}} avec son attribut `href` défini à `https://example.com` résultera en une violation de CSP. -
<meta http-equiv="Content-Security-Policy" content="base-uri 'self'">
-<base href="https://example.com/">
+```html example-bad
+
+
 
 // Error: Refused to set the document's base URI to 'https://example.com/'
 // because it violates the following Content Security Policy
-// directive: "base-uri 'self'"
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{specName("CSP 3.0", "#directive-base-uri", "base-uri")}}{{Spec2('CSP 3.0')}}Inchangé.
{{specName("CSP 1.1", "#directive-base-uri", "base-uri")}}{{Spec2('CSP 1.1')}}Définition initiale.
+// directive: "base-uri 'self'" +``` + +## Spécifications + +| Spécification | Statut | Commentaire | +| ---------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{specName("CSP 3.0", "#directive-base-uri", "base-uri")}} | {{Spec2('CSP 3.0')}} | Inchangé. | +| {{specName("CSP 1.1", "#directive-base-uri", "base-uri")}} | {{Spec2('CSP 1.1')}} | Définition initiale. | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.csp.base-uri")}}

+{{Compat("http.headers.csp.base-uri")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPheader("Content-Security-Policy")}}
  • -
  • {{HTMLElement("base")}}
  • -
  • {{domxref("Node.baseURI")}}
  • -
+- {{HTTPheader("Content-Security-Policy")}} +- {{HTMLElement("base")}} +- {{domxref("Node.baseURI")}} diff --git a/files/fr/web/http/headers/content-security-policy/block-all-mixed-content/index.md b/files/fr/web/http/headers/content-security-policy/block-all-mixed-content/index.md index 92897ebaf9..02b2d4f27a 100644 --- a/files/fr/web/http/headers/content-security-policy/block-all-mixed-content/index.md +++ b/files/fr/web/http/headers/content-security-policy/block-all-mixed-content/index.md @@ -13,56 +13,40 @@ tags: - block-all-mixed-content translation_of: Web/HTTP/Headers/Content-Security-Policy/block-all-mixed-content --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) block-all-mixed-content bloque le chargement de ressources via HTTP lorsque la page utilise HTTPS.

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`block-all-mixed-content`** bloque le chargement de ressources via HTTP lorsque la page utilise HTTPS. -

Toutes les requêtes vers des contenus mixtes sont alors bloquées, y compris les ressources actives et passives. Cela s'applique aussi aux documents {{HTMLElement("iframe")}}, assurant que la page est complètement protégée contre les contenus mixtes.

+Toutes les requêtes vers des [contenus mixtes](/fr/docs/Sécurité/MixedContent) sont alors bloquées, y compris les ressources actives et passives. Cela s'applique aussi aux documents {{HTMLElement("iframe")}}, assurant que la page est complètement protégée contre les contenus mixtes. -
-

Note : La directive {{CSP("upgrade-insecure-requests")}} est évaluée avant block-all-mixed-content. Si elle est définie, alors block-all-mixed-content n'est pas nécessaire, à moins que vous souhaitiez forcer HTTPS sur les anciens navigateurs qui ne le font pas après une redirection vers HTTP.

-
+> **Note :** La directive {{CSP("upgrade-insecure-requests")}} est évaluée avant `block-all-mixed-content`. Si elle est définie, alors `block-all-mixed-content` n'est pas nécessaire, à moins que vous souhaitiez forcer HTTPS sur les anciens navigateurs qui ne le font pas après une redirection vers HTTP. -

Syntaxe

+## Syntaxe -
Content-Security-Policy: block-all-mixed-content;
+ Content-Security-Policy: block-all-mixed-content; -

Exemples

+## Exemples -
Content-Security-Policy: block-all-mixed-content;
+    Content-Security-Policy: block-all-mixed-content;
 
-<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
-
+ -

Pour interdire l'usage de HTTP de manière plus fine, vous pouvez aussi configurer individuellement chaque directive sur https:. Par exemple, pour interdire les images HTTP non sécurisées :

+Pour interdire l'usage de HTTP de manière plus fine, vous pouvez aussi configurer individuellement chaque directive sur `https:`. Par exemple, pour interdire les images HTTP non sécurisées : -
Content-Security-Policy: img-src https:
+ Content-Security-Policy: img-src https: -

Spécifications

+## Spécifications - - - - - - - - - - - - - -
SpecificationStatutCommentaire
{{specName("Mixed Content", "#block-all-mixed-content", "block-all-mixed-content")}}{{Spec2('Mixed Content')}}Définition initiale.
+| Specification | Statut | Commentaire | +| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -------------------- | +| {{specName("Mixed Content", "#block-all-mixed-content", "block-all-mixed-content")}} | {{Spec2('Mixed Content')}} | Définition initiale. | -

Compatibilités navigateurs

+## Compatibilités navigateurs -

{{Compat("http.headers.csp.block-all-mixed-content")}}

+{{Compat("http.headers.csp.block-all-mixed-content")}} -

Voir également

+## Voir également -
    -
  • {{HTTPHeader("Content-Security-Policy")}}
  • -
  • {{CSP("upgrade-insecure-requests")}}
  • -
  • Mixed content
  • -
+- {{HTTPHeader("Content-Security-Policy")}} +- {{CSP("upgrade-insecure-requests")}} +- [Mixed content](/en-US/docs/Web/Security/Mixed_content) diff --git a/files/fr/web/http/headers/content-security-policy/child-src/index.md b/files/fr/web/http/headers/content-security-policy/child-src/index.md index 8cf2d1ab7a..6e2c72d712 100644 --- a/files/fr/web/http/headers/content-security-policy/child-src/index.md +++ b/files/fr/web/http/headers/content-security-policy/child-src/index.md @@ -14,85 +14,74 @@ tags: - source translation_of: Web/HTTP/Headers/Content-Security-Policy/child-src --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) child-src définit les sources valides de web workers et de contextes de navigations imbriqués chargés au moyen d'éléments tels que {{HTMLElement("frame")}} et {{HTMLElement("iframe")}}. Pour les workers, les requêtes conformes sont traitées comme des erreurs de réseau fatales par l'agent utilisateur.

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`child-src`** définit les sources valides de [web workers](/en-US/docs/Web/API/Web_Workers_API) et de contextes de navigations imbriqués chargés au moyen d'éléments tels que {{HTMLElement("frame")}} et {{HTMLElement("iframe")}}. Pour les workers, les requêtes conformes sont traitées comme des erreurs de réseau fatales par l'agent utilisateur. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Version de CSP2
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défautOui, si cette directive est absente, l'agent utilisateur consultera la directive default-src
Version de CSP2
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défaut + Oui, si cette directive est absente, l'agent utilisateur consultera la + directive default-src +
-

Syntaxe

+## Syntaxe -

Une ou plusieurs sources peuvent être autorisées pour cette directive :

+Une ou plusieurs sources peuvent être autorisées pour cette directive : -
Content-Security-Policy: child-src <source>;
-Content-Security-Policy: child-src <source> <source>;
-
+ Content-Security-Policy: child-src ; + Content-Security-Policy: child-src ; -

Sources

+### Sources -

{{page("Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}}

+{{page("Web/HTTP/Headers/Content-Security-Policy/connect-src", "Sources")}} -

Exemples

+## Exemples -

Cas de violation

+### Cas de violation -

Soit cet en-tête CSP :

+Soit cet en-tête CSP : -
Content-Security-Policy: child-src https://example.com/
+```bash +Content-Security-Policy: child-src https://example.com/ +``` -

Cet {{HTMLElement("iframe")}} et ce worker seront bloqués et ne se chargeront pas :

+Cet {{HTMLElement("iframe")}} et ce worker seront bloqués et ne se chargeront pas : -
<iframe src="https://not-example.com"></iframe>
+```html
+
 
-<script>
+
+```
+
+## Spécifications
+
+| Spécification                                                                    | Statut                       | Commentaire          |
+| -------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
+| {{specName("CSP 3.0", "#directive-child-src", "child-src")}} | {{Spec2('CSP 3.0')}} | Inchangé.            |
+| {{specName("CSP 1.1", "#directive-child-src", "child-src")}} | {{Spec2('CSP 1.1')}} | Définition initiale. |
 
-

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.csp.Content-Security-Policy.child-src")}}

+{{Compat("http.headers.csp.Content-Security-Policy.child-src")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Content-Security-Policy")}}
  • -
  • {{HTMLElement("frame")}} and {{HTMLElement("iframe")}}
  • -
  • {{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}}
  • -
+- {{HTTPHeader("Content-Security-Policy")}} +- {{HTMLElement("frame")}} and {{HTMLElement("iframe")}} +- {{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}} diff --git a/files/fr/web/http/headers/content-security-policy/connect-src/index.md b/files/fr/web/http/headers/content-security-policy/connect-src/index.md index 845f46f7b0..35179b9411 100644 --- a/files/fr/web/http/headers/content-security-policy/connect-src/index.md +++ b/files/fr/web/http/headers/content-security-policy/connect-src/index.md @@ -13,65 +13,66 @@ tags: - source translation_of: Web/HTTP/Headers/Content-Security-Policy/connect-src --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) connect-src restreint les URL qui peuvent être chargées en utilisant des interfaces de programmation. Les API qui sont affectées sont :

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`connect-src`** restreint les URL qui peuvent être chargées en utilisant des interfaces de programmation. Les API qui sont affectées sont : -
    -
  • {{HTMLElement("a")}} {{htmlattrxref("ping", "a")}},
  • -
  • {{domxref("Fetch")}},
  • -
  • {{domxref("XMLHttpRequest")}},
  • -
  • {{domxref("WebSocket")}},
  • -
  • {{domxref("EventSource")}}, and
  • -
  • {{domxref("Navigator.sendBeacon()")}}.
  • -
+- {{HTMLElement("a")}} {{htmlattrxref("ping", "a")}}, +- {{domxref("Fetch")}}, +- {{domxref("XMLHttpRequest")}}, +- {{domxref("WebSocket")}}, +- {{domxref("EventSource")}}, and +- {{domxref("Navigator.sendBeacon()")}}. -
-

Note : connect-src 'self' ne s'applique pas aux schémas de websocket pour tous les navigateurs. Pour plus d'informations, consulter : https://github.com/w3c/webappsec-csp/issues/7.

-
+> **Note :** `connect-src 'self'` ne s'applique pas aux schémas de websocket pour tous les navigateurs. Pour plus d'informations, consulter : . - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Version de CSP1
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défautOui, si cette directive est absente, l'agent utilisateur consultera la directive default-src
Version de CSP1
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défaut + Oui, si cette directive est absente, l'agent utilisateur consultera la + directive default-src +
-

Syntaxe

+## Syntaxe -

Une ou plusieurs sources peuvent être autorisées pour cette directive :

+Une ou plusieurs sources peuvent être autorisées pour cette directive : -
Content-Security-Policy: connect-src <source>;
-Content-Security-Policy: connect-src <source> <source>;
-
+ Content-Security-Policy: connect-src ; + Content-Security-Policy: connect-src ; -

Sources

+### Sources -

{{page("/fr/docs/Web/HTTP/Headers/Content-Security-Policy/default-src", "common_sources")}}

+{{page("/fr/docs/Web/HTTP/Headers/Content-Security-Policy/default-src", "common_sources")}} -

Exemples

+## Exemples -

Cas de violation

+### Cas de violation -

Soit cet en-tête CSP :

+Soit cet en-tête CSP : -
Content-Security-Policy: connect-src https://example.com/
+```bash +Content-Security-Policy: connect-src https://example.com/ +``` -

Les connexions suivantes seront bloquées et ne se chargeront pas :

+Les connexions suivantes seront bloquées et ne se chargeront pas : -
<a ping="https://not-example.com">
+```html
+
 
-<script>
+
+```
+
+## Spécifications
+
+| Spécification                                                                        | Statut                       | Commentaire          |
+| ------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{specName("CSP 3.0", "#directive-connect-src", "connect-src")}} | {{Spec2('CSP 3.0')}} | Inchangé.            |
+| {{specName("CSP 1.1", "#directive-connect-src", "connect-src")}} | {{Spec2('CSP 1.1')}} | Définition initiale. |
 
-

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.csp.Content-Security-Policy.connect-src")}}

+{{Compat("http.headers.csp.Content-Security-Policy.connect-src")}} -

Notes de compatibilité

+## Notes de compatibilité -
    -
  • Avant Firefox 23, xhr-src était utilisé en lieu et place de la directive connect-src et ne s'appliquait qu'à l'API {{domxref("XMLHttpRequest")}}.
  • -
+- Avant Firefox 23, `xhr-src` était utilisé en lieu et place de la directive `connect-src` et ne s'appliquait qu'à l'API {{domxref("XMLHttpRequest")}}. -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Content-Security-Policy")}}
  • -
  • {{HTMLElement("a")}} {{htmlattrxref("ping", "a")}}
  • -
  • {{domxref("Fetch")}}
  • -
  • {{domxref("XMLHttpRequest")}}
  • -
  • {{domxref("WebSocket")}}
  • -
  • {{domxref("EventSource")}}
  • -
+- {{HTTPHeader("Content-Security-Policy")}} +- {{HTMLElement("a")}} {{htmlattrxref("ping", "a")}} +- {{domxref("Fetch")}} +- {{domxref("XMLHttpRequest")}} +- {{domxref("WebSocket")}} +- {{domxref("EventSource")}} diff --git a/files/fr/web/http/headers/content-security-policy/default-src/index.md b/files/fr/web/http/headers/content-security-policy/default-src/index.md index 9f2d9d6cb8..ac8590e5ce 100644 --- a/files/fr/web/http/headers/content-security-policy/default-src/index.md +++ b/files/fr/web/http/headers/content-security-policy/default-src/index.md @@ -14,108 +14,105 @@ tags: - source translation_of: Web/HTTP/Headers/Content-Security-Policy/default-src --- -
{{HTTPSidebar}}
- -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) default-src sert de valeur par défaut pour les autres directives CSP {{Glossary("fetch directive", "fetch directives")}}.

- -

Pour chacune des directives suivantes, l'agent utilisateur consultera la directive default-src et utilisera sa valeur pour la directive demandée si celle-ci est absente :

- -
    -
  • {{CSP("child-src")}}
  • -
  • {{CSP("connect-src")}}
  • -
  • {{CSP("font-src")}}
  • -
  • {{CSP("frame-src")}}
  • -
  • {{CSP("img-src")}}
  • -
  • {{CSP("manifest-src")}}
  • -
  • {{CSP("media-src")}}
  • -
  • {{CSP("object-src")}}
  • -
  • {{CSP("prefetch-src")}}
  • -
  • {{CSP("script-src")}}
  • -
  • {{CSP("script-src-elem")}}
  • -
  • {{CSP("script-src-attr")}}
  • -
  • {{CSP("style-src")}}
  • -
  • {{CSP("style-src-elem")}}
  • -
  • {{CSP("style-src-attr")}}
  • -
  • {{CSP("worker-src")}}
  • -
+{{HTTPSidebar}} + +La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`default-src`** sert de valeur par défaut pour les autres directives CSP {{Glossary("fetch directive", "fetch directives")}}. + +Pour chacune des directives suivantes, l'agent utilisateur consultera la directive `default-src` et utilisera sa valeur pour la directive demandée si celle-ci est absente : + +- {{CSP("child-src")}} +- {{CSP("connect-src")}} +- {{CSP("font-src")}} +- {{CSP("frame-src")}} +- {{CSP("img-src")}} +- {{CSP("manifest-src")}} +- {{CSP("media-src")}} +- {{CSP("object-src")}} +- {{CSP("prefetch-src")}} +- {{CSP("script-src")}} +- {{CSP("script-src-elem")}} +- {{CSP("script-src-attr")}} +- {{CSP("style-src")}} +- {{CSP("style-src-elem")}} +- {{CSP("style-src-attr")}} +- {{CSP("worker-src")}} - - - - - - - - - - + + + + + + + + + +
Version de CSP1
Type de directive{{Glossary("Fetch directive")}}
Version de CSP1
Type de directive{{Glossary("Fetch directive")}}
-

Syntaxe

- -

Une ou plusieurs sources peuvent être autorisées pour cette directive :

- -
Content-Security-Policy: default-src <source>;
-Content-Security-Policy: default-src <source> <source>;
-
- -

Sources

- -

La <source> peut être une des suivantes :

- -
-
<host-source>
-
Des hôtes Internet par leur nom de domaine ou adresse IP, aussi bien qu'un protocole et/ou un numéro de port. L'adresse du site peut inclure un caractère de remplacement optionnel (l'astérisque '*'), qui ne peut être utilisée que pour indiquer un sous-domaine ou que tous les ports existants sont des sources valides.
- Exemples: -
    -
  • http://*.example.com: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com via le protocole http:.
  • -
  • mail.example.com:443: correspondra à toutes les tentatives d'accès sur le port 443 de mail.example.com.
  • -
  • https://store.example.com: correspondra à toutes les tentatives d'accès à store.example.com via le protocole https:.
  • -
  • *.example.com: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com en utilisant le protocole courant.
  • -
-
-
<scheme-source>
-
Un protocole tel que http: ou https:. Les deux-points sont nécessaires. Contrairement à d'autres valeurs ci-bas, les guillemets ne devraient pas être employés. Vous pouvez aussi spécifier des schémas de données (quoi que ce ne soit pas recommandé). -
    -
  • data: permet aux URI data: d'être utilisées comme sources de contenu. Cette pratique manque de sécurité ; une personne malveillante peut aussi injecter des URI data: arbitraires. Utilisez cette valeur avec parcimonie certainement pas pour des scripts.
  • -
  • mediastream: permet aux URI mediastream: d'être utilisées comme source de contenu.
  • -
  • blob: permet aux URI blob: d'être utilisées comme source de contenu.
  • -
  • filesystem: Allows URI filesystem: d'être utilisées comme source de contenu.
  • -
-
-
'self'
-
Cette valeur fait référence au domaine dont est originaire le document protégé, y compris le protocole et le numéro de port. Vous devez mettre cette valeur entre guillemets. Certains navigateurs excluent spécifiquement les valeurs blob et filesystem des directives de source. Les sites nécessitant une permission pour ces types de contenu peuvent les spécifier en utilisant l'attribut Data.
-
'unsafe-eval'
-
Permet l'usage de la fonction eval() et de méthodes similaires pour créer du code à partir de chaines de caractères. Vous devez mettre cette valeur entre guillemets.
-
'unsafe-hashes'
-
Permet l'usage de certains écouteurs d'évènements par attributs. Si vous n'avez besoin que d'écouteurs d'évènements par attributs et non d'éléments {{HTMLElement("script")}} embarqués ou d'URL javascript:, cette valeur est plus sécurisée que unsafe-inline.
-
'unsafe-inline'
-
Permet l'usage de ressources embarquées, tels que des éléments {{HTMLElement("script")}} (sans src), d'URL javascript:, de gestionnaire d'évènement par attributs (on<eventName>), et d'éléments {{HTMLElement("style")}}. Vous devez mettre cette valeur entre guillemets.
-
'none'
-
Aucune source n'est admise. Vous devez mettre cette valeur entre guillemets.
-
'nonce-<base64-value>'
-
Une liste de permissions pour des scripts embarqués spécifiques en utilisant un nonce (number used once, nombre à usage unique) cryptographique. Le serveur doit générer un nonce à chaque fois qu'il transmet une réponse. Il est extrèmement important de fournir des nonces non prédictibles, puisque le contraire permettrait aisément de contourner la stratégie de sécurité. Voir inline script non fiables pour avoir un exemple. Spécifier un nonce implique que les navigateurs modernes ignoreront la valeur 'unsafe-inline', qui peut toutefois être laissée pour les anciens navigateurs ne supportant pas les nonces.
-
'<hash-algorithm>-<base64-value>'
-
Un hash sha256, sha384 ou sha512 d'un <script> ou d'un <style>. Cette source est composée de deux parties séparées par un tiret : le nom de l'algorithme de chiffrage utilisé pour générer le hash à gauche et le hash encodé en base 64 à droite. Lors de la génération du hash, il ne faut pas inclure les balises <script> or <style> et tenir compte de la casse et des caractères blancs (espaces, retours à la ligne, etc.). Voir inline script non fiables pour en avoir un exemple. En CSP 2.0, cette valeur ne s'applique qu'aux scripts embarqués. CSP 3.0 le permet aussi dans le cas de scripts externes.
-
'strict-dynamic'
-
La valeur strict-dynamic spécifie que la confiance explicitement donnée à un script de la page, par le biais d'un nonce ou d'un hash, doit être propagée à tous les scripts chargés par celui-ci. En conséquence, toute les valeurs telles que 'self' ou 'unsafe-inline' et listes de permissions sont ignorées. Voir script-src pour en avoir un exemple.
-
'report-sample'
-
Requiert qu'un échantillon du code violant la directive soit inclus dans le rapport envoyé.
-
- - -

Exemples

- -

Absence d'héritage avec default-src

- -

S'il y a d'autres directives spécifiées, default-src ne les affecte pas. Soit l'en-tête suivant :

- -
Content-Security-Policy: default-src 'self'; script-src https://example.com
- -

Est identique à :

- -
Content-Security-Policy: connect-src 'self';
+## Syntaxe
+
+Une ou plusieurs sources peuvent être autorisées pour cette directive :
+
+    Content-Security-Policy: default-src ;
+    Content-Security-Policy: default-src  ;
+
+### Sources
+
+La \ peut être une des suivantes :
+
+- \
+
+  - : Des hôtes Internet par leur nom de domaine ou adresse IP, aussi bien qu'un [protocole](/en-US/docs/URIs_and_URLs) et/ou un numéro de port. L'adresse du site peut inclure un caractère de remplacement optionnel (l'astérisque `'*'`), qui ne peut être utilisée que pour indiquer un sous-domaine ou que tous les ports existants sont des sources valides.
+    Exemples:
+
+    - `http://*.example.com`: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com via le protocole `http:`.
+    - `mail.example.com:443`: correspondra à toutes les tentatives d'accès sur le port 443 de mail.example.com.
+    - `https://store.example.com`: correspondra à toutes les tentatives d'accès à store.example.com via le protocole `https:`.
+    - `*.example.com`: correspondra à toutes les tentatives d'accès pour tous les sous-domaines de example.com en utilisant le protocole courant.
+
+- \
+
+  - : Un protocole tel que `http:` ou `https:`. Les deux-points sont nécessaires. Contrairement à d'autres valeurs ci-bas, les guillemets ne devraient pas être employés. Vous pouvez aussi spécifier des schémas de données (quoi que ce ne soit pas recommandé).
+
+    - `data:` permet aux [URI `data:`](/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) d'être utilisées comme sources de contenu. _Cette pratique manque de sécurité ; une personne malveillante peut aussi injecter des URI data: arbitraires. Utilisez cette valeur avec parcimonie certainement pas pour des scripts._
+    - `mediastream:` permet aux [URI `mediastream:`](/en-US/docs/Web/API/MediaStream_API) d'être utilisées comme source de contenu.
+    - `blob:` permet aux [URI `blob:`](/en-US/docs/Web/API/Blob) d'être utilisées comme source de contenu.
+    - `filesystem:` Allows [URI `filesystem:`](/en-US/docs/Web/API/FileSystem) d'être utilisées comme source de contenu.
+
+- `'self'`
+  - : Cette valeur fait référence au domaine dont est originaire le document protégé, y compris le protocole et le numéro de port. Vous devez mettre cette valeur entre guillemets. Certains navigateurs excluent spécifiquement les valeurs `blob` et `filesystem` des directives de source. Les sites nécessitant une permission pour ces types de contenu peuvent les spécifier en utilisant l'attribut Data.
+- `'unsafe-eval'`
+  - : Permet l'usage de la fonction `eval()` et de méthodes similaires pour créer du code à partir de chaines de caractères. Vous devez mettre cette valeur entre guillemets.
+- `'unsafe-hashes'`
+  - : Permet l'usage de certains [écouteurs d'évènements](/en-US/docs/Web/Guide/Events/Event_handlers) par attributs. Si vous n'avez besoin que d'écouteurs d'évènements par attributs et non d'éléments {{HTMLElement("script")}} embarqués ou d'URL `javascript:`, cette valeur est plus sécurisée que `unsafe-inline`.
+- `'unsafe-inline'`
+  - : Permet l'usage de ressources embarquées, tels que des éléments {{HTMLElement("script")}} (sans `src`), d'URL `javascript:`, de gestionnaire d'évènement par attributs (`on`), et d'éléments {{HTMLElement("style")}}. Vous devez mettre cette valeur entre guillemets.
+- `'none'`
+  - : Aucune source n'est admise. Vous devez mettre cette valeur entre guillemets.
+- 'nonce-\'
+  - : Une liste de permissions pour des scripts embarqués spécifiques en utilisant un nonce (_number used once_, nombre à usage unique) cryptographique. Le serveur doit générer un nonce à chaque fois qu'il transmet une réponse. Il est extrèmement important de fournir des nonces non prédictibles, puisque le contraire permettrait aisément de contourner la stratégie de sécurité. Voir [inline script non fiables](/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script) pour avoir un exemple. Spécifier un nonce implique que les navigateurs modernes ignoreront la valeur `'unsafe-inline'`, qui peut toutefois être laissée pour les anciens navigateurs ne supportant pas les nonces.
+- '\-\'
+  - : Un hash sha256, sha384 ou sha512 d'un `
+```
 
-

Toutefois, ce script sera bloqué car il n'utilise pas cet attribut :

+Toutefois, ce script sera bloqué car il n'utilise pas cet attribut : -
<script src="https://code.jquery.com/jquery-3.1.1.slim.js"></script>
+```html example-bad + +``` -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.csp.Content-Security-Policy.require-sri-for")}}

+{{Compat("http.headers.csp.Content-Security-Policy.require-sri-for")}} -

Voir aussi

+## Voir aussi - +- {{HTTPHeader("Content-Security-Policy")}} +- [Subresource Integrity](/en-US/docs/Web/Security/Subresource_Integrity) diff --git a/files/fr/web/http/headers/content-security-policy/require-trusted-types-for/index.md b/files/fr/web/http/headers/content-security-policy/require-trusted-types-for/index.md index fea32fdcd9..aa47591d59 100644 --- a/files/fr/web/http/headers/content-security-policy/require-trusted-types-for/index.md +++ b/files/fr/web/http/headers/content-security-policy/require-trusted-types-for/index.md @@ -13,76 +13,57 @@ tags: - source translation_of: Web/HTTP/Headers/Content-Security-Policy/require-trusted-types-for --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) require-trusted-types-for {{experimental_inline}} directive informe l'agent utilisateur de contrôler les données passées au puits de fonctions XSS du DOM, tel que le mutateur Element.innerHTML.

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`require-trusted-types-for`** {{experimental_inline}} directive informe l'agent utilisateur de contrôler les données passées au puits de fonctions XSS du DOM, tel que le mutateur [Element.innerHTML](/en-US/docs/Web/API/Element/innerHTML). -

Lors de leur usage, ces fonctions n'acceptent que des valeurs typées et non falsifiables créées par des règles de Trusted Type et rejettent les chaines de caractère. Conjointement à la directive trusted-types, qui empêche la création de règles de Trusted Type, cette directive permet aux auteurs de définir des règles empêchant d'écrire des données dans le DOM et donc de réduire la fenêtre de tir pour les attaques XSS sur le DOM à quelques pans isolés de la base de code d'une application, facilitant donc son contrôle et sa relecture.

+Lors de leur usage, ces fonctions n'acceptent que des valeurs typées et non falsifiables créées par des règles de Trusted Type et rejettent les chaines de caractère. Conjointement à la directive **[`trusted-types`](/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/trusted-types)**, qui empêche la création de règles de Trusted Type, cette directive permet aux auteurs de définir des règles empêchant d'écrire des données dans le DOM et donc de réduire la fenêtre de tir pour les attaques XSS sur le DOM à quelques pans isolés de la base de code d'une application, facilitant donc son contrôle et sa relecture. -

Syntaxe

+## Syntaxe -
Content-Security-Policy: require-trusted-types-for 'script';
-
+ Content-Security-Policy: require-trusted-types-for 'script'; -
-
'script'
-
Interdit l'usage de chaine de caractères avec les fonctions du puits d'injection XSS du DOM, et requiert que les types correspondant soient créés par des règles de Trusted Type.
-
+- `'script'` + - : Interdit l'usage de chaine de caractères avec les fonctions du puits d'injection XSS du DOM, et requiert que les types correspondant soient créés par des règles de Trusted Type. -

Exemples

+## Exemples -
// Content-Security-Policy: require-trusted-types-for 'script'; trusted-types foo;
+```js
+// Content-Security-Policy: require-trusted-types-for 'script'; trusted-types foo;
 
-const attackerInput = '<svg onload="alert(/cross-site-scripting/)" />';
+const attackerInput = '';
 const el = document.createElement('div');
 
 if (typeof trustedTypes !== 'undefined') {
   // Create a policy that can create TrustedHTML values
   // after sanitizing the input strings with DOMPurify library.
   const sanitizer = trustedTypes.createPolicy('foo', {
-    createHTML: (input) => DOMPurify.sanitize(input)
+    createHTML: (input) => DOMPurify.sanitize(input)
   });
 
   el.innerHTML = sanitizer.createHTML(attackerInput);  // Puts the sanitized value into the DOM.
   el.innerHTML = attackerInput;                        // Rejects a string value; throws a TypeError.
 }
-
+``` -

Prothèse d'émulaiton

+## Prothèse d'émulaiton -

Une prothèse d'émulation pour les Trusted Types est disponible sur Github.

+Une [prothèse d'émulation pour les Trusted Types](https://github.com/w3c/webappsec-trusted-types#polyfill) est disponible sur Github. -

Spécifications

+## Spécifications - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
Trusted TypesDraftDéfinition initiale.
+| Spécification | Statut | Commentaire | +| ------------------------------------------------------------------------- | ------ | -------------------- | +| [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/) | Draft | Définition initiale. | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs +{{Compat("http.headers.csp.Content-Security-Policy.trusted-types")}} +## Voir aussi -

{{Compat("http.headers.csp.Content-Security-Policy.trusted-types")}}

- -

Voir aussi

- - +- {{HTTPHeader("Content-Security-Policy")}} +- [Cross-Site Scripting (XSS)](/en-US/docs/Glossary/Cross-site_scripting) +- [DOM XSS injection sinks covered by Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#injection-sinks) +- [Prevent DOM-based cross-site scripting vulnerabilities with Trusted Types](https://web.dev/trusted-types) +- Trusted Types with [DOMPurify](https://github.com/cure53/DOMPurify#what-about-dompurify-and-trusted-types) XSS sanitizer diff --git a/files/fr/web/http/headers/content-security-policy/sandbox/index.md b/files/fr/web/http/headers/content-security-policy/sandbox/index.md index 626398f914..956d2452ca 100644 --- a/files/fr/web/http/headers/content-security-policy/sandbox/index.md +++ b/files/fr/web/http/headers/content-security-policy/sandbox/index.md @@ -11,99 +11,85 @@ tags: - Sécurité translation_of: Web/HTTP/Headers/Content-Security-Policy/sandbox --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) sandbox active un bac à sable (sandbox) pour les ressources demandées similaire à l'attribut {{htmlattrxref("sandbox", "iframe")}} des éléments {{HTMLElement("iframe")}}. Elle applique des restrictions aux actions d'une page, dont le fait d'empêcher les fenêtres intruses (popups) et l'exécution de greffons et de scripts et de créer une contrainte de même origine.

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`sandbox`** active un bac à sable (_sandbox_) pour les ressources demandées similaire à l'attribut {{htmlattrxref("sandbox", "iframe")}} des éléments {{HTMLElement("iframe")}}. Elle applique des restrictions aux actions d'une page, dont le fait d'empêcher les fenêtres intruses (_popups_) et l'exécution de greffons et de scripts et de créer une contrainte de même origine. - - - - - - - - - - - - - + + + + + + + + + + + + +
Version de CSP1.1 / 2
Type de directive{{Glossary("Document directive")}}
Cette directive n'est pas supportée dans l'élément {{HTMLElement("meta")}} ou par l'en-tête {{HTTPHeader("Content-Security-policy-Report-Only")}}.
Version de CSP1.1 / 2
Type de directive{{Glossary("Document directive")}}
+ Cette directive n'est pas supportée dans l'élément + {{HTMLElement("meta")}} ou par l'en-tête + {{HTTPHeader("Content-Security-policy-Report-Only")}}. +
-

Syntaxe

- -
Content-Security-Policy: sandbox;
-Content-Security-Policy: sandbox <valeur>;
-
- -

<valeur> peut optionnellement être une valeur parmi :

- -
-
allow-downloads-without-user-activation {{experimental_inline}}
-
Autorise les téléchargements sans action de l'utilisateur.
-
- -
-
allow-forms
-
Autorise la soumission de de formulaires. Si ce mot-clé n'est pas spécifié, cette opération est interdite.
-
allow-modals
-
Autorise la page à ouvrir des fenêtres modales.
-
allow-orientation-lock
-
Autorise la page à désactiver la possibilité de verrouiller l'orientation de l'écran.
-
allow-pointer-lock
-
Autorise la page à utiliser l'API Pointer Lock.
-
allow-popups
-
Autorise les fenêtres intruses (comme avec window.open, target="_blank", showModalDialog). Si ce mot-clé n'est pas utilisée, cette fonctionnalité échouera en silence.
-
allow-popups-to-escape-sandbox
-
Autorise un document cloisonné dans une bac à sable à ouvrir de nouvelles fenêtres sans les contraindre à appliquer les mêmes règles. Cela permettra, par exemple, à une publicité externe d'être sainement cloisonnée sans imposer les mêmes restrictions sur une page d'accueil.
-
allow-presentation
-
Autorise les pages embarquantes à avoir contrôle sur la possibilité pour l'iframe de démarrer une session de présentation ou non.
-
allow-same-origin
-
Autorise le contenu à être traité comme étant de son origine normale. Si ce mot-clé n'est pas utilisé, les contenu embarqués seront traités comme étant d'une origine unique.
-
allow-scripts
-
Autorise la page à exécuter des scripts (mais non créer des fenêtres intruses). Si ce mot-clé n'est pas utilisée, cette opération n'est pas permise.
-
allow-storage-access-by-user-activation {{experimental_inline}}
-
Laisse les requêtes de ressources accéder à l'espace de stockage du parent avec l'API Storage Access.
-
allow-top-navigation
-
Autorise la page à charger du contenu au niveau supérieur de contexte navigationnel. Si ce mot-clé n'est pas utilisé, cette opération n'est pas permise.
-
allow-top-navigation-by-user-activation
-
Laisse la ressource naviguer jusqu'au niveau supérieur de contexte navigationnel, mais seulement si initié par une aciton de l'utilisateur.
-
- -

Exemples

- -
Content-Security-Policy: sandbox allow-scripts;
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{specName("CSP 3.0", "#directive-sandbox", "sandbox")}}{{Spec2('CSP 3.0')}}Inchangé.
{{specName("CSP 1.1", "#directive-sandbox", "sandbox")}}{{Spec2('CSP 1.1')}}Définition initiale.
+## Syntaxe + + Content-Security-Policy: sandbox; + Content-Security-Policy: sandbox ; + +Où `` peut optionnellement être une valeur parmi : + +- `allow-downloads-without-user-activation` {{experimental_inline}} + - : Autorise les téléchargements sans action de l'utilisateur. + + + +- `allow-forms` + - : Autorise la soumission de de formulaires. Si ce mot-clé n'est pas spécifié, cette opération est interdite. +- `allow-modals` + - : Autorise la page à ouvrir des fenêtres modales. +- `allow-orientation-lock` + - : Autorise la page à désactiver la possibilité de verrouiller l'orientation de l'écran. +- `allow-pointer-lock` + - : Autorise la page à utiliser l'[API Pointer Lock](/en-US/docs/WebAPI/Pointer_Lock). +- `allow-popups` + - : Autorise les fenêtres intruses (comme avec `window.open`, `target="_blank"`, `showModalDialog`). Si ce mot-clé n'est pas utilisée, cette fonctionnalité échouera en silence. +- `allow-popups-to-escape-sandbox` + - : Autorise un document cloisonné dans une bac à sable à ouvrir de nouvelles fenêtres sans les contraindre à appliquer les mêmes règles. Cela permettra, par exemple, à une publicité externe d'être sainement cloisonnée sans imposer les mêmes restrictions sur une page d'accueil. +- `allow-presentation` + - : Autorise les pages embarquantes à avoir contrôle sur la possibilité pour l'iframe de démarrer une session de présentation ou non. +- `allow-same-origin` + - : Autorise le contenu à être traité comme étant de son origine normale. Si ce mot-clé n'est pas utilisé, les contenu embarqués seront traités comme étant d'une origine unique. +- `allow-scripts` + - : Autorise la page à exécuter des scripts (mais non créer des fenêtres intruses). Si ce mot-clé n'est pas utilisée, cette opération n'est pas permise. +- `allow-storage-access-by-user-activation` {{experimental_inline}} + - : Laisse les requêtes de ressources accéder à l'espace de stockage du parent avec l'[API Storage Access](/en-US/docs/Web/API/Storage_Access_API). +- `allow-top-navigation` + - : Autorise la page à charger du contenu au niveau supérieur de contexte navigationnel. Si ce mot-clé n'est pas utilisé, cette opération n'est pas permise. +- `allow-top-navigation-by-user-activation` + - : Laisse la ressource naviguer jusqu'au niveau supérieur de contexte navigationnel, mais seulement si initié par une aciton de l'utilisateur. + +## Exemples + +```bash +Content-Security-Policy: sandbox allow-scripts; +``` + +## Spécifications + +| Spécification | Statut | Commentaire | +| ---------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{specName("CSP 3.0", "#directive-sandbox", "sandbox")}} | {{Spec2('CSP 3.0')}} | Inchangé. | +| {{specName("CSP 1.1", "#directive-sandbox", "sandbox")}} | {{Spec2('CSP 1.1')}} | Définition initiale. | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.csp.Content-Security-Policy.sandbox")}}

+{{Compat("http.headers.csp.Content-Security-Policy.sandbox")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Content-Security-Policy")}}
  • -
  • {{htmlattrxref("sandbox", "iframe")}} attribute on {{HTMLElement("iframe")}} elements
  • -
+- {{HTTPHeader("Content-Security-Policy")}} +- {{htmlattrxref("sandbox", "iframe")}} attribute on {{HTMLElement("iframe")}} elements diff --git a/files/fr/web/http/headers/content-security-policy/script-src-attr/index.md b/files/fr/web/http/headers/content-security-policy/script-src-attr/index.md index d08a6f4e57..e0d25ed7db 100644 --- a/files/fr/web/http/headers/content-security-policy/script-src-attr/index.md +++ b/files/fr/web/http/headers/content-security-policy/script-src-attr/index.md @@ -16,79 +16,66 @@ tags: - source translation_of: Web/HTTP/Headers/Content-Security-Policy/script-src-attr --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) script-src-attr spécifie les sources valides pour du code JavaScript embarqué dans des éléments {{HTMLElement("script")}} ou dans des gestionnaires d'évènements par attribut comme onclick, mais non les URL chargées par des éléments {{HTMLElement("script")}}.

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`script-src-attr`** spécifie les sources valides pour du code JavaScript embarqué dans des éléments {{HTMLElement("script")}} ou dans des gestionnaires d'évènements par attribut comme `onclick`, mais non les URL chargées par des éléments {{HTMLElement("script")}}. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Version de CSP3
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défautOui, si cette directive est absente, l'agent utilisateur consultera la directive {{CSP("script-src")}}, qui a pour valeur par défaut celle de la directive default-src
Version de CSP3
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défaut + Oui, si cette directive est absente, l'agent utilisateur consultera la + directive {{CSP("script-src")}}, qui a pour valeur par défaut + celle de la directive default-src +
-

Syntaxe

+## Syntaxe -

Une ou plusieurs sources peuvent être autorisées pour cette directive :

+Une ou plusieurs sources peuvent être autorisées pour cette directive : -
Content-Security-Policy: script-src-attr <source>;
-Content-Security-Policy: script-src-attr <source> <source>;
-
+ Content-Security-Policy: script-src-attr ; + Content-Security-Policy: script-src-attr ; -

script-src-attr  peut être utilisée conjointement à  {{CSP("script-src")}} :

+`script-src-attr`  peut être utilisée conjointement à  {{CSP("script-src")}} : -
Content-Security-Policy: script-src <source>;
-Content-Security-Policy: script-src-attr <source>;
-
+ Content-Security-Policy: script-src ; + Content-Security-Policy: script-src-attr ; -

Sources

+### Sources -

{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}

+{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}} -

Exemples

+## Exemples -

Valeur par défaut avec script-src

+### Valeur par défaut avec script-src -

Si la directive script-src-attr est absente, l'agent utilisateur se rabat sur la valeur de la directive {{CSP("script-src")}}, qui elle-même a pour valeur par défaut celle de la directive {{CSP("default-src")}}.

+Si la directive `script-src-attr` est absente, l'agent utilisateur se rabat sur la valeur de la directive {{CSP("script-src")}}, qui elle-même a pour valeur par défaut celle de la directive {{CSP("default-src")}}. -

Spécifications

+## Spécifications - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{specName("CSP 3.0", "#directive-script-src-attr", "script-src-attr")}}{{Spec2("CSP 3.0")}}Définition initiale.
+| Spécification | Statut | Commentaire | +| ------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{specName("CSP 3.0", "#directive-script-src-attr", "script-src-attr")}} | {{Spec2("CSP 3.0")}} | Définition initiale. | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.csp.Content-Security-Policy.script-src-attr")}}

+{{Compat("http.headers.csp.Content-Security-Policy.script-src-attr")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Content-Security-Policy")}}
  • -
  • {{HTMLElement("script")}}
  • -
  • {{CSP("script-src")}}
  • -
  • {{CSP("script-src-elem")}}
  • -
+- {{HTTPHeader("Content-Security-Policy")}} +- {{HTMLElement("script")}} +- {{CSP("script-src")}} +- {{CSP("script-src-elem")}} diff --git a/files/fr/web/http/headers/content-security-policy/script-src-elem/index.md b/files/fr/web/http/headers/content-security-policy/script-src-elem/index.md index 7d29bbef41..371af81c94 100644 --- a/files/fr/web/http/headers/content-security-policy/script-src-elem/index.md +++ b/files/fr/web/http/headers/content-security-policy/script-src-elem/index.md @@ -16,81 +16,66 @@ tags: - source translation_of: Web/HTTP/Headers/Content-Security-Policy/script-src-elem --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) script-src-elem spécifie les sources valides pour des éléments {{HTMLElement("script")}} JavaScript, mais non pour des scripts embarqués ou des gestionnaire d'évènements par attribut comme onclick.

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`script-src-elem`** spécifie les sources valides pour des éléments {{HTMLElement("script")}} JavaScript, mais non pour des scripts embarqués ou des gestionnaire d'évènements par attribut comme `onclick`. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Version de CSP3
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défautOui, si cette directive est absente, l'agent utilisateur consultera la directive {{CSP("script-src")}}, qui a pour valeur par défaut celle de la directive default-src
Version de CSP3
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défaut + Oui, si cette directive est absente, l'agent utilisateur consultera la + directive {{CSP("script-src")}}, qui a pour valeur par défaut + celle de la directive default-src +
-

Syntaxe

+## Syntaxe -

Une ou plusieurs sources peuvent être autorisées pour cette directive :

+Une ou plusieurs sources peuvent être autorisées pour cette directive : -
Content-Security-Policy: script-src-elem <source>;
-Content-Security-Policy: script-src-elem <source> <source>;
-
+ Content-Security-Policy: script-src-elem ; + Content-Security-Policy: script-src-elem ; -

script-src-elem peut être utilisée conjointement à {{CSP("script-src")}} :

+`script-src-elem` peut être utilisée conjointement à {{CSP("script-src")}} : -
Content-Security-Policy: script-src <source>;
-Content-Security-Policy: script-src-elem <source>;
-
+ Content-Security-Policy: script-src ; + Content-Security-Policy: script-src-elem ; -

Sources

+### Sources -

{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}

+{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}} -

Exemples

+## Exemples -

Valeur par défaut avec script-src

+### Valeur par défaut avec script-src -

Si la directive script-src-elem est absente, l'agent utilisateur se rabat sur la valeur de la directive {{CSP("script-src")}}, qui elle-même a pour valeur par défaut celle de la directive {{CSP("default-src")}}.

+Si la directive `script-src-elem` est absente, l'agent utilisateur se rabat sur la valeur de la directive {{CSP("script-src")}}, qui elle-même a pour valeur par défaut celle de la directive {{CSP("default-src")}}. -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{specName("CSP 3.0", "#directive-script-src-elem", "script-src-elem")}}{{Spec2("CSP 3.0")}}Définition initiale.
- -

Compatibilité des navigateurs

+## Spécifications +| Spécification | Statut | Commentaire | +| ------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{specName("CSP 3.0", "#directive-script-src-elem", "script-src-elem")}} | {{Spec2("CSP 3.0")}} | Définition initiale. | +## Compatibilité des navigateurs -

{{Compat("http.headers.csp.Content-Security-Policy.script-src-elem")}}

+{{Compat("http.headers.csp.Content-Security-Policy.script-src-elem")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Content-Security-Policy")}}
  • -
  • {{HTMLElement("script")}}
  • -
  • {{CSP("script-src")}}
  • -
  • {{CSP("script-src-attr")}}
  • -
+- {{HTTPHeader("Content-Security-Policy")}} +- {{HTMLElement("script")}} +- {{CSP("script-src")}} +- {{CSP("script-src-attr")}} diff --git a/files/fr/web/http/headers/content-security-policy/script-src/index.md b/files/fr/web/http/headers/content-security-policy/script-src/index.md index a6b2659ae9..03f6414e8c 100644 --- a/files/fr/web/http/headers/content-security-policy/script-src/index.md +++ b/files/fr/web/http/headers/content-security-policy/script-src/index.md @@ -15,162 +15,163 @@ tags: - source translation_of: Web/HTTP/Headers/Content-Security-Policy/script-src --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) script-src spécifie les sources valides pour du code JavaScript. Cela inclut non seulement les URL chargées directement par les éléments {{HTMLElement("script")}}, mais aussi les scripts embarqués, les attributs de gestion d'évènements (onclick) et les feuilles de style XSLT pouvant déclencher l'exécution de scripts.

+La directive HTTP {{HTTPHeader("Content-Security-Policy")}} (CSP) **`script-src`** spécifie les sources valides pour du code JavaScript. Cela inclut non seulement les URL chargées directement par les éléments {{HTMLElement("script")}}, mais aussi les scripts embarqués, les attributs de gestion d'évènements (`onclick`) et [les feuilles de style XSLT](/en-US/docs/Web/XSLT) pouvant déclencher l'exécution de scripts. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Version de CSP1
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défautOui, si cette directive est absente, l'agent utilisateur consultera la directive default-src
Version de CSP1
Type de directive{{Glossary("Fetch directive")}}
{{CSP("default-src")}} par défaut + Oui, si cette directive est absente, l'agent utilisateur consultera la + directive default-src +
-

Syntaxe

+## Syntaxe -

Une ou plusieurs sources peuvent être autorisées pour cette directive :

+Une ou plusieurs sources peuvent être autorisées pour cette directive : -
Content-Security-Policy: script-src <source>;
-Content-Security-Policy: script-src <source> <source>;
-
+ Content-Security-Policy: script-src ; + Content-Security-Policy: script-src ; -

Sources

+### Sources -

{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}}

+{{page("fr/Web/HTTP/Headers/Content-Security-Policy/default-src", "Sources")}} -

Exemples

+## Exemples -

Cas de violation

+### Cas de violation -

Soit cet en-tête CSP :

+Soit cet en-tête CSP : -
Content-Security-Policy: script-src https://example.com/
+```bash +Content-Security-Policy: script-src https://example.com/ +``` -

Ces scripts seront bloqués et ne seront pas chargés ou exécutés :

+Ces scripts seront bloqués et ne seront pas chargés ou exécutés : -
<script src="https://not-example.com/js/library.js"></script>
+```html + +``` -

Notez que les gestionnaires d'évènements par attributs sont aussi bloqués :

+Notez que les gestionnaires d'évènements par attributs sont aussi bloqués : -
<button id="btn" onclick="doSomething()">
+```html + + +``` -

La requête ressemble à peu près à ceci (les en-têtes moins intéressants ont été ici volontairement omis) :

+La requête ressemble à peu près à ceci (les en-têtes moins intéressants ont été ici volontairement omis) : -
POST /toto HTTP/1.1
-Content-Length: 68137
-Content-Type: multipart/form-data; boundary=---------------------------974767299852498929531610575
-Content-Disposition: form-data; name="description"
+    POST /toto HTTP/1.1
+    Content-Length: 68137
+    Content-Type: multipart/form-data; boundary=---------------------------974767299852498929531610575
+    Content-Disposition: form-data; name="description"
 
----------------------------974767299852498929531610575
+    ---------------------------974767299852498929531610575
 
-du texte par ici
+    du texte par ici
 
----------------------------974767299852498929531610575
-Content-Disposition: form-data; name="monFichier"; filename="toto.txt"
-Content-Type: text/plain
+    ---------------------------974767299852498929531610575
+    Content-Disposition: form-data; name="monFichier"; filename="toto.txt"
+    Content-Type: text/plain
 
-(contenu du fichier envoyé en ligne toto.txt)
+    (contenu du fichier envoyé en ligne toto.txt)
 
----------------------------974767299852498929531610575
-
+ ---------------------------974767299852498929531610575 -

Spécifications

+## Spécifications - - - - - - - - - - - - - - - -
SpécificationTitre
{{RFC("7233", "Content-Type in multipart", "4.1")}}Hypertext Transfer Protocol (HTTP/1.1): Range Requests
{{RFC("7231", "Content-Type", "3.1.1.5")}}Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
+| Spécification | Titre | +| -------------------------------------------------------------------- | ------------------------------------------------------------- | +| {{RFC("7233", "Content-Type in multipart", "4.1")}} | Hypertext Transfer Protocol (HTTP/1.1): Range Requests | +| {{RFC("7231", "Content-Type", "3.1.1.5")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content | -

Compatibilité selon les navigateurs

+## Compatibilité selon les navigateurs -

{{Compat("http/headers/content-type")}}

+{{Compat("http/headers/content-type")}} -

Voir aussi

+## Voir aussi -
    -
  • {{HTTPHeader("Accept")}} et {{HTTPHeader("Accept-Charset")}}
  • -
  • {{HTTPHeader("Content-Disposition")}}
  • -
  • {{HTTPStatus("206")}} Partial Content
  • -
  • {{HTTPHeader("X-Content-Type-Options")}}
  • -
+- {{HTTPHeader("Accept")}} et {{HTTPHeader("Accept-Charset")}} +- {{HTTPHeader("Content-Disposition")}} +- {{HTTPStatus("206")}} `Partial Content` +- {{HTTPHeader("X-Content-Type-Options")}} diff --git a/files/fr/web/http/headers/date/index.md b/files/fr/web/http/headers/date/index.md index e882e72fdd..6b505d3f0a 100644 --- a/files/fr/web/http/headers/date/index.md +++ b/files/fr/web/http/headers/date/index.md @@ -3,74 +3,60 @@ title: Date slug: Web/HTTP/Headers/Date translation_of: Web/HTTP/Headers/Date --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête général HTTP Date contient la date et l'heure d'origine du message.

+L'en-tête général HTTP **`Date`** contient la date et l'heure d'origine du message. - - - - - - - - - - + + + + + + + + + +
Type d'en-tête{{Glossary("General header")}}
{{Glossary("Forbidden header name ")}}oui
Type d'en-tête{{Glossary("General header")}}
{{Glossary("Forbidden header name ")}}oui
-

Syntaxe

+## Syntaxe -
Date: <day-name>, <jour> <mois> <année> <heure>:<minute>:<seconde> GMT
-
+ Date: , :: GMT -

Directives

+## Directives -
-
<day-name>
-
L'un des mots "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ou "Sun" (sensible à la casse).
-
<day>
-
Numéro de jour à 2 chiffres, par ex. "04" ou "23".
-
< month>
-
L'un des mots "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" (sensible à la casse).
-
< year>
-
Numéro d'année à 4 chiffres, par exemple "1990" ou "2018".
-
< hour>
-
Numéro d'heure à 2 chiffres, par exemple "09" or "23".
-
< minute>
-
Numéro d'heure à 2 chiffres, par exemple "04" or "59".
-
< second>
-
Numéro de seconde à 2 chiffres, par exemple "04" or "59".
-
GMT
-
Temps sur le Méridien de Greenwich. Les dates HTTP sont toujours exprimées en GMT, jamais en heure locale.
-
+- \ + - : L'un des mots "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ou "Sun" (sensible à la casse). +- \ + - : Numéro de jour à 2 chiffres, par ex. "04" ou "23". +- < month> + - : L'un des mots "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" (sensible à la casse). +- < year> + - : Numéro d'année à 4 chiffres, par exemple "1990" ou "2018". +- < hour> + - : Numéro d'heure à 2 chiffres, par exemple "09" or "23". +- < minute> + - : Numéro d'heure à 2 chiffres, par exemple "04" or "59". +- < second> + - : Numéro de seconde à 2 chiffres, par exemple "04" or "59". +- GMT + - : Temps sur le Méridien de Greenwich. Les dates HTTP sont toujours exprimées en GMT, jamais en heure locale. -

Exemples

+## Exemples -
Date: Wed, 21 Oct 2015 07:28:00 GMT
+ Date: Wed, 21 Oct 2015 07:28:00 GMT -

Spécifications

+## Spécifications - - - - - - - - - - - -
SpécificationsTitre
{{RFC("7231", "Date", "7.1.1.2")}}Hypertext Transfer Protocol (HTTP/1.1) : Sémantique et contenu
+| Spécifications | Titre | +| -------------------------------------------- | -------------------------------------------------------------- | +| {{RFC("7231", "Date", "7.1.1.2")}} | Hypertext Transfer Protocol (HTTP/1.1) : Sémantique et contenu | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Date")}}

+{{Compat("http.headers.Date")}} -

See also

+## See also -
    -
  • {{HTTPHeader("Age")}}
  • -
+- {{HTTPHeader("Age")}} diff --git a/files/fr/web/http/headers/dnt/index.md b/files/fr/web/http/headers/dnt/index.md index 225e0911e2..a54c4988d5 100644 --- a/files/fr/web/http/headers/dnt/index.md +++ b/files/fr/web/http/headers/dnt/index.md @@ -3,79 +3,63 @@ title: DNT slug: Web/HTTP/Headers/DNT translation_of: Web/HTTP/Headers/DNT --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

Le header de requête DNT (Do Not Track) indique que les préférences de l'utilisateur concernant le suivi publicitaire. Il permet aux utilisateurs d'indiquer s'ils préfèrent leur vie privée au lieu d'un contenu personnalisé.

+Le header de requête **`DNT`** (**D**o **N**ot **T**rack) indique que les préférences de l'utilisateur concernant le suivi publicitaire. Il permet aux utilisateurs d'indiquer s'ils préfèrent leur vie privée au lieu d'un contenu personnalisé. - - - - - - - - - - + + + + + + + + + +
Header type{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}yes
Header type{{Glossary("Request header")}}
{{Glossary("Forbidden header name")}}yes
-

Syntax

+## Syntax -
DNT: 0
-DNT: 1
-
+ DNT: 0 + DNT: 1 -

Directives

+## Directives -
-
0
-
L'utilisateur préfère autoriser son suivi sur le site cible.
-
1
-
L'utilisateur préfère ne pas être suivi sur le site cible.
-
+- 0 + - : L'utilisateur préfère autoriser son suivi sur le site cible. +- 1 + - : L'utilisateur préfère ne pas être suivi sur le site cible. -

Exemples

+## Exemples -

Lire le statut Do Not Track avec JavaScript

+### Lire le statut Do Not Track avec JavaScript -

La préférence de l'utilisateur pour DNT peut également être lue depuis JavaScript en utilisant la proriété {{domxref("Navigator.doNotTrack")}} :

+La préférence de l'utilisateur pour DNT peut également être lue depuis JavaScript en utilisant la proriété {{domxref("Navigator.doNotTrack")}} : -
navigator.doNotTrack; // "0" ou "1"
+```js +navigator.doNotTrack; // "0" ou "1" +``` -

Spécifications

+## Spécifications - - - - - - - - - - - - - -
SpécificationStatusCommentaire
{{SpecName('Tracking','#dnt-header-field', 'DNT Header Field for HTTP Requests')}}{{Spec2("Tracking")}}Définition initiale.
+| Spécification | Status | Commentaire | +| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{SpecName('Tracking','#dnt-header-field', 'DNT Header Field for HTTP Requests')}} | {{Spec2("Tracking")}} | Définition initiale. | + +## Compatibilité navigateur + +{{Compat("http.headers.DNT")}} + +## Voyez aussi + +- {{domxref("Navigator.doNotTrack")}} +- {{HTTPHeader("Tk")}} header +- [Do Not Track on Wikipedia](https://en.wikipedia.org/wiki/Do_Not_Track) +- [What Does the "Track" in "Do Not Track" Mean? – EFF](https://www.eff.org/deeplinks/2011/02/what-does-track-do-not-track-mean) +- [donottrack.us](http://donottrack.us/) +- DNT browser settings help: -

Compatibilité navigateur

- -

{{Compat("http.headers.DNT")}}

- -

Voyez aussi

- - + - [Firefox](https://www.mozilla.org/en-US/firefox/dnt/) + - [Chrome](https://support.google.com/chrome/answer/2790761) diff --git a/files/fr/web/http/headers/etag/index.md b/files/fr/web/http/headers/etag/index.md index ed941a5b6c..c0ce27dba1 100644 --- a/files/fr/web/http/headers/etag/index.md +++ b/files/fr/web/http/headers/etag/index.md @@ -8,94 +8,78 @@ tags: - header translation_of: Web/HTTP/Headers/ETag --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête de réponse ETag HTTP est un identifiant pour une version spécifique d'une ressource. Il permet aux caches d'être plus efficaces et d'économiser de la bande passante, du fait que le serveur Web n'a pas besoin d'envoyer une réponse complète si le contenu n'a pas changé. Sinon, si le contenu a changé, les etags sont utiles pour empêcher les mises à jour simultanées d'une ressource de s'écraser mutuellement ("collisions en vol").

+L'en-tête de réponse `ETag` HTTP est un identifiant pour une version spécifique d'une ressource. Il permet aux caches d'être plus efficaces et d'économiser de la bande passante, du fait que le serveur Web n'a pas besoin d'envoyer une réponse complète si le contenu n'a pas changé. Sinon, si le contenu a changé, les etags sont utiles pour empêcher les mises à jour simultanées d'une ressource de s'écraser mutuellement ("collisions en vol"). -

Si la ressource à une URL donnée change, une nouvelle valeur Etag doit être générée. Les Etags sont donc similaires aux empreintes digitales et elles peuvent également être utilisées à des fins de suivi par certains serveurs. Une comparaison entre elles permet de déterminer rapidement si deux représentations d'une ressource sont identiques, mais un serveur de suivi peut également leur imposer de persister indéfiniment.

+Si la ressource à une URL donnée change, une nouvelle valeur `Etag` doit être générée. Les Etags sont donc similaires aux empreintes digitales et elles peuvent également être utilisées à des fins de suivi par certains serveurs. Une comparaison entre elles permet de déterminer rapidement si deux représentations d'une ressource sont identiques, mais un serveur de suivi peut également leur imposer de persister indéfiniment. - - - - - - - - - - + + + + + + + + + +
Type d'entête{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}non
Type d'entête{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}non
-

Syntaxe

+## Syntaxe -
ETag: W/"<etag_value>"
-ETag: "<etag_value>"
-
+ ETag: W/"" + ETag: "" -

Directives

+## Directives -
-
W/ {{optional_inline}}
-
'W/' (sensible à la casse) indique qu'un validateur faible est utilisé. Les validateurs faibles sont faciles à générer, mais ils sont beaucoup moins utiles pour les comparaisons. Les validateurs forts sont idéaux pour les comparaisons, mais ils peuvent être très difficiles à générer efficacement. Les valeurs Etag faibles de deux représentations des mêmes ressources peuvent être sémantiquement équivalentes, mais ne pas être identiques octet par octet.
-
"<etag_value>"
-
Balises d'entité représentant d'une façon unique les ressources demandées. Elles sont consituées d'une chaîne de caractères ASCII placés entre apostrophes doubles (comme "675af34563dc-tr34"). La méthode par laquelle les valeurs ETag sont générées n'est pas spécifiée. Souvent, un hachage du contenu, un hachage de l'horodatage de la dernière modification, ou seulement un numéro de révision est utilisé. Par exemple, MDN utilise un hachage de chiffres hexadécimaux du contenu du wiki.
-
+- `W/` {{optional_inline}} + - : `'W/'` (sensible à la casse) indique qu'un validateur faible est utilisé. Les validateurs faibles sont faciles à générer, mais ils sont beaucoup moins utiles pour les comparaisons. Les validateurs forts sont idéaux pour les comparaisons, mais ils peuvent être très difficiles à générer efficacement. Les valeurs `Etag` faibles de deux représentations des mêmes ressources peuvent être sémantiquement équivalentes, mais ne pas être identiques octet par octet. +- **"\**" + - : Balises d'entité représentant d'une façon unique les ressources demandées. Elles sont consituées d'une chaîne de caractères ASCII placés entre apostrophes doubles (comme `"675af34563dc-tr34"`). La méthode par laquelle les valeurs `ETag` sont générées n'est pas spécifiée. Souvent, un hachage du contenu, un hachage de l'horodatage de la dernière modification, ou seulement un numéro de révision est utilisé. Par exemple, MDN utilise un hachage de chiffres hexadécimaux du contenu du wiki. -

Exemples

+## Exemples -
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
-ETag: W/"0815"
+ ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4" + ETag: W/"0815" -

Évitement des collisions en vol

+### Évitement des collisions en vol -

A l'aide des en-têtes ETag et {{HTTPHeader("If-Match")}}, vous pouvez détecter les collisions d'édition en vol.

+A l'aide des en-têtes `ETag` et {{HTTPHeader("If-Match")}}, vous pouvez détecter les collisions d'édition en vol. -

Par exemple, lors de l'édition de MDN, le contenu actuel du wiki est haché et placé dans un Etag dans la réponse :

+Par exemple, lors de l'édition de MDN, le contenu actuel du wiki est haché et placé dans un `Etag` dans la réponse : -
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
+ ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4" -

Lors de la sauvegarde des modifications d'une page wiki ("post" des données), la requête {{HTTPMethod("POST")}} contiendra l'en-tête {{HTTPHeader("If-Match")}} contenant les valeurs ETag par rapport auxquelles vérifier la péremption.

+Lors de la sauvegarde des modifications d'une page wiki ("post" des données), la requête {{HTTPMethod("POST")}} contiendra l'en-tête {{HTTPHeader("If-Match")}} contenant les valeurs ETag par rapport auxquelles vérifier la péremption. -
If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"
+ If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4" -

Si les hachages ne correspondent pas, cela signifie que le document a été modifié entre-temps, et une erreur {{HTTPStatus("412")}} Precondition Failed est déclenchée.

+Si les hachages ne correspondent pas, cela signifie que le document a été modifié entre-temps, et une erreur {{HTTPStatus("412")}} `Precondition Failed` est déclenchée. -

Mise en cache des ressources inchangées

+### Mise en cache des ressources inchangées -

Un autre cas d'utilisation typique de l'en-tête ETag est de mettre en cache les ressources qui sont inchangées. Si un utilisateur visite à nouveau une URL donnée (qui a un ensemble d'ETag), et qu'elle est périmée, c'est à dire, trop ancienne pour être considérée comme utilisable, le client enverra en même temps la valeur de son ETag dans un champ d'en-tête {{HTTPHeader("If-None-Match")}} :

+Un autre cas d'utilisation typique de l'en-tête `ETag` est de mettre en cache les ressources qui sont inchangées. Si un utilisateur visite à nouveau une URL donnée (qui a un ensemble d'`ETag`), et qu'elle est _périmée_, c'est à dire, trop ancienne pour être considérée comme utilisable, le client enverra en même temps la valeur de son `ETag` dans un champ d'en-tête {{HTTPHeader("If-None-Match")}} : -
If-None-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"
+ If-None-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4" -

Le serveur comparera l'ETag du client (envoyé avec If-None-Match) à l'ETag de sa version en cours de la ressource, et si les deux valeurs correspondent (c'est-à-dire que la ressource n'a pas changé), le serveur renverra un statut {{HTTPStatus( "304")}} Not Modified, sans aucun corps, qui indiquera au client que sa version mise en cache de la réponse est toujours bonne à utiliser (actuelle).

+Le serveur comparera l'`ETag` du client (envoyé avec `If-None-Match`) à l'`ETag` de sa version en cours de la ressource, et si les deux valeurs correspondent (c'est-à-dire que la ressource n'a pas changé), le serveur renverra un statut {{HTTPStatus( "304")}} Not Modified, sans aucun corps, qui indiquera au client que sa version mise en cache de la réponse est toujours bonne à utiliser (actuelle). -

Spécifications

+## Spécifications - - - - - - - - - - - -
SpécificationTitre
{{RFC("7232", "ETag", "2.3")}}Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
+| Spécification | Titre | +| ---------------------------------------- | ------------------------------------------------------------ | +| {{RFC("7232", "ETag", "2.3")}} | Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.ETag")}}

+{{Compat("http.headers.ETag")}} -

Voir aussi

+## Voir aussi - +- {{HTTPHeader("If-Match")}} +- {{HTTPHeader("If-None-Match")}} +- {{HTTPStatus("304")}}` Not Modified` +- {{HTTPStatus("412")}}` Precondition Failed` +- [W3C Note: Editing the Web – Detecting the Lost Update Problem Using Unreserved Checkout](https://www.w3.org/1999/04/Editing/) diff --git a/files/fr/web/http/headers/expires/index.md b/files/fr/web/http/headers/expires/index.md index 99e9e44e7a..4c8a3935f9 100644 --- a/files/fr/web/http/headers/expires/index.md +++ b/files/fr/web/http/headers/expires/index.md @@ -3,71 +3,57 @@ title: Expires slug: Web/HTTP/Headers/Expires translation_of: Web/HTTP/Headers/Expires --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

Le header Expires contient la date/heure après laquelle la réponse est considérée comme dépréciée.

+Le header **`Expires`** contient la date/heure après laquelle la réponse est considérée comme dépréciée. -

Les dates invalides, telles que la valeur 0, représentent une date dans le passé et signifient que la ressource est expirée.

+Les dates invalides, telles que la valeur 0, représentent une date dans le passé et signifient que la ressource est expirée. -

Si un header {{HTTPHeader("Cache-Control")}} contient une directive "max-age" ou "s-max-age" dans la réponse, le header Expires sera ignoré.

+Si un header {{HTTPHeader("Cache-Control")}} contient une directive "max-age" ou "s-max-age" dans la réponse, le header `Expires` sera ignoré. - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Header type{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}no
{{Glossary("Simple response header", "CORS-safelisted response-header")}}yes
Header type{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}no
+ {{Glossary("Simple response header", "CORS-safelisted response-header")}} + yes
-

Syntaxe

+## Syntaxe -
Expires: <http-date>
-
+ Expires: -

Directives

+## Directives -
-
<http-date>
-
-

An HTTP-date timestamp.

-
-
+- \ + - : An HTTP-date timestamp. -

Exemples

+## Exemples -
Expires: Wed, 21 Oct 2015 07:28:00 GMT
+ Expires: Wed, 21 Oct 2015 07:28:00 GMT -

Spécifications

+## Spécifications - - - - - - - - - - - -
SpecificationTitle
{{RFC("7234", "Expires", "5.3")}}Hypertext Transfer Protocol (HTTP/1.1): Caching
+| Specification | Title | +| -------------------------------------------- | ----------------------------------------------- | +| {{RFC("7234", "Expires", "5.3")}} | Hypertext Transfer Protocol (HTTP/1.1): Caching | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("http.headers.Expires")}}

+{{Compat("http.headers.Expires")}} -

See also

+## See also -
    -
  • {{HTTPHeader("Cache-Control")}}
  • -
  • {{HTTPHeader("Age")}}
  • -
+- {{HTTPHeader("Cache-Control")}} +- {{HTTPHeader("Age")}} diff --git a/files/fr/web/http/headers/feature-policy/accelerometer/index.md b/files/fr/web/http/headers/feature-policy/accelerometer/index.md index 20d123a97b..4f11cbceb5 100644 --- a/files/fr/web/http/headers/feature-policy/accelerometer/index.md +++ b/files/fr/web/http/headers/feature-policy/accelerometer/index.md @@ -10,55 +10,34 @@ tags: - Reference translation_of: Web/HTTP/Headers/Feature-Policy/accelerometer --- -

{{HTTPSidebar}} {{SeeCompatTable}}

+{{HTTPSidebar}} {{SeeCompatTable}} -

La directive accelerometer de l'en-tête HTTP {{HTTPHeader('Feature-Policy')}} contrôle la possibilité pour le document courant de recueillir des informations à propos de l'accélération de l'appareil au moyen de l'interface {{domxref('Accelerometer')}}.

+La directive `accelerometer` de l'en-tête HTTP {{HTTPHeader('Feature-Policy')}} contrôle la possibilité pour le document courant de recueillir des informations à propos de l'accélération de l'appareil au moyen de l'interface {{domxref('Accelerometer')}}. -

Syntaxe

+## Syntaxe -
Feature-Policy: accelerometer <listePermissions>;
+ Feature-Policy: accelerometer ; -
-
<listePermissions>
-
{{page('fr/Web/HTTP/Feature_Policy/Using_Feature_Policy', 'allowlist')}}
-
+- \ + - : {{page('fr/Web/HTTP/Feature_Policy/Using_Feature_Policy', 'allowlist')}} -

Valeur par défaut

+## Valeur par défaut -

La valeur par défaut est 'self'.

+La valeur par défaut est `'self'`. -

Spécifications

+## Spécifications - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaire
{{SpecName('Feature Policy')}}{{Spec2('Feature Policy')}}Définition initiale.
{{SpecName('Accelerometer','#accelerometer-interface','Accelerometer')}}{{Spec2('Accelerometer')}}
+| Spécification | État | Commentaire | +| ------------------------------------------------------------------------------------------------ | ------------------------------------ | -------------------- | +| {{SpecName('Feature Policy')}} | {{Spec2('Feature Policy')}} | Définition initiale. | +| {{SpecName('Accelerometer','#accelerometer-interface','Accelerometer')}} | {{Spec2('Accelerometer')}} | | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat('http.headers.Feature-Policy.accelerometer')}}

+{{Compat('http.headers.Feature-Policy.accelerometer')}} -

Voir aussi

+## Voir aussi - +- en-tête {{HTTPHeader('Feature-Policy')}} +- [Feature Policy](/en-US/docs/Web/HTTP/Feature_Policy) +- [Utiliser Feature Policy](/en-US/docs/Web/HTTP/Feature_Policy/Using_Feature_Policy) diff --git a/files/fr/web/http/headers/feature-policy/index.md b/files/fr/web/http/headers/feature-policy/index.md index 355056996d..fd3b52178a 100644 --- a/files/fr/web/http/headers/feature-policy/index.md +++ b/files/fr/web/http/headers/feature-policy/index.md @@ -14,148 +14,131 @@ tags: - header translation_of: Web/HTTP/Headers/Feature-Policy --- -
{{HTTPSidebar}}
+{{HTTPSidebar}} -

L'en-tête HTTP Feature-Policy est un mécanisme permettant de permettre ou d'interdire l'utilisation de fonctionnalités du navigateur dans son propre cadre et dans ceux de tous les éléments {{HTMLElement("iframe")}} que le document contient.

+L'en-tête HTTP **`Feature-Policy`** est un mécanisme permettant de permettre ou d'interdire l'utilisation de fonctionnalités du navigateur dans son propre cadre et dans ceux de tous les éléments {{HTMLElement("iframe")}} que le document contient. -
-

Note : Cet en-tête est toujours au stade expérimental, et est sujet à être modifié à tout moment. Méfiez-vous en si vous souhaitez l'implanter sur vos sites. Il a maintenant été renommé Permissions-Policy dans la spécification, et cet article sera mis à jour pour refléter ce changement.

-
+> **Note :** Cet en-tête est toujours au stade expérimental, et est sujet à être modifié à tout moment. Méfiez-vous en si vous souhaitez l'implanter sur vos sites. Il a maintenant été renommé `Permissions-Policy` dans la spécification, et cet article sera mis à jour pour refléter ce changement. -

Pour plus d'informations, vour l'article principal sur Feature Policy.

+Pour plus d'informations, vour l'article principal sur [Feature Policy](/docs/Web/HTTP/Feature_Policy). - - - - - - - - - - + + + + + + + + + +
Type d'en-tête{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}oui
Type d'en-tête{{Glossary("Response header")}}
{{Glossary("Forbidden header name")}}oui
-

Syntaxe

- -
Feature-Policy: <directive> <allowlist>
- -
-
<directive>
-
La directive de Feature Policy sur laquelle appliquer la liste de permissions allowlist. Voir {{anch("Directives")}} ci-dessous pour une liste des noms de directives autorisés.
-
<allowlist>
-
{{page("Web/HTTP/Feature_Policy/Using_Feature_Policy", "allowlist")}}
-
- -

Directives

- -
-
{{httpheader('Feature-Policy/accelerometer','accelerometer')}}
-
Contrôle si le document courant est autorisé à recueillir des informations à propos de l'accélération de l'appareil au moyen de l'interface {{DOMxRef("Accelerometer")}}.
-
{{httpheader('Feature-Policy/ambient-light-sensor','ambient-light-sensor')}}
-
Contrôle si le le document courant est autorisé à recueillir des informations à propos de la luminosité ambiante de l'appareil au moyen de l'interface {{DOMxRef("AmbientLightSensor")}}.
-
{{httpheader('Feature-Policy/autoplay','autoplay')}}
-
Contrôle si le document courant est autorisé à jouer automatiquement des médias chargés au moyen de l'interface {{domxref("HTMLMediaElement")}}. Quand cette fonctionnalité est désactivée et qu'il n'y a pas eu d'action de la part de l'utilisateur, la promesse ({{jsxref("Promise")}}) retournée par {{domxref("HTMLMediaElement.play()")}} sera rejetée avec une exception {{domxref("DOMException")}}. L'attribut autoplay sur les éléments {{HTMLELement("audio")}} et {{HTMLElement("video")}} sera ignoré.
-
{{httpheader('Feature-Policy/battery','battery')}}
-
Contrôle si l'utilisation de l'API Battery Status est autorisé. Quand cette fonctionnalité est désactivée, la promesse retournée par {{DOMxRef("Navigator.getBattery","Navigator.getBattery()")}} sera rejetée avec une {{DOMxRef("DOMException")}} {{Exception("NotAllowedError")}}.
-
{{httpheader('Feature-Policy/camera', 'camera')}}
-
Contrôle si le document courant est autorisé à utiliser l'appareil photographique du système. Quand cette fonctionnalité est désactivée, la promesse retournée par {{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} sera rejetée avec une {{DOMxRef("DOMException")}} {{Exception("NotAllowedError")}}.
-
{{HTTPHeader('Feature-Policy/display-capture', 'display-capture')}}
-
Contrôle si le document courant est autorisé ou non à utiliser la méthode {{domxref("MediaDevices.getDisplayMedia", "getDisplayMedia()")}} pour effectuer une capture d'écran. Quand cette fonctionnalité est désactivée, la promesse retounrée par getDisplayMedia() sera rejetée avec une exception {{Exception("NotAllowedError")}} si la permission de prendre une capture d'écran n'est pas obtenue.
-
{{httpheader('Feature-Policy/document-domain','document-domain')}}
-
Contrôle si le document courant est autorisé à définir la propriété {{domxref("document.domain")}}. Quand cette directive est désactivée, tenter de modifier {{domxref("document.domain")}} échouera et lèvera une {{domxref("DOMException")}} {{Exception("SecurityError")}}.
-
{{httpheader('Feature-Policy/encrypted-media', 'encrypted-media')}}
-
Contrôle si le document courant est autorisé à utiliser l'API Encrypted Media Extensions (EME). Quand cette directive est désactivée, la promesse retournée par {{domxref("Navigator.requestMediaKeySystemAccess()")}} sera rejecté avec une {{domxref("DOMException")}}.
-
{{httpheader('Feature-Policy/execution-while-not-rendered', 'execution-while-not-rendered')}}
-
Contrôle si les tâches des cadres doivent être exécutées s'ils ne seront pas rendus à l'écran (par exemple si un <iframe> est hidden ou display: none).
-
{{httpheader('Feature-Policy/execution-while-out-of-viewport', 'execution-while-out-of-viewport')}}
-
Contrôle si les tâches des cadres doivent être exécutées quand ils sont en dehors du cadre visible.
-
- -
-
{{httpheader('Feature-Policy/fullscreen','fullscreen')}}
-
Contrôle si le document courant est autorisé à utiliser {{DOMxRef("Element.requestFullScreen()")}}. Quand cette directive est désactivée, la promesse retournée sera rejetée avec une exception {{JSxRef("TypeError")}}.
-
{{httpheader('Feature-Policy/geolocation','geolocation')}}
-
Contrôle si le document courant est autorisé à utiliser l'interface {{domxref('Geolocation')}}. Quand cette directive est désactivée, les appels à {{domxref('Geolocation.getCurrentPosition','getCurrentPosition()')}} et {{domxref('Geolocation.watchPosition','watchPosition()')}} causeront un appel de leurs fonctions de rappel avec une exception {{domxref('PositionError')}} dont le code est PERMISSION_DENIED.
-
{{httpheader('Feature-Policy/gyroscope','gyroscope')}}
-
Contrôle si le document courant est autorisé à recueillir des informations à propos de l'orientation de l'appareil au moyen de l'interface {{DOMxRef("Gyroscope")}}.
-
{{httpheader('Feature-Policy/layout-animations','layout-animations')}}
-
Contrôle si le document courant est autorisé à afficher des animations de mise en page.
-
- -
-
{{httpheader('Feature-Policy/legacy-image-formats','legacy-image-formats')}}
-
Contrôle si le document courant est autorisé à afficher des images dans des formats du passé.
-
- -
-
{{httpheader('Feature-Policy/magnetometer','magnetometer')}}
-
Contrôle si le document courant est autorisé à recueillir des informations à propos de l'orientation au moyen de l'interface {{DOMxRef("Magnetometer")}}.
-
{{httpheader('Feature-Policy/microphone','microphone')}}
-
Contrôle si le document courant est autorisé à utiliser le microphone de l'appareil. Quand cette fonctionnalité est désactivée, la promesse retournée par {{domxref("MediaDevices.getUserMedia()")}} sera rejetée avec une exception {{Exception("NotAllowedError")}}.
-
{{httpheader('Feature-Policy/midi', 'midi')}}
-
Contrôle si le document courant est autorisé à utiliser l'API Web MIDI. Quand cette fonctionnalité est désactivée, la promesse retournée par {{domxref("Navigator.requestMIDIAccess()")}} sera rejetée avec une exception {{domxref("DOMException")}}.
-
{{httpheader('Feature-Policy/navigation-override','navigation-override')}}
-
Contrôle la disponibilité des mécanismes qui permettent à l'auteur de la page de prendre le contrôle sur le comportment de la navigation spatiale, ou de l'annuler complètement.
-
{{httpheader('Feature-Policy/oversized-images','oversized-images')}}
-
Contrôle si le document courant est autorisé à télécharger et afficher des images lourdes.
-
{{httpheader('Feature-Policy/payment', 'payment')}}
-
Contrôle si le document courant est autorisé à utiliser l'API Payment Request. Quand cette directive est désactivée, le constructeur {{domxref("PaymentRequest","PaymentRequest()")}} lèvera une {{domxref("DOMException")}} {{Exception("SecurityError")}}.
-
{{httpheader('Feature-Policy/picture-in-picture', 'picture-in-picture')}}
-
Controls whether the current document is allowed to play a video in a Picture-in-Picture mode via the corresponding API.
-
{{httpheader("Feature-Policy/publickey-credentials-get", "publickey-credentials-get")}}
-
Contrôle si le document courant est autorisé à use the Web Authentication API to retreive already stored public-key credentials, i.e. via {{domxref("CredentialsContainer.get","navigator.credentials.get({publicKey: ..., ...})")}}.
-
{{httpheader('Feature-Policy/sync-xhr', 'sync-xhr')}}
-
Contrôle si le document courant est autorisé à make synchronous {{DOMxRef("XMLHttpRequest")}} requests.
-
{{httpheader('Feature-Policy/usb', 'usb')}}
-
Contrôle si le document courant est autorisé à use the WebUSB API.
-
{{httpheader('Feature-Policy/vr', 'vr')}} {{deprecated_inline}}
-
Contrôle si le document courant est autorisé à use the WebVR API. Quand cette directive est désactivée, la promesse retournée par {{domxref("Navigator.getVRDisplays","Navigator.getVRDisplays()")}} sera rejetée avec une {{domxref("DOMException")}}. Gardez en tête que la norme WebVR est en cours de remplacement au profit de WebXR.
-
{{httpheader('Feature-Policy/wake-lock', 'wake-lock')}}
-
Contrôle si le document courant est autorisé à utiliser l'API Wake Lock pour indiquer que l'appareil ne devrait se mettre en veille.
-
{{httpheader('Feature-Policy/screen-wake-lock', 'screen-wake-lock')}}
-
Contrôle si le document courant est autorisé à utiliser l'API Screen Wake Lock pour indiquer que l'appareil ne devrait pas assombrir ou éteindre l'écran.
-
{{httpheader("Feature-Policy/web-share", "web-share")}}
-
Contrôle si le document courant est autorisé à utiliser la méthode {{domxref("Navigator.share","Navigator.share()")}} de l'API Web Share pour partager du texte, des liens, des images et d'autres contenus à des destinations arbitraires sur le choix de l'utilisateur, par exemple à des applications mobiles.
-
{{httpheader("Feature-Policy/xr-spatial-tracking", "xr-spatial-tracking")}}
-
Contrôle si le document courant est autorisé à utiliser l'API WebXR Device pour interagir avec une WebXR.
-
- -

Exemple

- -

SecureCorp Inc. souhaite désactiver les API du microphone et de géolocalisation dans son application. Elle peut le faire en délivrant l'en-tête de réponse HTTP suivant pour définir une réglementation des fonctionnalités :

- -
Feature-Policy: microphone 'none'; geolocation 'none'
- -

En spécifiant la valeur 'none' pour liste des origines, les fonctionnalités auquel la valeur est appliquée seront désactivées pour tous les contextes de navigation (incluant tout les cadres <iframe>), quelle que soit leur origine.

- -

Spécifications

- - - - - - - - - - - - -
Spécification
Permissions Policy
- -

Compatibilité des navigateurs

- -

{{Compat("http.headers.Feature-Policy")}}

- -

Voir aussi

- - +## Syntaxe + + Feature-Policy: + +- `` + - : La directive de Feature Policy sur laquelle appliquer la liste de permissions `allowlist`. Voir {{anch("Directives")}} ci-dessous pour une liste des noms de directives autorisés. +- `` + - : {{page("Web/HTTP/Feature_Policy/Using_Feature_Policy", "allowlist")}} + +## Directives + +- {{httpheader('Feature-Policy/accelerometer','accelerometer')}} + - : Contrôle si le document courant est autorisé à recueillir des informations à propos de l'accélération de l'appareil au moyen de l'interface {{DOMxRef("Accelerometer")}}. +- {{httpheader('Feature-Policy/ambient-light-sensor','ambient-light-sensor')}} + - : Contrôle si le le document courant est autorisé à recueillir des informations à propos de la luminosité ambiante de l'appareil au moyen de l'interface {{DOMxRef("AmbientLightSensor")}}. +- {{httpheader('Feature-Policy/autoplay','autoplay')}} + - : Contrôle si le document courant est autorisé à jouer automatiquement des médias chargés au moyen de l'interface {{domxref("HTMLMediaElement")}}. Quand cette fonctionnalité est désactivée et qu'il n'y a pas eu d'action de la part de l'utilisateur, la promesse ({{jsxref("Promise")}}) retournée par {{domxref("HTMLMediaElement.play()")}} sera rejetée avec une exception {{domxref("DOMException")}}. L'attribut `autoplay` sur les éléments {{HTMLELement("audio")}} et {{HTMLElement("video")}} sera ignoré. +- {{httpheader('Feature-Policy/battery','battery')}} + - : Contrôle si l'utilisation de l'[API Battery Status](/docs/Web/API/Battery_Status_API) est autorisé. Quand cette fonctionnalité est désactivée, la promesse retournée par {{DOMxRef("Navigator.getBattery","Navigator.getBattery()")}} sera rejetée avec une {{DOMxRef("DOMException")}} {{Exception("NotAllowedError")}}. +- {{httpheader('Feature-Policy/camera', 'camera')}} + - : Contrôle si le document courant est autorisé à utiliser l'appareil photographique du système. Quand cette fonctionnalité est désactivée, la promesse retournée par {{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} sera rejetée avec une {{DOMxRef("DOMException")}} {{Exception("NotAllowedError")}}. +- {{HTTPHeader('Feature-Policy/display-capture', 'display-capture')}} + - : Contrôle si le document courant est autorisé ou non à utiliser la méthode {{domxref("MediaDevices.getDisplayMedia", "getDisplayMedia()")}} pour effectuer une capture d'écran. Quand cette fonctionnalité est désactivée, la promesse retounrée par `getDisplayMedia()` sera rejetée avec une exception {{Exception("NotAllowedError")}} si la permission de prendre une capture d'écran n'est pas obtenue. +- {{httpheader('Feature-Policy/document-domain','document-domain')}} + - : Contrôle si le document courant est autorisé à définir la propriété {{domxref("document.domain")}}. Quand cette directive est désactivée, tenter de modifier {{domxref("document.domain")}} échouera et lèvera une {{domxref("DOMException")}} {{Exception("SecurityError")}}. +- {{httpheader('Feature-Policy/encrypted-media', 'encrypted-media')}} + - : Contrôle si le document courant est autorisé à utiliser l'API [Encrypted Media Extensions](/en-US/docs/Web/API/Encrypted_Media_Extensions_API) (EME). Quand cette directive est désactivée, la promesse retournée par {{domxref("Navigator.requestMediaKeySystemAccess()")}} sera rejecté avec une {{domxref("DOMException")}}. +- {{httpheader('Feature-Policy/execution-while-not-rendered', 'execution-while-not-rendered')}} + - : Contrôle si les tâches des cadres doivent être exécutées s'ils ne seront pas rendus à l'écran (par exemple si un `