aboutsummaryrefslogtreecommitdiff
path: root/files/fr/glossary/cacheable/index.md
blob: c36acb0bf15f202c5dd9096f3efb283bd819f271 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
title: Apte à être mis en cache
slug: Glossary/cacheable
tags:
  - Glossaire
  - Mise en cache
  - Mécanismes web
translation_of: Glossary/cacheable
original_slug: Glossaire/cacheable
---
<p>Une réponse apte à être mise en cache (<em>cacheable</em>) est une réponse HTTP qui peut être mise en cache, qui est stockée pour être récupérée et utilisée plus tard, en enregistrant une nouvelle requête sur le serveur. Toutes les réponses HTTP ne peuvent pas être mises en cache, les contraintes suivantes sont requises pour qu'une réponse HTTP soit mise en cache :</p>

<ul>
 <li>La méthode utilisée dans la requête peut elle-même être mise en cache, c'est une méthode {{HTTPMethod("GET")}} ou {{HTTPMethod("HEAD")}}. Une réponse de la méthode {{HTTPMethod("POST")}} peut aussi être mise en cache si le rafraîchissement est indiqué, mais c'est rarement implémenté. D'autres méthodes comme {{HTTPMethod("PUT")}} ou {{HTTPMethod("DELETE")}} ne peuvent pas être mises en cache et leur résultat pas davantage.</li>
 <li>Le code d'état de la réponse est connu par la mise en cache de l'application et il est considéré comme apte à être mis en cache. Les codes d'état suivants peuvent être mis en cache : {{HTTPStatus("200")}}, {{HTTPStatus("203")}}, {{HTTPStatus("204")}}, {{HTTPStatus("206")}}, {{HTTPStatus("300")}}, {{HTTPStatus("301")}}, {{HTTPStatus("404")}}, {{HTTPStatus("405")}}, {{HTTPStatus("410")}}, {{HTTPStatus("414")}}, et {{HTTPStatus("501")}}.</li>
 <li>Il n'y a pas d'en-tête spécifique dans la réponse, comme {{HTTPHeader("Cache-Control")}}, qui empêche la mise en cache.</li>
</ul>

<p>Notez que certaines requêtes / réponses ne pouvant être mises en cache à un URI spécifique peuvent invalider des réponses précédemment mises en cache sur le même URI. Par exemple, un {{HTTPMethod("PUT")}} à pageX.html invalidera toutes les requêtes {{HTTPMethod("GET")}} ou {{HTTPMethod("HEAD")}} dans le même URI.</p>

<p>Lorsque les deux, la méthode de la requête et l'état de la réponse, peuvent être mis en cache, la réponse à la requête peut être mise en cache :</p>

<pre>GET /pageX.html HTTP/1.1
(…)

200 OK
(…)
</pre>

<p>Une requête {{HTTPMethod("PUT")}} ne peut pas être mise en cache. De plus, elle invalide les données mises en cache pour une requête au même URI via {{HTTPMethod("HEAD")}} ou {{HTTPMethod("GET")}} :</p>

<pre>PUT /pageX.html HTTP/1.1
(…)

200 OK
(…)
</pre>

<p>Un en-tête spécifique {{HTTPHeader("Cache-Control")}} dans la réponse peut empêcher la mise en cache :</p>

<pre>GET /pageX.html HTTP/1.1
(…)

200 OK
Cache-Control: no-cache
(…)</pre>

<h2 id="En_apprendre_plus">En apprendre plus</h2>

<h3 id="Culture_générale">Culture générale</h3>

<ul>
 <li>Définition de <a href="https://tools.ietf.org/html/rfc7231#section-4.2.3">cacheable</a> dans la spécification HTTP.</li>
</ul>

<h3 id="Références_techniques">Références techniques</h3>

<ul>
 <li>Description de méthodes courantes pouvant être mises en cache : {{HTTPMethod("GET")}}, {{HTTPMethod("HEAD")}}</li>
 <li>Description de méthodes courantes ne pouvant pas être mises en cache : {{HTTPMethod("PUT")}}, {{HTTPMethod("DELETE")}} et souvent {{HTTPMethod("POST")}}</li>
</ul>