A server that accepts requests from clients and sends them to the appropriate back-end server for processing.