As the number of documents and servers on Internet grows with the enormous speed, it becomes necessary to design efficient algorithms and tools for search and retrieval of documents. Also, the number of accesses to servers on Internet constantly grows. Congestion of servers and links can be alleviated using proxy caches. Latency on Web can be reduced using prefetching and caching. Efficient search of documents can be done with improved genetic algorithm that exploits the principles of temporal and spatial locality. Mobile agents can be used to optimize network traffic for distributed applications. This paper describes several existing solutions to the problem and discusses the implementation of Java distributed object application for experimenting with genetic search and proxy caching algorithms for Internet.