Os primeiros arquivos da web conseguiam armazenar páginas obtidas, mas a reprodução e a gestão de longo prazo exigiam mais do que os bytes do conteúdo. Os rastreamentos também precisavam de cabeçalhos de requisição, cabeçalhos de resposta, carimbos de data e hora, endereços IP, resumos (digests), metadados e ligações entre registros.
O design do WARC tornou esse contexto parte integrante do formato. O formato é uma simples concatenação de registros WARC, cada um declarando seu tipo e cabeçalhos antes do bloco de conteúdo. Ele pode transportar material HTTP comum e também metadados arbitrários ligados aos dados armazenados.
A especificação WARC 1.1 afirma que o formato foi concebido para estruturar, gerir e armazenar arquivos da web, suportar compressão e integridade, armazenar informações de controle de protocolos como HTTP e DNS, e registrar todas as informações de controle do protocolo de coleta.
Sua adoção foi facilitada pela compatibilidade retroativa com o mundo mais antigo do ARC: os arquivos podiam migrar para registros mais ricos sem abandonar os rastreamentos existentes.
Arquivar a transação, não apenas o arquivo
Manteve o conteúdo e o contexto de captura juntos, tornando possível a reprodução e a auditoria posteriores.
Os tipos de registro permitem que um único arquivo misture respostas, requisições, metadados e referências de deduplicação.
Os campos de resumo (digest) deram aos sistemas de preservação um mecanismo de integridade incorporado.
O modelo de fluxo acrescentável correspondia à forma como os rastreadores realmente coletam a web.
Quando o objeto é contextual, preserve a transação em torno dele. O caminho dos metadados pode ser tão importante quanto os bytes capturados.
O WARC tornou-se o formato de arquivo de trabalho do arquivamento da web, usado por bibliotecas nacionais, rastreadores de pesquisa e ferramentas de preservação. Transformou um rastreamento de um amontoado de páginas em uma trilha de evidências reproduzível.
CONFIRA AS EVIDÊNCIAS
As fontes
- The WARC Format 1.1 International Internet Preservation Consortium · iipc.github.io