aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/performanceresourcetiming/transfersize/index.md
blob: 3cc15d9cff52d41aeeed7951d045df2c2a3d93ff (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
---
title: PerformanceResourceTiming.transferSize
slug: Web/API/PerformanceResourceTiming/transferSize
tags:
  - API
  - Property
  - Propriété
  - Reference
  - Performance Web
  - Resource Timing API
  - transferSize
translation_of: Web/API/PerformanceResourceTiming/transferSize
---
{{APIRef("Resource Timing API")}}

La propriété en lecture seule **`transferSize`** représente la taille (en octets) de la ressource extraite. La taille comprend les champs d'en-tête de la réponse plus la charge utile du corps de la réponse (comme défini par la [RFC 7230](https://httpwg.github.io/specs/rfc7230.html#message.body)).

{{AvailableInWorkers}}

Si la ressource est extraite d'un cache local ou s'il s'agit d'une ressource d'origine croisée, cette propriété renvoie zéro.

## Syntaxe

```js
resource.transferSize;
```

### Valeur de retour

Un `number` représentant la taille (en octets) de la ressource extraite. La taille comprend les champs d'en-tête de la réponse plus la taille [de la charge utile du corps de la réponse](https://httpwg.github.io/specs/rfc7230.html#message.body) (RFC7230).

## Exemple

Dans l'exemple suivant, les valeurs des propriétés de taille de tous les [types](/fr/docs/Web/API/PerformanceEntry/entryType) `"resource"` sont enregistrées.

```js
function log_sizes(perfEntry){
  // Vérifie la prise en charge des propriétés PerformanceEntry.*size et imprime leurs valeurs
  // si elles sont prises en charge
  if ("decodedBodySize" in perfEntry)
    console.log("decodedBodySize = " + perfEntry.decodedBodySize);
  else
    console.log("decodedBodySize = N'EST PAS pris en charge");

  if ("encodedBodySize" in perfEntry)
    console.log("encodedBodySize = " + perfEntry.encodedBodySize);
  else
    console.log("encodedBodySize = N'EST PAS pris en charge");

  if ("transferSize" in perfEntry)
    console.log("transferSize = " + perfEntry.transferSize);
  else
    console.log("transferSize = N'EST PAS pris en charge");
}
function check_PerformanceEntries() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements "resource"
  let p = performance.getEntriesByType("resource");
  for (let i = 0; i < p.length; i++) {
    log_sizes(p[i]);
  }
}
```

## Spécifications

| Spécification                                                                                                                                | Statut                                   | Commentaire          |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | -------------------- |
| {{SpecName('Resource Timing 2', '#dom-performanceresourcetiming-transfersize',
        'transferSize')}} | {{Spec2('Resource Timing 2')}} | Définition initiale. |

## Compatibilité des navigateurs

{{Compat("api.PerformanceResourceTiming.transferSize")}}