O padrão WMS permite que o cliente solicite uma região arbitrária. Se o cliente deseja blocos, ele pode fazer seus pedidos em um padrão lado a lado, mas o servidor não tem como saber o que está acontecendo e se o servidor armazena o mapa como blocos próprios, não há como informar ao cliente o que o arranjo de azulejos é.
A OSGeo apresentou duas maneiras de lidar com isso. Uma é estender o protocolo WMS com informações extras para que um cliente compatível possa enviar solicitações alinhadas corretamente. Isso foi denominado WMS-C.
O outro é o TMS, um protocolo totalmente novo, projetado especificamente para blocos. Em particular, ele usa índices inteiros para os blocos, em vez de exigir que o cliente solicite uma caixa delimitadora que se alinhe a uma grade específica.
Eventualmente, o OGC, que apresentou a especificação original do WMS, decidiu criar um protocolo de bloco e o resultado foi WMTS. É como o TMS, orientado a blocos com índices inteiros, mas também suporta alguns recursos adicionais do WMS que o TMS carece, como Dimensions e GetFeature. Também é muito mais complicado que o TMS.
Os blocos pré-renderizados podem ser servidos usando qualquer um dos três protocolos e existem servidores de bloco que suportam os três, alguns atuando como proxies de cache na frente dos servidores WMS convencionais (como no pareamento comum do GeoServer e GeoWebCache)
O WMS-C e o TMS são maduros, mas menos oficiais na mente de algumas pessoas, pois não são especificações do OGC. O WMS-C também é um pouco complicado, enquanto o TMS carece de alguns recursos úteis, mas periféricos. O WMTS tem o apoio do OGC e combina o design específico do bloco do TMS com os recursos extras do WMS, mas é complexo e suas implementações tendem a ser menos maduras que as dos outros dois, pois são mais recentes.
Além de permitir blocos em cache / pré-renderizados, o mosaico também permite um deslocamento mais suave em um mapa escorregadio. No lado inferior, isso pode resultar em símbolos cortados ou ausentes nos limites do bloco e rótulos duplicados para os recursos de extensão do bloco. mapas de calor e interpolações semelhantes também podem quebrar entre blocos, dependendo da implementação. Se o servidor souber que a solicitação está sendo usada como bloco, poderá mitigar esses problemas de renderização usando técnicas como calhas ou meta-blocos.