The current Web is running into serious scalability problems. The standard solution is to apply techniques like caching, replication, and distribution. Unfortunately, as the variety of Web applications continues to grow, it will be impossible to find a single solution that fits all needs. The authors advocate a different approach to tackling scaling problems. Instead of seeking a general-purpose solution, they argue that it makes more sense to look at each Web document separately. For each document, three issues need to be addressed: placement of replicas, required coherence, and best coherence protocol. The authors examine each of these issues, and identify the alternatives. However, forcing developers to decide on the best alternatives will turn the Web into an unworkable system. Therefore, a number of possible ways to reduce complexity is indicated. Also, the authors briefly discuss a wide-area infrastructure that can be used as a flexible basis for developing per-document solutions