Die HTTP Server API ermöglicht es Anwendungen, über HTTP zu kommunizieren, ohne den Microsoft Internet Information Server (IIS) zu verwenden.
Die HTTP Server API ermöglicht es Anwendungen, über HTTP zu kommunizieren, ohne den Microsoft Internet Information Server (IIS) zu verwenden. Anwendungen können sich registrieren, um HTTP-Anfragen für bestimmte URLs zu empfangen, WebSocket-Anfragen zu empfangen und WebSocket-Antworten zu senden. Die HTTP Server API enthält SSL-Unterstützung, sodass Anwendungen Daten über sichere HTTP-Verbindungen ohne IIS austauschen können. Sie ist außerdem so konzipiert, dass sie mit I/O Completion Ports zusammenarbeitet.
Der Server unterstützt die folgenden Protokolle:
Standardmäßig erfordert diese Komponente, dass Ihre Anwendung für die URL-Registrierung im Administratormodus läuft. Wenn die URL bereits mit einem externen Tool wie netsh registriert wurde, können Sie ohne Administratorrechte laufen; deaktivieren Sie die Eigenschaft BindingOptions.ConfigureSSLCertificate, um den Start der Anwendung ohne Administratorrechte zu ermöglichen.
Setzen Sie FastMM4/FastMM5 als erste Unit Ihres Projekts.
Folgen Sie den nachstehenden Schritten, um diese Komponente zu konfigurieren:
1. Platzieren Sie eine TsgcWebSocketServer_HTTPAPI-Komponente im Formular
2. Definieren Sie die Listening-Adresse und den Port:
Server.Host := '127.0.0.1';
Server.Port := 80;
3. Legen Sie die zulässigen Specifications fest; standardmäßig sind alle Specifications zulässig.
RFC6455: Standard- und empfohlene WebSocket-Spezifikation.
Hixie76: Es ist ein Entwurf und es wird nur empfohlen, Hixie76-Verbindungen herzustellen, wenn Sie Unterstützung für alte Browser wie Safari 4.2 bieten möchten
5. Erstellen Sie eine Prozedur und setzen Sie die Eigenschaft Active = true
Der HTTP.SYS-Server verwendet URL-Reservierung, um zuzuweisen, welche URL-Endpunkte vom HTTP.SYS-Server verwendet werden.
Grundlegende URL-Reservierung
Dies ist der einfachste Modus zur Konfiguration des Servers; im Wesentlichen legen Sie nur den Host und Port fest, den der HTTP.SYS-Server verarbeiten wird.
Beispiel: wenn Ihr Server auf der IP 127.0.0.1 und Port 80 läuft, setzen Sie einfach die folgenden Eigenschaften
Server.Host := '127.0.0.1';
Server.Port := 80;
Wenn der Server in mehr als einer IP läuft und Sie an mehrere IPs binden möchten, verwenden Sie die Methode NewBinding. Löschen Sie zunächst die Eigenschaften Host und Bindings und verwenden Sie dann die Methode NewBinding, um alle Server-Bindings zu definieren.
Server.Host := '';
Server.Bindings.Clear;
Server.Bindings.NewBinding('127.0.0.1', 80, '');
Server.Bindings.NewBinding('80.50.55.11', 80, '');
Wenn der Server SSL-Verbindungen erfordert, gehen Sie wie folgt vor, um den Host und Port zu definieren, die zur Behandlung von SSL-Verbindungen verwendet werden.
Server.Host := '127.0.0.1';
Server.Port := 443;
Server.SSL := True;
Server.SSLOptions.Hash := 'CERTIFICATE_HASH';
Wenn der Server SSL-Verbindungen mit mehreren IP-Adressen erfordert, leeren Sie zuerst die Eigenschaften Host und Bindings und registrieren Sie dann die neuen 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');