Re: Is there a general or Squid specific FTP Proxy Protocol Spec?

From: Henrik Nordstrom <>
Date: Thu, 05 Jul 2001 15:49:53 +0200

Clemens Anhuth wrote:

> searching the net i couldn't find a general or squid specific proxy
> protocol specification for more advanced feateures that ftp clients
> usually support, such as setting file attributes, creating
> directories, etc.

Squid is not a FTP proxy.

It can act as a HTTP->FTP gateway to allow HTTP clients to use Squid to
fetch or update FTP objects. Note: HTTP clients (normally browsers) uses
HTTP to speak to the proxy, no matter what type of object is being
requested, using the HTTP proxy as a gateway to the requested protocol.

Operations possible are restricted to that of HTTP mapped to FTP modulo
what is implemented in Squid.

HTTP does not have a notion of file attributes or creation of
directories. (and FTP does not either have file attributes, these are
common non-standard SITE extensions)

Squid automatically creates FTP directories as needed when carrying out
a HTTP PUT ftp:// request.

A list of HTTP operations supported by Squid on ftp:// objects, and how
they map tp FTP

URL specification as per RFC 1738
URL path
        CWD to each "directory" path component, as specified by
        RFC 1738
        Also has a couple of hacks to allow certain malformed
        URL's to work, plus some detection of when the / is
        missing from a directory request.

HTTP operations
        If the request uses Request-Range, then Squid can
        can make use of REST if the range specification
        is suitable for REST
PUT STOR, or STOU if the URL does not have a filename
        Directories are automatically created as required
        (when CWD fails for a path component)

Squid does not yet implement the DELETE operation for FTP objets. It
should be possible to map DELETE both to DELE and RMD (RMD if the URL
ends with a /).

> i wonder if there is such a general ftp proxy protocol
> specification, though from what i have found on the web such does
> not seem to exist.

In case of Squid or any other HTTP proxy it is not a new protocol, it is
HTTP operating on ftp:// URLs which is then translated to FTP by the
HTTP "proxy" (the proper term is HTTP->FTP gateway I think..)

Henrik Nordstrom
Squid Hacker
Received on Thu Jul 05 2001 - 07:50:02 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:14:05 MST