HTTPsync: Synchronize files/directories via HTTP
A free utility from Mib Software
HTTPsync is a compact, standalone utility which automates the transfer of files and directories from an HTTP server. The files to transfer are determined by fetching a "packing list" from the URL specified on the command line. For example:
Based on the files, dates, and sizes listed in the packing list, HTTPsync then uses the HTTP GET method for only the files necessary for synchronization (those not already present with matching sizes and dates.)
- Uses standard HTTP server and protocol. Works through firewalls and proxies. New in version 3.00: SSL and HTTP Basic Authentication.
- Determining the files to transfer from the packing list is much faster and a lot more efficient than WWW crawling and HTTP protocol methods ("If-Modified-Since" or HEAD.)
- The packing list can specify subsets of files, to transfer only what is of interest.
- When the server supports it, HTTPsync uses HTTP/1.1 persistent connections (making multiple requests per connection) to minimize overhead.
- Files will be made to match identically. Local changes will be overwritten.
- File and directory synchronization
- Source code distribution and updates (transfer only what changed.)
- Highly efficient WWW mirroring. Host-controlled export, request only what changed.
HTTPsync is free of charge for commercial and non-commercial use, under a BSD-style license which is GPL compatible. See the HTTPsync license for complete details. The software comes with ABSOLUTELY NO WARRANTY.
An article describing HTTPsync appeared in the July 1999 issue of Doctor Dobb's Journal. Since then it has been enhanced. The current version is 3.00.
HTTPsync Downloading and Installation
HTTPsync is implemented as a single C source file. It is meant to be compiled with a "one-line" compiler command (on most systems.) It is Unix and Win32 compatible (command line interface.) It has been tested and known to work on Solaris, Linux, NeXT and WinNT, so it will work on other systems as well.
The two files are available individually:
and in two different archive formats:
HTTPsync packing lists available from Mib Software
HTTPsync has been in use since spring of 1998. See it in operation for yourself.
HTTPsync: Comparison to other methods
There are other methods for synchronizing directory and file trees, such as rdist, FTP, CVSup, and anonCVS. Strengths of HTTPsync are illustrated by comparison.
HTTPsync Mirroring of CVS and CVSup projects
HTTPsync Conditional and "Access Protected" Packing Lists
Year 2000 readiness
HTTPsync operates with 4 digit years only. It is ready for the year 2000 when used in an environment which is year 2000 ready.
Up to Mib Software home page
Inquiries [DocID: /httpsync/index.html]
Copyright 1998, 1999, 2000, 2001 Forrest J. Cavalier III, Mib Software