Squid
Squid adalah sebuah daemon yang digunakan sebagai "proxy server" dan "web cache". Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan "caching" permintaan yang berulang-ulang, "caching" DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara
melakukan penyaringan ("filter") lalu lintas. Meskipun seringnya digunakan untuk protokol HTTP dan FTP, Squid juga menawarkan dukungan terbatas untuk beberapa protokol lainnya termasuk "Transport Layer Security" (TLS), Secure Socket Layer (SSL), Internet Gopher, dan HTTPS. Versi Squid 3.1 mencakup dukungan protokol IPv6 dan Internet Content Adaptation Protocol (ICAP).
Squid pada awalnya dikembangkan oleh Duane Wessels sebagai "Harvest object cache", yang merupakan bagian dari proyek Harvest yang dikembangkan di University of Colorado at Boulder. Pekerjaan selanjutnya dilakukan hingga selesai di University of California, San Diego dan didanai melalui National Science Foundation. Squid kini hampir secara eksklusif dikembangkan dengan cara usaha sukarela.
Squid umumnya didesain untuk berjalan di atas sistem operasi mirip UNIX, meski Squid juga bisa berjalan di atas sistem operasi Windows. Karena dirilis di bawah lisensi GNU General Public License, maka Squid merupakan perangkat lunak bebas. Caching merupakan sebuah cara untuk menyimpan objek-objek Internet yang diminta (seperti halnya data halaman web) yang bisa diakses melalui HTTP, FTP dan Gopher di dalam
sebuah sistem yang lebih dekat dengan situs yang memintanya. Beberapa penjelajah web dapat menggunakan "cache" Squid lokal untuk sebagai "server proxy HTTP", sehingga dapat mengurangi waktu akses dan juga tentu saja konsumsi "bandwidth". Hal ini sering berguna bagi para penyedia layanan Internet untuk meningkatkan kecepatan kepada para pelanggannya, dan LAN yang membagi saluran Internet. Karena memang bentuknya sebagai "proxy"
(ia berlaku sebagaimana layaknya klien, sesuai dengan permintaan klien), "web cache" bisa menyediakan anonimitas dan keamanan. Tapi, "web cache" juga bisa menjadi masalah yang signifikan bila melihat masalah privasi, karena memang ia dapat mencatat banyak data, termasuk URL yang diminta oleh klien, kapan hal itu terjadi, nama dan versi penjelajah web yang digunakan klien serta sistem operasinya, dan dari mana ia mengakses situs itu.
Selanjutnya, sebuah program klien (sebagai contoh adalah penjelajah web) bisa menentukan secara ekplisit "proxy server" yang digunakan bila memang hendak menggunakan proxy (umumnya bagi para pelanggan ISP) atau bisa juga menggunakan proxy tanpa konfigurasi ekstra, yang sering disebut sebagai ""Transparent Caching"", dimana semua permintaan HTTP ke jaringan luar akan diolah oleh "proxy server"
dan semua respons disimpan di dalam "cache". Kasus kedua umumnya dilakukan di dalam perusahaan dan korporasi (semua klien berada di dalam LAN yang sama) dan sering memiliki masalah privasi yang disebutkan di atas.
Squid memiliki banyak fitur yang bisa membantu melakukan koneksi secara anonim, seperti memodifikasi atau mematikan beberapa "field header" tertentu dalam sebuah permintaan HTTP yang diajukan oleh klien. Saat itu terpenuhi, apa yang akan dilakukan oleh Squid adalah tergantung orang yang menangani komputer yang menjalankan Squid. Orang yang meminta halaman web melalui sebuah jaringan yang
secara transparan yang menggunakan biasanya tidak mengetahui bahwa informasi semua permintaan HTTP yang mereka ajukan dicatat oleh Squid.