--- title: 'Fetch : concepts de départ' slug: Web/API/Fetch_API/Basic_concepts translation_of: Web/API/Fetch_API/Basic_concepts --- {{DefaultAPISidebar("Fetch API")}}{{draft}} L'API [Fetch ](/en-US/docs/Web/API/Fetch_API)fournit une interface pour récupérer des ressources (y compris depuis le réseau). Elle paraîtra familière à quiconque aura déjà utilisé {{domxref("XMLHttpRequest")}}, mais elle fournit un jeu de fonctionnalités plus puissantes et plus souples. Cet article explique quelques uns des principes de base de l'API Fetch. > **Note :** This article will be added to over time. If you find a Fetch concept that you feel needs explaining better, let someone know on the [MDN discussion forum](https://discourse.mozilla-community.org/c/mdn), or [Mozilla IRC](https://wiki.mozilla.org/IRC) (#mdn room.) ## In a nutshell At the heart of Fetch are the Interface abstractions of HTTP {{domxref("Request")}}s, {{domxref("Response")}}s, {{domxref("Headers")}}, and {{domxref("Body")}} payloads, along with a {{domxref("GlobalFetch.fetch","global fetch")}} method for initiating asynchronous resource requests. Because the main components of HTTP are abstracted as JavaScript objects, it is easy for other APIs to make use of such functionality. [Service Workers](/en-US/docs/Web/API/ServiceWorker_API) is an example of an API that makes heavy use of Fetch. Fetch takes the asynchronous nature of such requests one step further. The API is completely {{jsxref("Promise")}}-based. ## Guard Guard is a feature of {{domxref("Headers")}} objects, with possible values of `immutable`, `request`, `request-no-cors`, `response`, or `none`, depending on where the header is used. When a new {{domxref("Headers")}} object is created using the {{domxref("Headers.Headers","Headers()")}} {{glossary("constructor")}}, its guard is set to `none` (the default). When a {{domxref("Request")}} or {{domxref("Response")}} object is created, it has an associated {{domxref("Headers")}} object whose guard is set as summarized below:
new object's type | creating constructor | guard setting of associated {{domxref("Headers")}} object |
---|---|---|
{{domxref("Request")}} | {{domxref("Request.Request","Request()")}} | request |
{{domxref("Request.Request","Request()")}} with
{{domxref("Request.mode","mode")}} of no-cors
|
request-no-cors |
|
{{domxref("Response")}} | {{domxref("Response.Response","Response()")}} | response |
{{domxref("Response.error","error()")}} or {{domxref("Response.redirect","redirect()")}} methods | immutable |