Ada beberapa kalimat yang menjelaskan apa sebenarnya proxy server itu. Proxy server adalah sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainya untuk melakukan request terhadap content dari internet dan intranet (http://id.wikipedia.org/).
Proxy server bertindak sebagai gateway terhadap dunia internet untuk setiap komputer client. Dalam menjalankan tugasnya proxy server tidak terlihat oleh komputer client sebagai contoh saat seorang pengguna yang berinteraksi dengan Internet melalui sebuah proxy server tidak akan mengetahui bahwa sebuah proxy server sedang menangani request yang dilakukannya. Web server yang menerima request dari Proxy server akan menginterpresentasikan request-request tersebut seolah-olah datang secara langsung dari komputer client, bukan dari proxy server.
Proxy server dalam suatu jaringan memiliki tiga fungsi utama yaitu sebagai Connection sharing, filtering, dan caching.
a. Connection Sharing
Dalam suatu jaringan lokal yang terhubung ke jaringan lain atau internet, pengguna tidak langsung berhubungan dengan jaringan luar atau internet, tetapi harus melewati suatu gateway, yang bertindak sebagai batas antara jaringan lokal (privat) dan jaringan luar (publik). Gateway ini sangat penting, karena jaringan lokal harus dapat dilindungi dengan baik dari bahaya yang mungkin berasal dari internet, dan hal tersebut akan sulit dilakukan bila tidak ada garis batas yang jelas antara jaringan lokal dan internet. Gateway juga bertindak sebagai titik dimana sejumlah koneksi dari pengguna lokal akan terhubung kepadanya, dan suatu koneksi ke jaringan luar juga terhubung kepadanya. Dengan demikian, koneksi dari jaringan lokal ke internet akan menggunakan sambungan yang dimiliki oleh gateway secara bersama-sama (connection sharing). Dalam hal ini, gateway adalah juga sebagai proxy server, karena menyediakan layanan sebagai perantara antara jaringan lokal dan jaringan luar atau internet. singkatnya : 1 IP public dapat digunakan oleh banyak user, ( IPv4 sudah hampir habis dipakai….mari kita migrasi ke IPv6 ….. ) selain itu juga untuk melindungi jaringan dalam dari serangan luar.
b. Filtering
merupakan sebuah usaha pengamanan atau pembatasan sehingga dengan adanya filtering sebuah proxy server dapat mengamankan dan membatasi hak akses client pada jaringan privat. Jadi meskipun mula-mula dibuat sebagai cache nonsekuriti, tujuan utama proxy server sekarang menjadi firewalling. Proxy server memperbarui request layanan pada jaringan eksternal atas nama client mereka pada jaringan private. Ini secara otomatis menyembunyikan identitas dan jumlah client pada jaringan internal dari jaringan eksternal. Karena posisi mereka di antara client internal dan server publik, proxy juga dapat menyimpan content yang sering diakses dari jaringan publik untuk mengurangi akses ke jaringan publik tersebut. Kebanyakan implementasi nyata proxy sekuriti meliputi pemfilteran paket dan Network Address Translation untuk membangun firewall yang utuh. Teknologi tersebut dapat digabungkan dengan proxy untuk menghilangkan serangan yang terhadapnya proxy rentan.
c. Caching (Internet Object caching)
adalah suatu cara untuk menyimpan hasil permintaan internet-object. (seperti: data yang ada dari HTTP, FTP, dan ghoper protokol) untuk membuat sistem dekat dengan permintaan daripada ke sumber aslinya. Web browser dapat menggunakan lokal squid cache sebagai proxy HTTP server, ini akan mengurangi waktu akses seperti halnya penghematan bandwidth. Dengan kata lain sebuah client tidak harus melakukan kontak dengan server untuk meminta layanan akan tetapi client dapat mendapatkan layanan (data) yang sudah tersimpan pada proxy server, dengan hal ini maka akses akan semakin cepat.
Squid
Squid adalah software publik domain berbasis UNIX. fungsi dari squid adalah meng-‘cache’ atau menyimpan data yang diminta oleh pengguna (komputer client) biasanya berupa web pages dan FTP. Platform UNIX yang di support oleh Squid adalah FreeBSD, BSDI, Digital Unix, Irix, Linux, Solaris dan SunOs. Tidak semua data bisa di cache oleh Squid, data-data yang bersifat dinamik seperti CGI-BIN tidak di cache oleh Squid, jadi tiap kali ada permintaan CGI-BIN, maka Squid akan menghubungi langsung server tujuan. Saat ini protokol yang bisa dilayani oleh Squid adalah HTTP, FTP, Gopher, dan Wais.