La API del servidor HTTP permite que las aplicaciones se comuniquen mediante HTTP sin usar Microsoft Internet Information Server (IIS).
La API HTTP Server permite a las aplicaciones comunicarse a través de HTTP sin usar Microsoft Internet Information Server (IIS). Las aplicaciones pueden registrarse para recibir solicitudes HTTP para URLs particulares, recibir solicitudes WebSocket y enviar respuestas WebSocket. La API HTTP Server incluye soporte SSL para que las aplicaciones puedan intercambiar datos a través de conexiones HTTP seguras sin IIS. También está diseñada para trabajar con puertos de completación de E/S.
El servidor admite los siguientes protocolos:
De forma predeterminada, este componente requiere que su aplicación se ejecute en modo Administrador para el registro de URL. Si la URL ya ha sido registrada mediante una herramienta externa como netsh, puede ejecutar la aplicación sin derechos de administrador; deshabilite la propiedad BindingOptions.ConfigureSSLCertificate para permitir el inicio de la aplicación sin derechos de administrador.
Establezca FastMM4/FastMM5 como la primera unidad de su proyecto.
Siga los pasos que se indican a continuación para configurar este componente:
1. Coloque un componente TsgcWebSocketServer_HTTPAPI en el formulario
2. Defina la dirección de escucha y el puerto:
Server.Host := '127.0.0.1';
Server.Port := 80;
3. Establezca las especificaciones permitidas; de forma predeterminada, se permiten todas las especificaciones.
RFC6455: es la especificación WebSocket estándar y recomendada.
Hixie76: es un borrador y solo se recomienda establecer conexiones Hixie76 si desea ofrecer soporte a navegadores antiguos como Safari 4.2
5. Cree un procedimiento y establezca la propiedad Active = true
El servidor HTTP.SYS utiliza la reserva de URL para asignar qué endpoints de URL utilizará el servidor HTTP.SYS.
Reserva de URL básica
Este es el modo simple más sencillo para configurar el servidor; básicamente solo se establece el Host y el Puerto que el servidor HTTP.SYS gestionará.
Ejemplo: si su servidor se ejecuta en la IP 127.0.0.1 y el Puerto 80, simplemente establezca las siguientes propiedades
Server.Host := '127.0.0.1';
Server.Port := 80;
Si el servidor se ejecuta en más de una IP y desea vincularse a varias IPs, utilice el Método NewBinding. Primero borre la propiedad Host y Bindings y luego utilice el método NewBinding para definir todos los enlaces del servidor.
Server.Host := '';
Server.Bindings.Clear;
Server.Bindings.NewBinding('127.0.0.1', 80, '');
Server.Bindings.NewBinding('80.50.55.11', 80, '');
Si el servidor requiere conexiones SSL, realice los siguientes pasos para definir el Host y el Puerto que se utilizarán para gestionar las conexiones SSL.
Server.Host := '127.0.0.1';
Server.Port := 443;
Server.SSL := True;
Server.SSLOptions.Hash := 'CERTIFICATE_HASH';
Si el servidor requiere conexiones SSL con múltiples direcciones IP, primero borre la propiedad Host y Bindings y luego registre los nuevos Bindings.
Server.Host := '';
Server.Bindings.Clear;
Server.Bindings.NewBinding('127.0.0.1', 443, '', true, 'CERTIFICATE_HASH1');
Server.Bindings.NewBinding('80.50.55.11', 443, '', true, 'CERTIFICATE_HASH2');