Squid (software)

Squid (software)

Infobox Software
name = Squid

caption = Squid logo
latest_release_version = [http://www.squid-cache.org/Versions/v3/3.0/ 3.0] / [http://www.squid-cache.org/Versions/v2/2.7 2.7]
latest_release_date = 2008-07-18
genre = web cache, proxy server
operating_system = Cross-platform
license = GNU General Public License
website = http://www.squid-cache.org/

Squid is a proxy server and web cache daemon. It has a wide variety of uses, from speeding up a web server by caching repeated requests, to caching web, DNS and other computer network lookups for a group of people sharing network resources, to aiding security by filtering traffic. Although primarily used for HTTP and FTP, Squid includes limited support for several other protocols including TLS, SSL, Internet Gopher and HTTPS. [cite web |title = Squid FAQ: About Squid |url = http://wiki.squid-cache.org/SquidFaq/AboutSquid |accessdate = 2007-02-13 ] The development version of Squid ( [http://www.squid-cache.org/Versions/v3/HEAD/ 3.1] ) includes IPv6 and ICAP support.

Early work on the program was completed at the University of California, San Diego and funded via two grants from the National Science Foundation. [ cite web |title = Squid Sponsors |url = http://www.squid-cache.org/SPONSORS.txt |accessdate = 2007-02-13 | quote = The NSF was the primary funding source for Squid development from 1996-2000. Two grants (#NCR-9616602, #NCR-9521745) received through the Advanced Networking Infrastructure and Research (ANIR) Division were administered by the University of California San Diego ] Squid is now developed almost exclusively through volunteer efforts.

Squid is primarily designed to run on Unix-like systems but it also runs on Windows-based systems. Released under the GNU General Public License, Squid is free software.

Web proxy

Caching is a way to store requested Internet objects (e.g. data like web pages) available via the HTTP, FTP, and Gopher protocols on a system closer to the requesting site. Web browsers can then use the local Squid cache as a proxy HTTP server, reducing access time as well as bandwidth consumption. This is often useful for Internet service providers to increase speed to their customers, and LANs that share an Internet connection. Because it is also a proxy (i.e. it behaves like a client on behalf of the real client), it can provide some anonymity and security. However, it also can introduce significant privacy concerns as it can log a lot of data including URLs requested, the exact date and time, the name and version of the requester's web browser and operating system, and the referer.

A client program (e.g. browser) either has to specify explicitly the proxy server it wants to use (typical for ISP customers), or it could be using a proxy without any extra configuration: "transparent caching", in which case all outgoing HTTP requests are intercepted by Squid and all responses are cached. The latter is typically a corporate set-up (all clients are on the same LAN) and often introduces the privacy concerns mentioned above.

Squid has some features that can help anonymize connections, such as disabling or changing specific header fields in a client's HTTP requests. Whether these are set, and what they are set to do, is up to the person who controls the computer running Squid. People requesting pages through a network which transparently uses Squid will usually have no idea if this information is being logged. [See the documentation for header_access and header_replace for further details.]

Reverse proxy

The above set-up—caching the contents of an unlimited number of webservers for a limited number of clients—is the classical one. Another set-up is "reverse proxy" or "webserver acceleration" (using http_port 80 accel vhost). In this set-up, the cache serves an unlimited number of clients for a limited number of—or just one—web servers.

As an example, if "slow.example.com" is a "real" web server, and "www.example.com" is the Squid cache server that "accelerates" it, the first time any page is requested from "www.example.com", the cache server would get the actual page from "slow.example.com", but later requests would get the stored copy directly from the accelerator (for a configurable period, after which the stored copy would be discarded). The end result, without any action by the clients, is less traffic to the source server, meaning less CPU and memory usage, and less need for bandwidth. This does, however, mean that the source server cannot accurately report on its traffic numbers without additional configuration, as all requests would seem to have come from the reverse proxy. A way to adapt the reporting on the source server is to use the X-Forwarded-For HTTP header reported by the reverse proxy, to get the real client's IP address.

It is possible for a single Squid server to serve both as a normal and a reverse proxy simultaneously.


Squid can run on the following operating systems:

* Digital Unix
* FreeBSD
* Linux
* Mac OS X
* NetBSD
* NeXTStep
* OpenBSD
* SCO OpenServer
* Solaris
* UnixWare
* Windows

See also

* Internet Cache Protocol


External links

* [http://www.squid-cache.org/ Official project homepage]
* [http://meta.wikimedia.org/wiki/Wikimedia_servers List of Wikipedia servers]
* [http://squidproxy.wordpress.com/ Squid Blog]
* [https://calomel.org/squid.html Squid "how to"] , [https://calomel.org/squid_ua_random.html Squid User-Agent Randomizer] and [https://calomel.org/squid_adservers.html Squid Ad-Blocker]
* [http://www.linux-faqs.com/squid.php Optimizing SQUID] and [http://linux-faqs.com/Forum/viewtopic.php?t=28 Access Control List]
* [http://www.visolve.com/squid/Squid_tutorial.php Squid Tutorial] - Tutorial for Squid
* [http://www.sweetnam.eu/index.php/Reverse_Proxy_with_Squid Squid reverse proxy] - Create a reverse proxy with Squid
* [http://www.visolve.com/squid/ Configuration Manual] - ViSolve Squid Configuration Manual Guide
* [http://www.squid-cache.org/Versions/v2/2.6/cfgman/ Configuration Manual 2.6] - Authoritative Squid 2.6 Configuration Options
* [http://www.squid-cache.org/Versions/v3/3.0/cfgman/ Configuration Manual 3.0] - Authoritative Squid 3.0 Configuration Options
* [http://www.webmasterwords.com/squid-proxy-on-solaris Solaris Setup] - Setup squid on solaris
* [http://www.idesoft.es/www2/squid/ Spanish Squid guide]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Squid (disambiguation) — A squid is a type of cephalopod. Squid may also refer to: * Squid (food), squid prepared as food. * Squid (motorcycle), slang term for an irresponsible motorcyclist * Squid (weapon) was an Allied anti submarine weapon used during the Second World …   Wikipedia

  • Squid — Aktuelle Version 3.1.16 (14. Oktober 2011) Betriebssystem plattformübergreifend Kategorie Proxyserver Lizenz GPL (Freie Software) …   Deutsch Wikipedia

  • Squid (programa) — Squid Desarrollador Todos http://www.squid cache.org/ Información general Última versión estable 3.1.15 28 08 2011 …   Wikipedia Español

  • Squid — es un proxy caché diseñado para correr en sistemas tipo UNIX, aunque también puede trabajar sobre Windows. Squid es software libre y tiene: 1. proxy y cache de HTTP, FTP, y otras URLs 2. proxy para SSL 3. cache hierarchies 4. ICP, HTCP, CARP,… …   Enciclopedia Universal

  • Software Firewall — Eine (auch: ein) Personal Firewall oder Desktop Firewall (von englisch firewall Brandschutzwand, „Brandmauer“) ist eine Software, die den ein und ausgehenden Datenverkehr eines PCs auf dem Rechner selbst filtert. Sie wird zum Schutz des Computers …   Deutsch Wikipedia

  • List of free and open source software packages — This article is about software free to be modified and distributed. For examples of software free in the monetary sense, see List of freeware. This is a list of free and open source software packages: computer software licensed under free… …   Wikipedia

  • Calamaris (Software) — Calamaris Maintainer: Cord Beermann Aktuelle Version: 2.59 (07.Juni 2004) Aktuelle Vorabversion: (20.März 2006) Betriebssystem: unabhängig (perl) Kategorie …   Deutsch Wikipedia

  • List of open source software packages — This is a list of open source software packages: computer software licensed under an open source license. Software that fits the Free software definition may be more appropriately called free software; the GNU project in particular objects to… …   Wikipedia

  • Neuron (software) — NEURON Developer(s) Michael Hines, John W. Moore, and Ted Carnevale Stable release 7.1 / October 27, 2009; 23 months ago (2009 10 27) Development status Active …   Wikipedia

  • Comparison of wiki software — The following tables compare general and technical information for a number of wiki software packages. Contents 1 General information 2 Target audience 3 Features 1 4 Features 2 …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.