The Web Server is just a configuration of a dispatching server.
dispatch-server^ : signature
Runs the server—
the confirmation channel will be send an exception if one occurs starting the server or the port number if there is none— and returns a procedure that shuts down the server.Serves a single connection represented by the ports ip and op.
dispatch-server-connect^ : signature
The dispatch-server-connect^ signature abstracts the conversion of connection ports (e.g., to implement SSL) as used by the dispatch server.Converts connection ports as necessary.
The connection ports are normally TCP ports, but an alternate implementation of tcp^ linked to the dispatcher can supply different kinds of ports.
dispatch-server-config^ : signature
Specifies the port to serve on.Passed to tcp-listen.Passed to tcp-listen.Specifies the initial timeout given to a connection.
(read-request c p port-addresses) →
any/c boolean? c : connection? p : listen-port-number? port-addresses : (input-port? . -> . (values string? string?))Defines the way the server reads requests off connections to be passed to dispatch.How to handle requests.
Added in version 1.1 of package web-server-lib.
The dispatching server runs in a dedicated thread. Every time a connection is initiated, a new thread is started to handle it. Connection threads are created inside a dedicated custodian that is a child of the server’s custodian. When the server is used to provide servlets, each servlet also receives a new custodian that is a child of the server’s custodian not the connection custodian.