Web-Clients sind nur bedingt zur Suche in Datenbanken geeignet, da die Verbindung zwischen Client und Server zustandslos ist. Für jede Anfrage an den Web-Server wird eine neue Verbindung aufgebaut, das Ergebnis zurückgeliefert und danach die Verbindung abgebaut. Der Web-Server hat keine Information darüber, welche Anfragen der Web-Client (Benutzer) zuvor bereits gestellt hat. Dies ist in diesem Fall ein Nachteil, da sich Suchanfragen häufig auf vorherige Anfragen beziehen, zum Beispiel mit dem Befehl ``gib die nächsten 10 Treffer aus''.
Dieses Dilemma wird mit einem WWW-Z39.50-Gateway gelöst. Das WWW-Z39.50-Gateway setzt die zustandslose Kommunikation zwischen Web-Client und Web-Server in eine verbindungsorientierte Kommunikation zur Datenbank um (Abbildungen 3.4, 3.5 und 3.6).
Abbildung: Client-Server-Kommunikation im WWW-Z39.50-Gateway
Abbildung: Oberfläche WWW-Z39.50-Gateway
Der Web-Client kommuniziert mit dem Web-Server. Die Datenbank selbst kann der Web-Client nicht direkt ansprechen - dies übernimmt das WWW-Z39.50-Gateway (siehe Abbildung 3.6).
Die Kommunikation zwischen Web-Client und dem WWW-Z39.50 Gateway gestaltet sich wie folgt: Der Benutzer startet seinen Web-Client (Browser) und gibt die Adresse des Web-Servers ein. Der Web-Server schickt eine Suchmaske (eine HTML-Seite) an den Browser zurück. Der Benutzer gibt in der Suchmaske die Werte für die gewünschten Suche ein, zum Beispiel Autor=salton, und schickt die Anfrage an den Web-Server. Der Web-Server bearbeitet die Anfrage des Clients. Er wandelt sie in eine Z39.50-Anfrage um und schickt sie an den Z39.50-Server. In der bibliographischen Datenbank wird jetzt nach den gewünschten Datensätzen gesucht, in diesem Fall nach Büchern des Autors ``Salton''. Als Ergebnis werden die Datensätze dem Web-Server zurückgeliefert. Der Web-Server wandelt die Ergebnisse der Datenbank in das HTML-Format um und schickt sie an den Web-Client, der die Ergebnisse dem Benutzer präsentiert.