Web prefetching is one of the key techniques to reduce the user access latency and improve the quality of service of the network. It is a hot research topic that has gained increasing attention all over the world in recent years. The main advantage of employing prefetching is to complement the existing Web cache mechanisms and overcome the inherent limitation of Web caching in capitalizing on the spatial locality of Web accesses. In this paper, the classification of Web prefetching techniques is summarized from the perspective of the location of Web prefetching. The limitation and superiority of different types of prefetching are compared and surveyed. Based on a lot of research results in the open literature, a basic prefetching model is given and the function of its each important component is described. The evaluation criteria of Web prefetching are discussed and analyzed in detail. As the key problem of the Web prefetching model, Web prefetching algorithms are roughly classified into several categories, which are based on dependency graph, Markov model, data mining, cost function, and semantic preferences. The advantages and disadvantages of these algorithms are systematically analyzed and compared. Finally, several major issues and research directions of Web prefetching for further exploration are also pointed out.