HTTP-TransparentCache version 0.1 ============================ HTTP::TransparentCache is an implementation of http get that keeps a local cache of fetched pages to avoid fetching the same data from the server if it hasn't been updated. The cache is stored on disk and is thus persistent between invocations. The http-headers If-Modified-Since and ETag are used to let the server decide if the version in the cache is up-to-date or not. LIMITATIONS This module has a number of limitations that you should be aware of before using it. - Only get-requests are supported. No special http-headers or cookies can be used. - There is no upper limit to how much diskspace the cache requires. The only limiting mechanism is that data for urls that haven't been requested in the last MaxAge hours will be removed from the cache the next time the cache-object is created. - The result of the http get is always stored in memory, and sometimes twice (or more depending on how LWP actually works). This means that this module shouldn't be used to fetch extremely large files via http. - If two different processes using the same cache-directory and try to fetch the same url at the same time, bad things can happen. Otherwise, it should be safe to share the cache-directory between several processes, since each object in the cache is stored in a separate file and there is no single file that is always read. INSTALLATION To install this module type the following: perl Makefile.PL make make test make install DEPENDENCIES LWP Storable (included with perl) Digest::MD5 (included with perl) All http-requests are made through the LWP module. Data is stored on disk by the Storable module. Digest::MD5 is used for creating a hash of the url. COPYRIGHT AND LICENCE Copyright (C) 2004 by Mattias Holmlund This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.