Next Previous Contents

1. About Squid, this FAQ, and other Squid information resources

1.1 What is Squid?

Squid is a high-performance proxy caching server for web clients, supporting FTP, gopher, and HTTP data objects. Unlike traditional caching software, Squid handles all requests in a single, non-blocking, I/O-driven process.

Squid keeps meta data and especially hot objects cached in RAM, caches DNS lookups, supports non-blocking DNS lookups, and implements negative caching of failed requests.

Squid supports SSL, extensive access controls, and full request logging. By using the lightweight Internet Cache Protocol, Squid caches can be arranged in a hierarchy or mesh for additional bandwidth savings.

Squid consists of a main server program squid, a Domain Name System lookup program dnsserver, some optional programs for rewriting requests and performing authentication, and some management and client tools. When squid starts up, it spawns a configurable number of dnsserver processes, each of which can perform a single, blocking Domain Name System (DNS) lookup. This reduces the amount of time the cache waits for DNS lookups.

Squid is derived from the ARPA-funded Harvest project.

1.2 What is Internet object caching?

Internet object caching is a way to store requested Internet objects (i.e., data available via the HTTP, FTP, and gopher protocols) on a system closer to the requesting site than to the source. Web browsers can then use the local Squid cache as a proxy HTTP server, reducing access time as well as bandwidth consumption.

1.3 Why is it called Squid?

Harris' Lament says, ``All the good ones are taken."

We needed to distinguish this new version from the Harvest cache software. Squid was the code name for initial development, and it stuck.

1.4 What is the latest version of Squid?

Squid is updated often; please see the Squid home page for the most recent versions.

1.5 Who is responsible for Squid?

Squid is the result of efforts by numerous individuals from the Internet community. Duane Wessels of the National Laboratory for Applied Network Research (funded by the National Science Foundation) leads code development. Please see the CONTRIBUTORS file for a list of our excellent contributors.

1.6 Where can I get Squid?

You can download Squid via FTP from the primary FTP site or one of the many worldwide mirror sites.

Many sushi bars also have Squid.

1.7 What Operating Systems does Squid support?

The software is designed to operate on any modern Unix system, and is known to work on at least the following platforms:

For more specific information, please see platforms.html. If you encounter any platform-specific problems, please let us know by sending email to squid-bugs.

1.8 Does Squid run on Windows NT?

Recent versions of Squid will compile and run on Windows/NT with the GNU-Win32 package.

LogiSense has ported Squid to Windows NT and sells a supported version. You can also download the source from their FTP site. Thanks to LogiSense for making the code available as required by the GPL terms.

Robert Collins is working on a Windows NT port as well. You can find more information from him at his page.

Guido Serassio and Romeo Anghelache have Squid NT pages, including binaries and patches.

1.9 What Squid mailing lists are available?

We also have a few other mailing lists which are not strictly Squid-related.

1.10 I can't figure out how to unsubscribe from your mailing list.

All of our mailing lists have ``-subscribe'' and ``-unsubscribe'' addresses that you must use for subscribe and unsubscribe requests. To unsubscribe from the squid-users list, you send a message to

1.11 What Squid web pages are available?

Several Squid and Caching-related web pages are available:

1.12 Does Squid support SSL/HTTPS/TLS?

Squid supports these encrypted protocols by ``tunelling'' traffic between clients and servers. Squid can relay the encrypted bits between a client and a server.

Normally, when your browser comes across an https URL, it does one of two things:

  1. The browser opens an SSL connection directly to the origin server.
  2. The browser tunnels the request through Squid with the CONNECT request method.

The CONNECT method is a way to tunnel any kind of connection through an HTTP proxy. The proxy doesn't understand or interpret the contents. It just passes bytes back and forth between the client and server. For the gory details on tunnelling and the CONNECT method, please see RFC 2817 and Tunneling TCP based protocols through Web proxy servers (expired).

Squid can not (yet) encrypt or decrypt such connections, however. Some folks are working on a patch, using OpenSSL, that allows Squid to do this.

1.13 What's the legal status of Squid?

Squid is copyrighted by the University of California San Diego. Squid uses some code developed by others.

Squid is Free Software.

Squid is licensed under the terms of the GNU General Public License.

1.14 Is Squid year-2000 compliant?

We think so. Squid uses the Unix time format for all internal time representations. Potential problem areas are in printing and parsing other time representations. We have made the following fixes in to address the year 2000:

Year-2000 fixes were applied to the following Squid versions:


Squid-2.2 and earlier versions have a New Year bug. This is not strictly a Year-2000 bug; it would happen on the first day of any year.

1.15 Can I pay someone for Squid support?

Yep. Please see the commercial support page.

1.16 Squid FAQ contributors

The following people have made contributions to this document:

Please send corrections, updates, and comments to:

1.17 About This Document

This document is copyrighted (2000) by Duane Wessels.

This document was written in SGML and converted with the SGML-Tools package.

Want to contribute? Please write in SGML...

It is easier for us if you send us text which is close to "correct" SGML. The SQUID FAQ currently uses the LINUXDOC DTD. Its probably easiest to follow examples in the this file. Here are the basics:

Use the <url> tag for links, instead of HTML <A HREF ...>

        <url url="" name="Squid Home Page">

Use <em> for emphasis, config options, and pathnames:


Here is how you do lists:


Use <verb>, just like HTML's <PRE> to show unformatted text.

Next Previous Contents