Die Datenbankmethode On Web Connection wird in folgenden Fällen aufgerufen:
- Der Web Server empfängt eine Anfrage, die mit der URL 4DCGI beginnt.
- Der Web Server empfängt eine ungültige Anfrage
Weitere Informationen dazu finden Sie im letzten Abschnitt Datenbankmethode On Web Connection aufrufen.
Hinweis zur Kompatibilität: Die Datenbankmethode wird auch aufgerufen, wenn ein Kontext im kontextuellen Modus erstellt wird (überholter Modus, der in konvertierten Datenbanken verwendet wird).
Die Anfrage sollte zuvor von der Datenbankmethode On Web Authentication – sofern vorhanden – angenommen worden sein und der Web Server muss gestartet sein.
Die Datenbankmethode On Web Connection erhält sechs Textparameter, die von 4D übergeben werden. Der Inhalt dieser Parameter ist wie folgt:
Parameter | Typ | Beschreibung |
$1 | Text | URL |
$2 | Text | HTTP Kopfteil + HTTP Hauptteil (max. 32 Kb) |
$3 | Text | IP Adresse des Web Client (Browser) |
$4 | Text | IP Adresse des Server |
$5 | Text | Benutzername |
$6 | Text | Kennwort |
Sie müssen diese Parameter folgendermaßen deklarieren:
- URL Extra Daten
Der erste Parameter ($1) ist die URL, welche der Benutzer im Bereich Location seines Web Browsers eingibt, nachdem die Host-Adresse entfernt wurde.
Nehmen wir als Beispiel eine Intranet Verbindung. Die IP Adresse Ihres 4D Web Server Rechners ist 123.4.567.89. Nachfolgende Tabelle zeigt die Werte von $1 abhängig von den im Web Browser eingegebenen URL:
URL im Bereich Location des Web Browsers | Wert des Parameters $1 |
123.4.567.89 | / |
http://123.4.567.89 | / |
123.4.567.89/Kunden | /Kunden |
http://123.4.567.89/Kunden | /Kunden |
http://123.4.567.89/Kunden/Hinzufügen | /Kunden/Hinzufügen |
123.4.567.89/Aktion1/Wenn_OK/Aktion2 | /Aktion1/Wenn_OK/Aktion2 |
Sie können diese Parameter nach Belieben nutzen. 4D berücksichtigt nicht den Wert, der nach dem Host-Teil der URL steht.
Sie können zum Beispiel eine Konvention festlegen, nach der der Wert "/Kunden/Hinzufügen" bedeutet “gehe direkt zu der Aktion Neuen Datensatz in der Tabelle [Customers] hinzufügen.” Wenn Sie den Web Benutzern Ihrer Datenbank eine Liste der möglichen Werte und/oder Standard-Bookmarks zur Verfügung stellen, können Sie auch Tastaturkürzel für die verschiedenen Teile Ihrer Anwendung einrichten. So können Web Benutzer schnell auf die Ressourcen im Web zugreifen und müssen nicht bei jedem Verbindungsaufbau erneut den gesamten Navigationspfad durchlaufen.
Warnung: Um zu verhindern, dass ein Benutzer mit einem bei einer früheren Sitzung erstellten Bookmark erneut in die Datenbank gelangt, fängt 4D jede URL ab, die zu den Standard URLs von 4D gehört.
- Kopfteil der HTTP Anfrage gefolgt vom HTTP Hauptteil
Der zweite Parameter ($2) ist der Kopfteil der HTTP Anfrage, die der Web Browser sendet. Beachten Sie, dass dieser Kopfteil komplett in Ihre Datenbankmethode On Web Connection übernommen wird. Sein Inhalt variiert je nach Art des Web Browsers, der versucht, die Verbindung aufzubauen.
Mit Safari auf Mac OS könnte der Kopfteil folgendermaßen aussehen:
GET /favicon.ico HTTP/1.1
Referer: http://123.45.67.89/4dcgi/test
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; fr-fr) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10
Cache-Control: max-age=0
Accept: */*
Accept-Language: fr-fr
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: 123.45.67.89
Mit Microsoft Internet Explorer 8 auf Windows könnte der Kopfteil folgendermaßen aussehen
GET / HTTP/1.1
Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Accept-Language: fr-FR
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
Accept-Encoding: gzip, deflate
Host: 123.45.67.89
Connection: Keep-Alive
Enthält Ihre Anwendung diese Information, können Sie selbst wählen, ob Sie den Kopfteil und den Hauptteil durchlaufen.
Hinweis: Aus Performance-Gründen dürfen diese Daten nicht größer als 32 KB sein. Wenn sie darüber liegen, werden sie vom 4D HTTP Server abgeschnitten.
- IP Adresse des Web Client
Der Parameter $3 empfängt die IP Adresse des Browser Rechners. Mit dieser Information können Sie zwischen Intranet und Internet Verbindungen unterscheiden. - IP Adresse des Server
Der Parameter $4 empfängt die IP Adresse, an welche die HTTP Anfrage gesendet wurde. 4D ermöglicht 4D Multi-homing, d.h. den Einsatz von Rechnern mit mehr als einer IP Adresse. Weitere Informationen dazu finden Sie im Abschnitt Web Server, Einstellungen. - Benutzername und Kennwort
Die Parameter $5 und $6 empfangen Benutzernamen und Kennwort, die der Benutzer im vom Browser angezeigten Dialogfenster Standardidentifikation eingibt. Dieses Dialogfenster erscheint für jede Verbindung, wenn im Dialogfenster Datenbank-Eigenschaften die Option Benutze Kennwort ausgewählt wurde. Weitere Informationen dazu finden Sie im Abschnitt Sicherheit der Verbindung.
Hinweis: Gibt es den vom Browser gesendeten Benutzernamen in 4D, wird der Parameter $6 (Benutzerkennwort) aus Sicherheitsgründen nicht zurückgegeben.
Die Datenbankmethode On Web Connection lässt sich als Einstiegspunkt für den 4D Web Server verwenden, entweder über die spezielle URL /4DCGI/... oder über angepasste URL Befehle.
Warnung: Wird ein 4D Befehl aufgerufen, der ein Element der Oberfläche anzeigt (DIALOG, ALERT...), beendet das den Prozess.
Die Datenbankmethode On Web Connection wird in folgenden Fällen aufgerufen:
- Wenn 4D die URL /4DCGI empfängt. Die Datenbankmethode wird in $1 mit der URL /4DCGI/<action> aufgerufen.
- Wenn eine Web Seite aufgerufen wird und keine URL vom Typ <path>/<file> gefunden wird. Die Datenbankmethode wird mit der URL aufgerufen. (*)
- Wenn eine Web Seite mit einer URL vom Typ <file>/ aufgerufen wird und standardmäßig keine Home Page definiert wurde. Die Datenbankmethode wird mit der URL aufgerufen. (*)
(*) In diesem Sonderfall startet die in $1 empfangene URL NICHT mit dem Zeichen "/".