aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/http/methods/patch/index.html
blob: 0f6c6bf8e6ac348f62e99963ca4d25f96aad0fa9 (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
title: PATCH
slug: Web/HTTP/Methods/PATCH
translation_of: Web/HTTP/Methods/PATCH
original_slug: Web/HTTP/Méthode/PATCH
---
<p>La <strong>méthode <code>PATCH</code> d'une requête HTTP</strong> applique des modifications partielles à une ressource.</p>

<p>La méthode HTTP {{HTTPMethod("PUT")}} est déjà définie pour écraser une ressource avec un nouveau corps complet de message, et pour la méthode HTTP {{HTTPMethod("POST")}}, il n'existe aucun moyen standard pour découvrir le support de format de patch. Tout comme <code>POST</code>, la méthode HTTP <code>PATCH</code> n'est pas listée comme étant idempotent, contrairement à <code>PUT</code>. Cela signifie que les requêtes patch identiques et successives auront des effets différents sur l'objet manipulé.</p>

<p>Pour découvrir si un serveur supporte la méthode PATCH, un serveur peut annoncer son support en l'ajoutant à la liste des méthodes autorisées dans les headers de la réponse {{HTTPHeader ("Allow")}} ou encore {{HTTPHeader ("Access-Control-Allow-Methods")}} (pour CORS).</p>

<p>Une autre indication (implicite) que la méthode PATCH est autorisée est la présence du header {{HTTPHeader("Accept-Patch")}}.</p>

<table class="properties">
 <tbody>
  <tr>
   <th scope="row">La requête possède un corps de message (body)</th>
   <td>Oui</td>
  </tr>
  <tr>
   <th scope="row">Une requête traitée avec succès retourne une réponse avec un corps de message (body)</th>
   <td>Non</td>
  </tr>
  <tr>
   <th scope="row">{{Glossary("Safe")}}</th>
   <td>Non</td>
  </tr>
  <tr>
   <th scope="row">{{Glossary("Idempotent")}}</th>
   <td>Non</td>
  </tr>
  <tr>
   <th scope="row">{{Glossary("Cacheable")}}</th>
   <td>Non</td>
  </tr>
  <tr>
   <th scope="row">Utilisation au sein des <a href="/fr/docs/Web/Guide/HTML/Formulaires">formulaires HTML</a></th>
   <td>Non</td>
  </tr>
 </tbody>
</table>

<h2 id="Syntaxe">Syntaxe</h2>

<pre class="syntaxbox">PATCH /file.txt HTTP/1.1
</pre>

<h2 id="Exemple">Exemple</h2>

<h3 id="Requête">Requête</h3>

<pre class="line-numbers  language-html">PATCH /file.txt HTTP/1.1
Host: www.example.com
Content-Type: application/example
If-Match: "e0023aa4e"
Content-Length: 100

[description des changements]</pre>

<h3 id="Réponse">Réponse</h3>

<p>Une requête traitée avec succès retourne une réponse accompagnée d'un code de réponse {{HTTPStatus("204")}}. Dans ce cas-ci, la réponse ne contient un corps de message.</p>

<pre class="newpage">HTTP/1.1 204 No Content
Content-Location: /file.txt
ETag: "e0023aa4f"</pre>

<h2 id="Spécifications">Spécifications</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Spécification</th>
   <th scope="col">Titre</th>
  </tr>
  <tr>
   <td>{{RFC("5789", "PATCH")}}</td>
   <td>Méthode PATCH pour HTTP (PATCH Method for HTTP)</td>
  </tr>
 </tbody>
</table>

<h2 id="Voir_aussi">Voir aussi</h2>

<ul>
 <li>{{HTTPStatus("204")}}</li>
 <li>{{HTTPHeader("Allow")}}, {{HTTPHeader("Access-Control-Allow-Methods")}}</li>
 <li>{{HTTPHeader("Accept-Patch")}} – spécifie les formats de document de patch acceptés par le serveur.</li>
</ul>