Programowanie sieci na platformie .NET
Platforma .NET zapewnia warstwową, rozszerzalną i zarządzaną implementację usług internetowych, które można szybko i łatwo zintegrować z aplikacjami. Aplikacje sieciowe mogą opierać się na protokołach podłączanych, aby automatycznie korzystać z różnych protokołów internetowych lub mogą używać zarządzanej implementacji interfejsów gniazd międzyplatformowych do pracy z siecią na poziomie gniazda.
Aplikacje internetowe
Aplikacje internetowe można ogólnie klasyfikować na dwa rodzaje: aplikacje klienckie, które żądają informacji i aplikacji serwerowych, które odpowiadają na żądania informacji od klientów. Klasyczna aplikacja internetowa client-server to World Wide Web, w której użytkownicy używają przeglądarek do uzyskiwania dostępu do dokumentów i innych danych przechowywanych na serwerach internetowych na całym świecie.
Aplikacje nie są ograniczone tylko do jednej z tych ról; na przykład znany serwer aplikacji warstwy środkowej odpowiada na żądania od klientów, żądając danych z innego serwera, w tym przypadku działa zarówno jako serwer, jak i klient.
Aplikacja kliencka żąda żądania, identyfikując żądany zasób internetowy i protokół komunikacyjny do użycia dla żądania i odpowiedzi. W razie potrzeby klient udostępnia również dodatkowe dane wymagane do ukończenia żądania, takie jak lokalizacja serwera proxy lub informacje o uwierzytelnianiu (nazwa użytkownika, hasło itd.). Po utworzeniu żądania żądanie można wysłać do serwera.
Identyfikowanie zasobów
Platforma .NET używa jednolitego identyfikatora zasobu (URI) do identyfikowania żądanego zasobu internetowego i protokołu komunikacyjnego. Identyfikator URI składa się z co najmniej trzech i prawdopodobnie czterech fragmentów: identyfikator schematu, który identyfikuje protokół komunikacyjny dla żądania i odpowiedzi; identyfikator serwera, który składa się z nazwy hosta systemu nazw domen (DNS) lub adresu TCP, który jednoznacznie identyfikuje serwer w Internecie; identyfikator ścieżki, który lokalizuje żądane informacje na serwerze; i opcjonalny ciąg zapytania, który przekazuje informacje z klienta do serwera.
Typ System.Uri jest używany jako reprezentacja jednolitego identyfikatora zasobu (URI) i łatwy dostęp do części identyfikatora URI. Aby utworzyć Uri
wystąpienie, możesz przekazać go jako ciąg:
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
Klasa Uri
automatycznie wykonuje walidację i kanonizację na RCF 3986. Te reguły walidacji i kanonizacji są używane w celu zapewnienia, że identyfikator URI jest prawidłowo sformułowany i że identyfikator URI jest w postaci kanonicznej.
Zobacz też
- Opcje konfiguracji środowiska uruchomieniowego dla sieci
- Obsługa protokołu HTTP na platformie .NET
- Gniazda na platformie .NET
- TCP na platformie .NET
- Samouczek: tworzenie żądań HTTP w aplikacji konsolowej platformy .NET przy użyciu języka C#
- Telemetria sieciowa na platformie .NET
- Ulepszenia sieci platformy .NET