오징어(소프트웨어)
Squid (software)| 개발자 | 듀안 웨셀스, 헨리크 노르드스트룀, 아모스 제프리스, 알렉스 루스코프, 프란체스코 케몰리, 로버트 콜린스, 귀도 세라시오, 자원봉사자[1] |
|---|---|
| 초기 릴리즈 | 1996년 7월) |
| 안정적 해제 | |
| 리포지토리 | github |
| 기록 위치 | C++ |
| 운영 체제 | BSD, 리눅스, 유닉스, 윈도우즈[4] |
| 유형 | 프록시 서버 |
| 면허증 | GPL-2.0 또는 라이터[5] |
| 웹사이트 | www |
Squid는 HTTP 웹 프록시 캐싱 및 포워딩이다.반복된 요청을 캐싱하여 웹 서버를 가속화하고, 네트워크 자원을 공유하는 사람들의 그룹을 위해 웹, DNS 및 기타 컴퓨터 네트워크 검색을 캐싱하고, 트래픽을 필터링하여 보안을 지원하는 등 매우 다양한 용도를 가지고 있다.주로 HTTP와 FTP에 사용되지만, Squid는 인터넷 Gopher, SSL,[7] TLS, HTTPS를 포함한 몇몇 다른 프로토콜에 대한 제한적인 지원을 포함하고 있다. Squid는 SOCKS 지원을 제공하기 위해 SQuid를 사용할 수 있는 Prevoxy와는 달리 SOCKS 프로토콜을 지원하지 않는다.
Squid는 원래 Unix와 같은 시스템에서 데몬으로 실행되도록 설계되었다.윈도 포트는 버전 2.7까지 유지되었다.Windows에서 사용할 수 있는 새로운 버전은 Cygwin 환경을 사용한다.[8]오징어는 GNU General Public License에 따라 출시된 무료 소프트웨어다.
역사
오징어는 원래 콜로라도 보울더 대학의 하베스트 프로젝트의 일부인 하베스트 오브젝트 캐시로 개발되었다.[9][10][11]이 프로그램에 대한 추가 작업은 샌디에이고 캘리포니아 대학에서 완료되었고 국립과학재단으로부터 두 개의 보조금을 통해 자금을 지원받았다.[12]듀안 웨셀스는 '하베스트의 마지막 상용화 전 버전'을 포클릭하고 넷캐시가 된 캐시 2.0이라는 상용 포크와 혼동을 피하기 위해 오징어로 이름을 바꾸었다.[13][14]오징어 버전 1.0.0은 1996년 7월에 출시되었다.[13]
오징어는 현재 거의 전적으로 자원봉사를 통해 개발되고 있다.
기본 기능
Squid 프록시 서버를 설치한 후에는 이를 프록시 HTTP 서버로 사용하도록 웹 브라우저를 구성할 수 있어, Squid가 반환된 문서의 사본을 보존할 수 있게 되어, 동일한 문서에 대한 반복적인 요청이 있을 경우 접속 시간은 물론 대역폭 소모를 줄일 수 있다.이것은 종종 인터넷 서비스 제공자들이 그들의 고객들에 대한 속도를 증가시키고 인터넷 연결을 공유하는 LAN에 유용하다.캐싱 서버는 웹 서비스 운영자에 의해 제어되기 때문에 캐싱 프록시는 사용자를 익명화하지 않으며 익명화 프록시와 혼동해서는 안 된다.
클라이언트 프로그램(예: 브라우저)은 사용할 프록시 서버를 명시적으로 지정해야 하거나(일반적으로 ISP 고객의 경우), 별도의 구성 없이 프록시를 사용할 수 있다("투명 캐싱"). 이 경우 모든 발신 HTTP 요청이 Squid에 의해 차단되고 모든 응답이 캐시된다.후자는 일반적으로 기업 셋업(모든 클라이언트가 동일한 LAN에 있음)이며, 종종 위에서 언급한 프라이버시 우려를 소개한다.
Squid는 클라이언트의 HTTP 요청에서 특정 헤더 필드를 비활성화하거나 변경하는 것과 같이 연결의 익명화를 도울 수 있는 몇 가지 기능을 가지고 있다.이것들이 설정되었는지, 그리고 그들이 무엇을 할지는 Squid를 실행하는 컴퓨터를 제어하는 사람에게 달려 있다.Squid를 투명하게 사용하는 네트워크를 통해 페이지를 요청하는 사람들은 이 정보가 기록되고 있는지 모를 수도 있다.[15]적어도 영국 조직 내에서 컴퓨터나 인터넷 연결이 감시되고 있는 경우 사용자에게 알려야 한다.[16]
역프록시
위의 설정(제한된 수의 클라이언트에 대해 웹서버의 내용을 무제한으로 포함)은 고전적인 설정이다.다른 설정은 "역방향 프록시" 또는 "웹 서버 가속"(사용)입니다.http_port 80 Accel vhost).이 모드에서 캐시는 제한된 수의 웹 서버 또는 단 하나의 웹 서버를 위해 무제한의 클라이언트를 제공한다.
예를 들어, 만약 slow.example.com이 "실제" 웹 서버이고, www.example.com이 그것을 "실제"하는 Squid 캐시 서버라면, www.example.com에서 처음으로 페이지를 요청하면, 캐시 서버는 slow.example.com에서 실제 페이지를 얻지만, 나중에 요청하면 (구성 가능한 pe의 경우) 가속기에서 저장된 복사본을 직접 얻는다.riod, 그 후에 저장된 복사본이 폐기됨).클라이언트의 어떠한 조치도 없이 최종 결과는 소스 서버에 대한 트래픽이 적다는 것을 의미하며, 이는 CPU와 메모리 사용량이 적으며, 대역폭의 필요성이 적다는 것을 의미한다.그러나 이는 모든 요청이 역방향 프록시로부터 온 것처럼 보이기 때문에 소스 서버가 추가 구성 없이 트래픽 번호에 대해 정확하게 보고할 수 없다는 것을 의미한다.소스 서버에서 보고를 조정하는 방법은 역방향 프록시에서 보고한 X-Forwarded-For HTTP 헤더를 사용하여 실제 클라이언트의 IP 주소를 얻는 것이다.
단일 Squid 서버가 일반 프록시 및 역방향 프록시 역할을 동시에 수행할 수 있다.예를 들어, 기업은 Squid 서버가 클라이언트(사업체 외부에서 웹 사이트에 접속하는 고객)와 웹 서버 사이에서 역방향 프록시 역할을 하는 웹 서버에 자체 웹사이트를 호스팅할 수 있다.동일한 Squid 서버가 비즈니스 내의 클라이언트(즉, 워크스테이션에서 인터넷에 접속하는 직원)로부터 HTTP 요청을 캐싱하여 웹 액세스를 가속화하고 대역폭 요구를 줄이는 일반적인 웹 캐시의 역할을 할 수 있다.
미디어 범위 제한
예를 들어, HTTP 프로토콜의 특징은 참조되고 있는 자원의 데이터 범위로 요청을 제한하는 것이다.이 기능은 유튜브 등 동영상 스트리밍 웹사이트에서 광범위하게 사용돼 사용자가 동영상 진행 표시줄의 중간을 클릭할 경우 서버는 처음부터 전체 파일을 전송하고 선행 데이터가 로딩되기를 기다리는 대신 파일 중간에서 데이터 전송을 시작할 수 있다.
부분 다운로드는 또한 사용자가 컴퓨터를 끄거나 인터넷과의 연결을 끊을 경우 매우 큰 업데이트 패키지를 백그라운드에서 다운로드하고 다운로드가 중간에 일시 중지할 수 있도록 Microsoft Windows Update에 의해 광범위하게 사용된다.
Metalink 다운로드 형식은 고객이 부분적인 요청을 발행하고 이러한 요청을 여러 미러에 분산시킴으로써 세분화된 다운로드를 수행할 수 있게 해준다.
Squid는 원본 웹 서버에 부분 요청을 전달할 수 있다.부분적인 요청이 캐시에서 빠른 속도로 충족되려면, Squid는 저장소에 같은 개체의 전체 복사본이 이미 존재하도록 요구한다.
대리 비디오 사용자가 비디오 스트림을 보고 비디오가 완전히 다운로드되기 전에 다른 페이지로 탐색하는 경우, Squid는 재사용을 위해 부분 다운로드를 유지할 수 없고 데이터만 삭제한다.이러한 다운로드가 계속되어 캐시되도록 하려면 특별한 구성이 필요하다.[17]
지원되는 운영 체제
오징어는 다음과 같은 운영 체제에서 실행될 수 있다.
참고 항목
참조
- ^ "Who looks after the Squid project?".
- ^ "Squid 5.4.1 release notes". 12 February 2022.
- ^ http://www.squid-cache.org/Versions/v5/.
- ^ "What is the Best OS for Squid?".
- ^ "Squid License".
- ^ "Squid Project Logo". Retrieved 6 July 2014.
- ^ "Squid FAQ: About Squid". 13 February 2007. Archived from the original on 29 December 2007. Retrieved 13 February 2007.
- ^ "Squid 3.5 for Windows". GitHub. February 2019.
Current build is based on Squid 3.5.1 build for Cygwin Windows 64 bit
- ^ C.Mic Bowman, Peter B.단치히, 대런 R.하디, 우디 맨퍼, 마이클 F.슈워츠, 하베스트 정보 검색 및 액세스 시스템, 컴퓨터 네트워크 및 ISDN 시스템, 제28권, 이슈 1-2, 1995년 12월, 페이지 119-125. 도이:10.1016/0169-752(95)00098-5
- ^ 오징어 소개, 오징어 웹사이트에
- ^ Harvest 캐쉬는 1995년 4월 4일 Brian Belendorf가 Apache HTTP 서버 개발자의 메일링 리스트로 전송한 htttpd 가속기로 사용 가능
- ^ "Squid Sponsors". Archived from the original on 11 May 2007. Retrieved 13 February 2007.
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
- ^ a b Duane Wescels Squid and ICP: Past, Present and Future, Processions of the Australian Unix Users Group.1997년 9월, 오스트레일리아 브리즈번
- ^ "netcache.com". Archived from the original on 12 November 1996. Retrieved 7 August 2012.
- ^ 자세한 내용은 header_access 및 header_replace 설명서를 참조하십시오.
- ^ 예를 들어, 작업영역의 컴퓨터 모니터링 및 개인 정보 보호 참조
- ^ "Squid Configuration Reference". Retrieved 26 November 2012.
- ^ Paul Smedley, OS/2 포트별 OS/2 포트
- ^ https://wiki.squid-cache.org/KnowledgeBase/Windows
추가 읽기
- Wessels, Duane (2004). Squid: The Definitive Guide. O'Reilly Media. ISBN 978-0-596-00162-9.
- Saini, Kulbir (2011). Squid Proxy Server 3.1: Beginner's Guide. Packt Publishing. ISBN 978-1-849-51390-6.
외부 링크
- 공식 웹사이트

- 오징어 블로그
- 오징어 사용자 안내서
- DD-WRT용 Squid 투명 프록시
- Squid 역방향 프록시 — Squid로 역방향 프록시 만들기
- 구성 설명서 - ViSolve Squid 구성 설명서
- 구성 설명서 - 권한 있는 오징어 구성 옵션
- "Solaris Setup". Archived from the original on 15 January 2008. — Solaris에 오징어 설정
- SQUID – CentOS, Fedora 및 Red Hat에 설치