We have designed and implemented a high-performance and scalable content-based web cluster named LVS-CWARD. The LVS-CWARD cluster uses a small amount of memory dedicated to cache a small set of most frequently accessed files and uses a kernel-level content-based web switch to distribute the HTTP requests from clients among the web servers. The proposed CWARD policy which takes into account the content of requests and workload characterization in request dispatching, with the aim to increase cluster performance by increasing the cache hit rates in web servers. Besides, to efficiently support for persistent connection, the fast Multiple TCP Rebuilding is proposed. Moreover, we propose two request scheduling algorithms to achieve more performance gain by more fine-grained loading measurement for more effective load sharing. The experimental results of practical implementation on Linux show that our proposed kernel-level web switch which takes into account the content in requests and workload information in dispatching requests is efficient and scales well without being the system bottleneck of the whole cluster. Moreover, the trace-driven benchmarking with the real-world working sets demonstrates that our proposed system can achieve up to 107% and 164% better performance respectively than the Linux Virtual Server with a content-blind web switch in distributing requests.