스퀴드 (소프트웨어)

스퀴드(squid)는 대중적인 오픈 소스(GPL)소프트웨어 프록시 서버이자 웹 캐시이다. 반복된 요청을 캐싱함으로 웹서버의 속도를 향상시키는 것부터, 네트워크 자원을 공유하려는 사람들에게 웹, DNS와 다른 네트워크 검색의 캐싱을 제공하고, 트래픽을 걸러줌으로써 안정성에 도움을 주는 등에 이르기까지 광범위 하게 이용된다.

스퀴드는 기본적으로 유닉스 계열 시스템에서 돌아가도록 설계되었다.

스퀴드는 매우 오랜 기간 동안 개발되었기에 완성된 형태이며 튼튼하다. 기본적으로 HTTP와 FTP에 사용되지만 TLS, SSL, HTTPS 등과 같이 많은 프로토콜을 지원한다.

 웹 프록시 
캐싱은 HTTP, FTP, 고퍼 프로토콜을 통해 요청된 인터넷 객체(예: 웹페이지와 같은 데이터)를 요청중인 사이트의 시스템에 저장하는 방법이다. 웹 브라우저는 대역폭을 소비하는 접속 시간을 단축하기 위해 지역 스퀴드 캐시를 프록시 HTTP 서버로서 사용할 수 있다. 이는 고객과 인터넷 연결을 공유하는 LAN에게 속도를 향상시키 위한 인터넷 서비스 제공자(ISP)에게 유용하다. 또한 프록시(실제 클라이언트를 대신하여 클라이언트로서의 성격을 가진다)이기 때문에 약간의 익명성과 보안성을 제공한다.

클라이언트 프로그램(예: 브라우저)은 사용하기 원하는(보통은 ISP 고객) 프록시 서버를 명기하거나 특별한 설정 없이 프록시를 이용할 수 있다. 후자를 "투명 캐싱 (transparent caching)"이라고 하며, 모든 HTTP 요청은 스퀴드에게 가로채여 지며 응답은 캐시된다. 보통 기업체(모든 클라이언트들은 같은 LAN 상에 있다)에서 이렇게 설정한다.

스퀴드는 좀 더 익명적인 연결을 위하여 클라이언트의 HTTP 요청에서 특정한 헤더 필드들을 제외 또는 변경할 수 있는 등의 몇 가지 기능을 지원한다. 더 자세한 것은 문서상의 header access 와 header replace를 참조하라.

 역 프록시 
위의 설정은 한정된 수의 클라이언트들을 위하여 무한대의 웹서버의 콘텐츠를 캐싱하도록 하는 - 고전적인 것이다. 다른 설정은 "역 프록시 (reverse-proxy)" 또는 "웹서버 가속 (webserver acceleration)"이라 불리는 것이다 (httpd accel host 사용). 이 설정에서는 캐시가 무한대의 클라이언트들에게 한정된 수(또는 하나)의 웹서버의 콘텐츠를 제공한다.

slow.example.com 이 "실제" 웹서버, www.example.com은 그것을 "가속"하는 스퀴드 캐시 서버라고 가정하자. 어떤 페이지가 www.example.com으로부터 처음으로 요청되었을 때 캐시 서버는 slow.example.com으로부터 실제 페이지를 가져올 것이다. 하지만 이후의 시/일/년 (캐시 설정에 따름) 단위의 요청에서는 직접 가속기로부터 가져온 복사본을 취할 것이다. 결론적으로 소스 서버에 클라이언트들로부터 어떠한 동작도 없으므로 트래픽이 감소되고 이는 더 적은 CPU와 메모리 사용량, 더 적은 대역폭을 필요로 함을 의미한다.

하나의 스퀴드 서버에서 웹 프록시와 역 프록시로 동시에 서비스하는 것도 가능하다.

 호환성 
섬네일|300px|LAMP 소프트웨어 번들 (여기서는 스퀴드를 웹 캐시로 사용 중) 리눅스 기반 고성능 및 고가용성 솔루션.

스퀴드는 아래의 운영 체제들에서 사용할 수 있다.

 리눅스
 FreeBSD
 OpenBSD
 NetBSD
 BSDI
 OS X
 OSF, 디지털 유닉스
 IRIX
 SunOS/솔라리스
 넥스트스텝
 SCO 유닉스
 AIX
 HP-UX

최근 버전의 스퀴드는 윈도우 NT에서 시그윈/GnuWin32 패키지와 함께 컴파일하고 실행될 수 있다.

 같이 보기 
 프록시 서버
 리버스 프록시

 외부 링크 
 정보 
 스퀴드 Cache- 공식 프로젝트 홈페이지
 스퀴드 + PF- 스퀴드와 OpenBSD의 PF를 사용한 투명 프록시 구현
 Logfile Analysis- 로그 파일 분석기의 스퀴드 캐시 목록
 ViSolve 스퀴드 지원 - 매뉴얼, 설정 팁, ...

 추가 기능 
 스퀴드guard- 고급 필터링을 위한 가변적 플러그인
 DansGuardian- 스퀴드로 가능한 지능형 필터링
 Calamaris- 스퀴드 로그파일 리포트
 Squeezer2 - 스퀴드 로그파일 리포트
 TPROXY- TPROXY 모듈을 이용한 투명 프록시 구현

 캐시 행동 분석 
 Web-caching.com- 페이지가 얼마나 캐시될 수 있는지 검증
 Analyze.forret.com- http 헤더들을 분석하고 스퀴드 정책과 비교

분류:자유 소프트웨어
분류:웹 서버 소프트웨어
분류:크로스 플랫폼 자유 소프트웨어
분류:리버스 프록시