Web evolution explained