This paper presents a novel algorithm for distribution of user requests sent to a Web-server cluster driven by a Web switch. Our algorithm called FARD (fuzzy adaptive request distribution) is a client-and-server-aware, dynamic and adaptive dispatching policy. It assigns each incoming request to the server with the least expected response time, estimated for that individual request. To estimate the expected response times FARD uses the fuzzy estimation mechanism. With respect to the requirement of modifiability of the model, FARD uses a neural network provided with innate abilities for learning and adaptation. We implemented a prototype FARD-based Web switch that was used in experiments carried out to compare its performance to well known representative request distribution algorithms. The measurements show that FARD benefits can be significant, especially for heterogeneous Web clusters.