An Internet gateway server for dynamically loading a database with data extracted
from selected header fields and the body of inbound and outbound HTTP messages
exchanged between one or more servers and the Web browsers which connect with those
servers. The gateway server or "WebJacket" is interposed in the communications
pathway between the server(s) and client(s) receiving each of inbound messages
from a client and forwarding the received inbound messages to the server(s). The
WebJacket extracts a first selected set of data contained in predetermined ones
of said inbound messages and storing this incoming message data in predetermined
locations in a relational database. The WebJacket further receives, stores and
forwards each outbound message from the server(s) and extracts a second selected
set of data from the outbound messages. To speed performance, the WebJacket uses
multithreaded processes to forward each message to its destination before or while
the content of that message is being posted into the database. The specific information
to be saved from each message, and the database location where it is to reside,
is specified by configuration data accepted from a user in advance of handling
the messages. When the message content is not sufficient to uniquely each client
that initiated a given request/response exchange, client identification data in
inserted into the outbound message in a "set-cookie" header instruction so that
all messages to or from a given client may thereafter be identified. The configuration
data identifies messages which already include cookie data which is adequate to
identify the client.