Programación para redes en .NET
.NET proporciona una implementación por capas, extensible y administrada de servicios de Internet que se puede integrar rápida y fácilmente en las aplicaciones. Las aplicaciones de red se pueden basar en protocolos conectables para poder usar automáticamente diferentes protocolos de Internet, o pueden utilizar una implementación administrada de interfaces de socket multiplataforma para operar con la red en el nivel de socket.
Aplicaciones de Internet
Las aplicaciones de Internet se pueden clasificar de forma general en dos tipos: aplicaciones de cliente que solicitan información y aplicaciones de servidor que responden a solicitudes de información de los clientes. La aplicación cliente-servidor de Internet clásica es la World Wide Web, donde se usan exploradores para acceder a documentos y otros datos almacenados en servidores web de todo el mundo.
Las aplicaciones no se limitan a uno solo de estos roles. Por ejemplo, el conocido servidor de aplicaciones de nivel intermedio responde a las solicitudes de los clientes, para lo que solicita datos de otro servidor, en cuyo caso actúa como servidor y cliente.
La aplicación cliente realiza solicitudes, para lo que identifica el recurso de Internet solicitado y el protocolo de comunicación que se usará en la solicitud y la respuesta. Si es necesario, el cliente también proporciona todos los datos adicionales que sean necesarios para completar la solicitud, como la ubicación del proxy o la información de autenticación (nombre de usuario, contraseña, etc.). Una vez generada la solicitud, se puede enviar al servidor.
Identificación de recursos
.NET usa un identificador uniforme de recursos (URI) para identificar el recurso de Internet solicitado y el protocolo de comunicación. Este URI consta de al menos tres y, posiblemente, cuatro fragmentos: el identificador de esquema, que identifica el protocolo de comunicaciones para la solicitud y la respuesta; el identificador de servidor, que consta de un nombre de host del Sistema de nombres de dominio (DNS) o una dirección TCP que identifica de forma única el servidor en Internet; el identificador de la ruta de acceso, que busca la información solicitada en el servidor; y una cadena de consulta opcional, que pasa información del cliente al servidor.
El tipo System.Uri se usa como una representación de objeto de un identificador uniforme de recursos (URI) y un acceso sencillo a las partes del identificador URI. Para crear una instancia de Uri
, puede pasar una cadena:
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 clase Uri
realiza automáticamente la validación y la canonización conforme a RCF 3986. Estas reglas de validación y canonización se usan para garantizar que un URI tiene un formato correcto y presenta una forma canónica.