> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Différences des requêtes web entre GDK et XDK

> Différences entre les requêtes web dans le Microsoft Game Development Kit et le XBOX One Software Development Kit

Cet article décrit les différences des API de requêtes web entre le Microsoft Game Development Kit (GDK) et le XBOX One Software Development Kit. `WinHttp` est la nouvelle API HTTP Win32 qui remplace les API `IXMLHttpRequest2` (IXHR2) et `IMessageWebSocket`. `WinHttp` est une API de plus bas niveau qu'IXHR2 et, par conséquent, elle ne dispose pas de certaines fonctionnalités d'IXHR2, comme la mise en cache du contenu, les témoins (cookies), l'insertion automatique des jetons des XBOX services et l'application automatique de la sécurité. En contrepartie, `WinHttp` est beaucoup plus performante, car elle s'exécute dans le processus, présente moins de surcharge et évite les copies excessives en mémoire. De plus, `WinHttp` prend en charge HTTP/1.1, HTTP/2 et WebSockets, le tout dans une seule API, et comprend des fonctionnalités absentes d'IXHR2, comme les téléversements par blocs (chunked).

`XCurl` est une API HTTP pour le Microsoft Game Development Kit (GDK). `XCurl` offre une API plus simple au moyen d'un adaptateur par-dessus `WinHttp`. La surface d'API de `XCurl` correspond en grande partie à celle de [libCurl](https://curl.haxx.se/libcurl/). `XCurl` simplifie le développement des titres en appliquant automatiquement les pratiques exemplaires de sécurité et en gérant l'initialisation du réseau.

En plus de `WinHttp`, l'API XBOX Services (`XSAPI`) fournit l'ensemble simple d'API [http\_call](/fr-CA/reference/live/xsapi-c/http_call_c/http_call_c_members) que vous pouvez utiliser pour effectuer des requêtes HTTP REST vers vos propres serveurs personnalisés. Nous recommandons d'utiliser `XSAPI` pour toutes les requêtes REST que votre titre effectue vers vos propres services et vers les XBOX services.
Pour plus d'information sur `XSAPI`, consultez [Prise en main des API XBOX Services](/fr-CA/services/xbox-services/fundamentals/xbox-services-api/live-gs-xbl-apis).

Le GDK comprend un [exemple SimpleWinHttp](https://aka.ms/gdkdl) qui encapsule l'utilisation de WinHTTP dans un modèle asynchrone simple du Microsoft Game Development Kit (GDK). Nous vous recommandons d'utiliser cet exemple comme point de départ pour votre propre mise en œuvre de WinHTTP, car il couvre plusieurs des détails nécessaires pour bâtir une intégration WinHTTP sécurisée et robuste.

Pour plus d'information sur l'utilisation de `XCurl` ou de `WinHttp`, consultez [HTTP et sockets web](/fr-CA/build/console-features/networking/web-requests/http-networking).

## Initialisation du réseau

Votre titre est lancé le plus tôt possible pendant le processus de démarrage du Game OS. Vous pouvez commencer à charger des ressources à partir du disque dur et commencer à initialiser la pile graphique. Cependant, votre code s'exécute avant que les services réseau aient démarré, ce qui entraîne une période pendant laquelle il n'est pas sécuritaire d'utiliser les API réseau Win32. Nous appelons cette période la période d'*initialisation du réseau*, après laquelle le réseau est considéré comme initialisé. L'initialisation du réseau prend habituellement quelques secondes, ce qui peut être perceptible dans votre code.

Pour les titres ERA pour XBOX One, l'initialisation du réseau bloquait de façon implicite et arbitraire des API réseau autrement sécuritaires en temps réel, comme `WSAStartup` ou `bind`. Avec les applications du Microsoft Game Development Kit (GDK), l'initialisation du réseau est désormais un concept explicite avec lequel vous devez interagir pour utiliser toute API réseau ou de sécurité Win32.

Les titres du Microsoft Game Development Kit (GDK) doivent attendre que la valeur booléenne `XNetworkingConnectivityHint::networkInitialized` soit définie à `true` avant d'appeler toute API réseau de `Winsock`, `WinHttp`, `IP Helper`, `BCrypt`, `WinCrypt`, `Schannel` ou toute autre API réseau Win32. L'appel de l'une de ces API avant l'initialisation du réseau entraîne un comportement indéterminé pouvant aller jusqu'à des plantages aléatoires du processus.

De plus, ce même concept s'applique à tous les cycles de suspension et de reprise. Lors de la suspension, les titres du Microsoft Game Development Kit (GDK) doivent fermer tous les descripteurs réseau et de sécurité. Les titres du Microsoft Game Development Kit (GDK) doivent ensuite traiter le gestionnaire de reprise de la même façon que le lancement initial du titre du point de vue du réseau, et attendre de nouveau que le réseau soit initialisé.

Pour plus d'information, y compris des exemples de code montrant comment attendre l'initialisation du réseau, consultez [Initialisation et connectivité du réseau](/fr-CA/build/console-features/networking/initialization-connectivity-networking).

## Voir aussi

[Initialisation et connectivité du réseau](/fr-CA/build/console-features/networking/initialization-connectivity-networking)

[Vue d'ensemble de la sécurité des communications](/fr-CA/build/game-principles/security/communication-security-overview)

[Prise en main des API XBOX Services](/fr-CA/services/xbox-services/fundamentals/xbox-services-api/live-gs-xbl-apis)

[http\_call\_c](/fr-CA/reference/live/xsapi-c/http_call_c/http_call_c_members)


## Related topics

- [Web request differences between GDK and XDK](/build/console-features/networking/xdk-migration/xdk-migration-web-requests-networking.md)
- [Diferencias de las solicitudes web entre GDK y XDK](/es/build/console-features/networking/xdk-migration/xdk-migration-web-requests-networking.md)
- [Game mesh communication: GDK vs XDK differences](/build/console-features/networking/xdk-migration/xdk-migration-game-mesh-networking.md)
- [Migrating XDK networking to the XBOX GDK](/build/console-features/networking/xdk-migration/index.md)
- [Notes de version de PlayFab Party](/fr-CA/services/playfab/multiplayer/networking/release-notes.md)
