ウェブアーカイブでは、ウェブページから収集したファイルをそのまま保存するのではなく、ウェブアーカイブに適した保存用ファイルフォーマットにして保存します。その理由としては、収集時の情報やファイルのメタデータが同時に保存できるため長期保存対策が可能であること、差分収集に対応しているフォーマットであることなどが挙げられます。
WARCは世界のウェブアーカイブ機関で広く採用されている保存用ファイルフォーマットで、その名称は「Web Archiving」に由来します。IIPCの主要メンバーであるインターネットアーカイブが採用していたファイルフォーマットARCをもとに、2004年にIIPCにより汎用的に使える形式に拡張されました。
2009年5月には、国際標準機構(ISO)の国際規格ISO 28500:2009となっています。
(参考) IIPCのウェブアーカイブ保存形式"WARC"がISO規格に
WARC形式で保存されたファイルは、そのままではブラウザで閲覧することはできません。オリジナルのサイトと同じように表示するためには、WaybackなどのWARC形式に対応したツールが必要です。
WARC形式のファイルは、1つあるいは複数の「WARCレコード」で構成されます。「WARCレコード」は、「WARCレコードヘッダー」と「コンテンツブロック」のセットから成っています。「WARCレコードヘッダー」には、WARCのバージョン及び「WARCフィールド」が格納され、「WARCフィールド」にはレコードIDやレコードタイプ、ファイル(コンテンツ)の収集先や収集日、ファイルのサイズなどの情報が収められています(下表)。「コンテンツブロック」には収集したファイルそのものが格納されます。
ウェブサイトの各ページは、htmlファイルや画像ファイル、文書ファイルやJavaスクリプトなど、複数のURL(ファイル)によって構成されています。Heritrixなどのクローラーを用いてウェブサイトを収集する場合、これらURLの単位で収集を行います。そしてそれらをWARC形式のファイルとして保存する際には、URLごとに複数の「WARCレコード」が作成されます。
基本的に、1つのURLに対して以下の3つの「WARCレコード」が作成されます。
Requestレコードには該当URLを収集した際の情報が、Responseレコードにはファイルそのものが格納されます。Metadataレコードには、URLのメタデータ情報が格納されます。
例えば下図の左のようなウェブページに対しては、右のようなレコードが作成されます。
WARC形式のファイルを閲覧する際には、URLごとに格納されたこれらの情報をWaybackなどのツールで読み解くことで、ウェブページを元の形で再生することができるのです。
WARCファイルのサイズは、1GB以下に抑えることが推奨されています。このため、WARPでは100MBを目安としてWARCファイルを分割して格納しています。
また、ストレージ領域の削減のためにWARCファイルは圧縮することが推奨されています。GZIPによる圧縮が推奨されています。
ISO 28500:2009 - Information and documentation -- WARC file format
(最終更新日:2014/10/1)