Programmation réseau dans .NET
.NET fournit une implémentation en couches, extensible et managée des services Internet que vous pouvez intégrer rapidement et facilement à vos applications. Les applications réseau peuvent utiliser des protocoles enfichables pour tirer parti automatiquement de divers protocoles Internet, ou utiliser une implémentation managée des interfaces de socket multiplateformes pour utiliser le réseau au niveau du socket.
Applications Internet
Les applications Internet se répartissent globalement en deux catégories : les applications clientes qui demandent des informations et les applications serveur qui répondent aux demandes d’informations des clients. L’application client-serveur Internet classique est le World Wide Web, où les internautes utilisent des navigateurs pour accéder aux documents et autres données qui sont stockés sur des serveurs web dans le monde entier.
Les applications ne se limitent pas à un seul de ces rôles. Par exemple, un serveur d’applications de niveau intermédiaire standard répond aux demandes des clients en demandant des données à un autre serveur. Dans ce cas, il agit à la fois comme serveur et comme client.
L’application cliente effectue une demande en identifiant la ressource Internet demandée ainsi que le protocole de communication à utiliser pour la demande et la réponse. Si nécessaire, le client fournit aussi les données supplémentaires requises pour effectuer la demande, telles que les informations sur l’emplacement du proxy ou les informations d’authentification (nom d’utilisateur, mot de passe, etc.). Une fois que la demande est prête, elle est envoyée au serveur.
Identifier les ressources
.NET utilise un URI (Uniform Resource Identifier) pour identifier la ressource Internet demandée et le protocole de communication. L’URI se compose de trois ou quatre parties : l’identificateur de schéma, qui identifie le protocole de communication utilisé pour la demande et la réponse ; l’identificateur de serveur, constitué d’un nom d’hôte DNS ou d’une adresse TCP qui identifie de façon unique le serveur sur Internet ; l’identificateur de chemin, qui situe les informations demandées sur le serveur ; et une chaîne de requête facultative, qui passe les informations du client au serveur.
Le type System.Uri est utilisé pour représenter un URI et simplifier l’accès aux parties de l’URI. Pour créer une instance Uri
, vous pouvez lui passer une chaîne :
const string uriString =
"https://learn.microsoft.com/en-us/dotnet/path?key=value#bookmark";
Uri canonicalUri = new(uriString);
Console.WriteLine(canonicalUri.Host);
Console.WriteLine(canonicalUri.PathAndQuery);
Console.WriteLine(canonicalUri.Fragment);
// Sample output:
// learn.microsoft.com
// /en-us/dotnet/path?key=value
// #bookmark
La classe Uri
effectue automatiquement la validation et la canonicalisation conformément à RCF 3986. Ces règles de validation et de canonicalisation sont utilisées pour garantir qu’un URI est bien formé et que l’URI se présente sous une forme canonique.