스퀴드 (소프트웨어)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
스퀴드(Squid)는 웹 페이지, 이미지 등 인터넷 객체를 캐싱하여 반복 요청에 대한 응답 시간을 줄이고 네트워크 대역폭을 절약하는 프록시 서버 소프트웨어이다. 원래 '하베스트 객체 캐시'로 개발되었으며, HTTP, FTP, 고퍼 프로토콜 등을 지원한다. 웹 브라우저를 프록시 서버로 설정하여 사용하거나, 투명 프록시 기능을 통해 추가 설정 없이 사용할 수 있다. 웹 서버 가속을 위한 역 프록시 기능도 제공하며, 부분 요청을 처리하여 미디어 스트리밍을 지원한다. 스퀴드는 현재 자원 봉사자들에 의해 개발 및 유지보수되고 있으며, 다양한 운영체제에서 호환된다.
더 읽어볼만한 페이지
- 리버스 프록시 - Nginx
Nginx는 이고르 시소예프가 개발한 웹 서버 소프트웨어로, 높은 성능과 안정성을 바탕으로 웹 서버, 리버스 프록시, 로드 밸런서 등으로 활용되며 대규모 트래픽 처리에 강점을 보이지만, F5 Networks 인수 후 포크 프로젝트가 등장하기도 했다. - 리버스 프록시 - 아파치 HTTP 서버
아파치 HTTP 서버는 아파치 소프트웨어 재단에서 관리하는 오픈 소스 웹 서버 소프트웨어로, 다양한 운영체제 지원, 모듈을 통한 기능 확장, 가상 호스팅 등의 기능을 제공하며 전 세계적으로 널리 사용된다. - 웹 서버 소프트웨어 - 인터넷 정보 서비스
인터넷 정보 서비스(IIS)는 마이크로소프트 윈도우 운영 체제에서 사용되는 웹 서버 소프트웨어이며, 액티브 서버 페이지(ASP) 지원, IPv6 지원, 모듈식 아키텍처, 보안 기능 강화 등을 통해 발전해 왔고, 다양한 인증 메커니즘과 .NET 프레임워크를 지원하며, 넷크래프트와 W3Techs의 조사에서 세계에서 두 번째 또는 세 번째로 널리 사용되는 웹 서버이다. - 웹 서버 소프트웨어 - 임베디드 HTTP 서버
임베디드 HTTP 서버는 임베디드 애플리케이션 내에서 사용되는 HTTP 서버로, 씬 클라이언트 인터페이스 제공, 정보 배포, 웹 애플리케이션 개발 등에 활용되며, 제한된 자원 환경에서 다양한 요구 사항을 충족해야 한다. - 크로스 플랫폼 자유 소프트웨어 - 김프
김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다. - 크로스 플랫폼 자유 소프트웨어 - Tcl
Tcl은 존 오스터하우트가 개발한 명령어 기반의 프로그래밍 언어로, Tk 툴킷과 결합하여 GUI 스크립팅 환경으로 발전했으며, 다양한 운영체제에서 사용 가능하고 C, C++, Java 등 다른 언어와의 인터페이스를 지원한다.
스퀴드 (소프트웨어) - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
![]() | |
개발자 | Duane Wessels, Henrik Nordström, Amos Jeffries, Alex Rousskov, Francesco Chemolli, Robert Collins, Guido Serassio 및 자원 봉사자 |
최초 릴리스 | 1996년 7월 |
최신 버전 | 6.2 |
최신 버전 출시일 | 2024년 2월 8일 |
최신 미리보기 버전 | 7.0.dev |
최신 미리보기 버전 출시일 | 2023년 2월 21일 |
저장소 | GitHub 저장소 |
프로그래밍 언어 | C++ |
운영 체제 | BSD, 리눅스, 유닉스, 윈도우 |
종류 | 프록시 서버 |
라이선스 | GPL 2.0 이상 |
웹사이트 | 공식 웹사이트 |
2. 역사
스퀴드는 콜로라도 대학교 볼더에서 진행된 하베스트 프로젝트의 일부로, 처음에는 '하베스트 객체 캐시'라는 이름으로 개발되었다.[8][9][10] 이후 캘리포니아 대학교 샌디에이고에서 추가 개발이 이루어졌으며, 국립 과학 재단의 지원을 받았다.[11] 듀안 웨셀스는 하베스트의 마지막 비상업 버전을 포크하여 스퀴드로 이름을 변경했는데, 이는 상용 소프트웨어였던 Cached 2.0(이후 NetCache로 변경)과의 혼동을 피하기 위함이었다.[12][13] 1996년 7월, 스퀴드 버전 1.0.0이 출시되었다.[12] 2006년 9월에는 스퀴드 프록시 서버의 포트인 SquidNT가 메인 스퀴드 프로젝트에 병합되었다.[14]
스퀴드는 웹 프록시 및 캐싱 서버로서 다음과 같은 주요 기능을 제공한다.
현재 스퀴드는 거의 전적으로 자원 봉사자들의 노력으로 개발 및 유지보수가 이루어지고 있다.
2023년 10월에는 스퀴드에 35개의 보안 취약점이 존재하며, 최초 보고 이후 2년 반 동안 수정되지 않고 있다는 사실이 보고되었다.[15]
3. 주요 기능
스퀴드는 클라이언트 프로그램(예: 브라우저)이 사용하기 원하는 프록시 서버를 명기하거나 특별한 설정 없이 프록시를 이용할 수 있게 한다. 후자를 "투명 프록시"라고 하며, 모든 HTTP 요청은 스퀴드에 의해 가로채지며 응답은 캐시된다. 보통 기업체에서 이러한 설정을 한다.[16] 스퀴드는 좀 더 익명적인 연결을 위하여 클라이언트의 HTTP 요청에서 특정한 헤더 필드들을 제외 또는 변경할 수 있다.[16]
3. 1. 웹 프록시
캐싱 기능을 사용하여 웹 페이지, 이미지 등 인터넷 객체를 저장하여 반복적인 요청에 대한 응답 시간을 단축하고 네트워크 대역폭을 절약한다.[16] HTTP, FTP, 고퍼 프로토콜 등 다양한 프로토콜을 지원한다.[16] 클라이언트의 HTTP 요청에서 특정 헤더 필드를 제어하거나 변경하여 익명성을 보장하는 기능을 제공한다.[16] 투명 프록시 기능을 통해 클라이언트의 별도 설정 없이 프록시를 사용할 수 있도록 한다.[16]
스퀴드는 반환된 문서의 사본을 유지하며, 동일한 문서에 대한 반복적인 요청 시 접근 시간을 줄이고 대역폭 소비를 줄일 수 있다. 이는 인터넷 서비스 제공업체가 고객의 속도를 높이고, LAN이 인터넷 연결을 공유할 때 유용하다.[16]
클라이언트 프로그램은 사용하려는 프록시 서버를 명시적으로 지정하거나, 추가 구성 없이 투명 프록시 방식을 사용할 수 있다. 투명 캐싱의 경우 모든 발신 HTTP 요청은 스퀴드에 의해 가로채지고 모든 응답은 캐시된다.
스퀴드는 익명성을 돕는 기능을 제공하는데, 예를 들어 클라이언트의 HTTP 요청에서 특정 헤더 필드를 비활성화하거나 변경하는 기능이 있다.
3. 2. 역 프록시 (리버스 프록시)
웹 서버의 콘텐츠를 캐싱하는 고전적인 방식 외에도, "리버스 프록시"[25] 또는 "웹 서버 가속"이라고 불리는 설정이 있다. 이 설정에서는 캐시가 한정된 수(또는 하나)의 웹 서버의 콘텐츠를 무한대의 클라이언트에게 제공한다.
예를 들어, slow.example.com이 "실제" 웹 서버이고, www.example.com이 그것을 "가속"하는 스퀴드 캐시 서버라고 가정하자. www.example.com에서 페이지를 처음 요청했을 때 캐시 서버는 slow.example.com에서 실제 페이지를 가져온다. 하지만 이후 요청에서는 설정에 따라 일정 기간 동안 가속기에서 직접 가져온 복사본을 취한다. 결론적으로 소스 서버에 클라이언트로부터 어떠한 동작도 없으므로 트래픽이 감소되고 이는 더 적은 CPU와 메모리 사용량, 더 적은 대역폭을 필요로 함을 의미한다.
하나의 스퀴드 서버에서 웹 프록시와 역 프록시를 동시에 서비스하는 것도 가능하다.
3. 3. 미디어 범위 제한
HTTP 프로토콜의 기능 중 하나는 참조되는 리소스 내에서 데이터 범위를 제한하여 요청하는 것이다. 이 기능은 유튜브와 같은 비디오 스트리밍 웹사이트에서 널리 사용된다. 사용자가 비디오 재생 중 특정 부분을 클릭하면, 서버는 파일 처음부터 전체를 보내는 대신 해당 부분부터 데이터를 전송할 수 있다. 따라서 사용자는 앞부분 데이터가 로딩될 때까지 기다릴 필요 없이 빠르게 원하는 부분을 시청할 수 있다.[18]
부분 다운로드는 Windows 업데이트에서도 널리 사용된다. 매우 큰 업데이트 패키지를 백그라운드에서 다운로드하고, 사용자가 컴퓨터를 끄거나 인터넷 연결을 해제하는 경우 다운로드를 일시 중지할 수 있어 효율적이다.[18]
메탈링크 다운로드 형식은 클라이언트가 부분 요청을 발행하고 여러 미러에 분산하여 분할 다운로드를 수행할 수 있도록 지원한다.[18]
스퀴드는 부분 요청을 원본 웹 서버로 중계할 수 있다. 캐시에서 빠른 속도로 부분 요청을 처리하려면, 스퀴드는 동일한 객체의 전체 사본을 이미 저장소에 가지고 있어야 한다.[18]
프록시를 통해 비디오를 시청하는 사용자가 비디오를 완전히 다운로드하기 전에 다른 페이지로 이동하면, 스퀴드는 부분 다운로드를 재사용할 수 없어 해당 데이터를 폐기한다. 이러한 다운로드를 강제로 계속 진행하고 캐시하려면 특별한 구성이 필요하다.[18]
3. 4. 기타 기능
4. 호환성
스퀴드는 다양한 운영 체제에서 사용할 수 있다. 리눅스, FreeBSD, OpenBSD, NetBSD, BSDI, OS X, 솔라리스, AIX, HP-UX 등에서 사용 가능하다. 윈도우 NT에서는 시그윈/GnuWin32 패키지를 통해 사용할 수 있다.[20]
다음은 스퀴드가 지원하는 운영 체제 목록이다.
운영 체제 |
---|
AIX |
BSDI |
Digital Unix |
FreeBSD |
FreeBSD jail |
OpenWRT |
Raspbian |
도커 |
Ubuntu |
pfSense |
OPNsense |
Kali Linux |
CentOS |
HP-UX |
IRIX |
리눅스 |
Red Hat Enterprise Linux |
SUSE Linux |
Arch Linux |
Linux Mint |
Debian |
Palm의 webOS |
macOS |
NetBSD |
NeXTStep |
OpenBSD |
OS/2 (ArcaOS 및 eComStation 포함) |
SCO OpenServer |
Solaris |
UnixWare |
Microsoft Azure 및 Microsoft Nano Server |
Windows[20] |
5. 한국 내 활용 및 정책적 의의
스퀴드는 대한민국 내에서 인터넷 서비스 제공업체(ISP) 및 기업들이 네트워크 성능을 향상시키고 보안을 강화하기 위해 널리 사용하고 있다. 특히, 더불어민주당은 사이버 보안 및 망 중립성 강화를 위한 정책의 일환으로 스퀴드와 같은 기술 활용을 적극적으로 지지한다.
스퀴드의 투명 프록시 기능은 기업 환경에서 네트워크 보안을 강화하는 데 기여할 수 있지만, 개인 정보 보호 문제에 대한 주의가 필요하다. 스퀴드의 리버스 프록시 기능은 국내 웹 호스팅 업체 및 콘텐츠 전송 네트워크(CDN) 사업자에게 웹 서버 부하 감소 및 성능 향상을 위한 솔루션을 제공한다.
하나의 스퀴드 서버는 일반 프록시와 리버스 프록시를 동시에 제공할 수 있다. 예를 들어, 기업은 자체 웹 사이트를 웹 서버에 호스팅할 수 있으며, 스퀴드 서버는 클라이언트(기업 외부에서 웹 사이트에 접속하는 고객)와 웹 서버 사이에서 리버스 프록시 역할을 한다. 동일한 스퀴드 서버는 고전적인 웹 캐시 역할을 하여 기업 내 클라이언트(예: 워크스테이션에서 인터넷에 접속하는 직원)의 HTTP 요청을 캐싱하여 웹 접속 속도를 높이고 대역폭 요구를 줄일 수 있다.[1]
6. 비판 및 한계
스퀴드는 여러 가지 장점을 제공하지만, 개인 정보 보호 문제 등 몇 가지 비판과 한계점도 존재한다.
6. 1. 개인 정보 보호 문제
웹 브라우저를 스퀴드 프록시 서버로 사용하도록 구성하면, 스퀴드는 반환된 문서의 사본을 유지할 수 있다. 이 경우, 동일한 문서에 대한 반복적인 요청 시 접근 시간을 줄이고 대역폭 소비를 줄일 수 있다. 캐싱 프록시는 웹 서비스 운영자가 제어하므로 사용자를 익명화하지 않으며, 익명 프록시와 혼동해서는 안 된다.클라이언트 프로그램(예: 브라우저)은 사용하려는 프록시 서버를 명시적으로 지정하거나, 추가 구성 없이 프록시를 사용할 수 있는데, 후자를 "투명 캐싱" 방식이라고 한다. 투명 캐싱은 모든 발신 HTTP 요청을 스퀴드가 가로채고 모든 응답을 캐시하는 방식이다. 이는 일반적으로 기업 환경에서 사용되며, 개인 정보 보호 문제를 야기할 수 있다.
스퀴드는 익명성을 돕는 몇 가지 기능을 가지고 있다. 예를 들어 클라이언트의 HTTP 요청에서 특정 헤더 필드를 비활성화하거나 변경할 수 있다. 그러나 이러한 기능의 설정 여부와 내용은 스퀴드를 실행하는 컴퓨터를 제어하는 사람에게 달려 있다. 따라서 스퀴드를 투명하게 사용하는 네트워크를 통해 페이지를 요청하는 사람들은 자신의 정보가 기록되고 있는지 알 수 없을 수 있다.[16] 최소한 영국 내 조직에서는 컴퓨터나 인터넷 연결이 모니터링되고 있는지 사용자에게 알려야 한다.[17]
참조
[1]
웹사이트
Squid Project Logo
https://www.squid-ca[...]
2014-07-06
[2]
웹사이트
Who looks after the Squid project?
https://www.squid-ca[...]
[3]
간행물
squid-cache/squid
https://github.com/s[...]
Squid
2022-07-27
[4]
웹사이트
What is the Best OS for Squid?
https://wiki.squid-c[...]
[5]
웹사이트
Squid License
https://bazaar.launc[...]
[6]
웹사이트
Squid for Windows
https://github.com/d[...]
2024-02
[7]
웹사이트
Squid-cache.org Knowledge Base
https://wiki.squid-c[...]
[8]
논문
The Harvest information discovery and access system
https://dx.doi.org/1[...]
C.Mic Bowman, Peter B. Danzig, Darren R. Hardy, Udi Manper, Michael F. Schwartz
1995-12
[9]
웹사이트
Squid intro
http://www.squid-cac[...]
[10]
메일링리스트
Harvest cache now available as an "httpd accelerator"
http://mail-archives[...]
Mike Schwartz
1995-04-04
[11]
웹사이트
Squid Sponsors
http://www.squid-cac[...]
2007-02-13
[12]
문서
Squid and ICP: Past, Present, and Future
https://web.archive.[...]
Duane Wessels
1997-09
[13]
웹사이트
netcache.com
http://www.netcache.[...]
2012-08-07
[14]
웹사이트
Squid FAQ: Does Squid run on Windows?
https://wiki.squid-c[...]
[15]
웹사이트
55 Vulnerabilities in Squid Caching Proxy and 35 0days
https://joshua.hu/sq[...]
2023-10-11
[16]
문서
header_access and header_replace documentation
[17]
웹사이트
Computer Monitoring In The Workplace and Your Privacy
http://www.yourpriva[...]
[18]
웹사이트
Squid Configuration Reference
http://www.squid-cac[...]
2012-11-26
[19]
웹사이트
OS/2 Ports by Paul Smedley
http://os2ports.smed[...]
[20]
웹사이트
KnowledgeBase/Windows - Squid Web Proxy Wiki
https://wiki.squid-c[...]
[21]
웹사이트
squid : Optimising Web Delivery
http://www.squid-cac[...]
2023-08-20
[22]
문서
50音順にアゼルバイジャン語、アフリカーンス語、アラビア語、アルメニア語、イタリア語、インドネシア語、ウクライナ語、ウズベク語、英語、エストニア語、オック語、オランダ語、カタルーニャ語、ギリシア語、グルジア語、スペイン語、スロバキア語、スロベニア語、セルビア語(キリル文字、ラテン文字)、タイ語、チェコ語、中国語(簡体字、繁体字)、朝鮮語、デンマーク語、ドイツ語、トルコ語、日本語、ハンガリー語、フィンランド語、フランス語、ブルガリア語、ベトナム語、ポーランド語、ポルトガル語、マレー語、ヘブライ語、ペルシア語、ラトビア語、リトアニア語、ルーマニア語、ロシア語(3.5.3版配布物件のerrorsディレクトリーによる)。
[23]
웹사이트
Intro
http://www.squid-cac[...]
2012-12-21
[24]
웹사이트
SquidのFAQページより(英語)
http://www.squid-cac[...]
[25]
웹사이트
Squid Reverse Proxy
http://www.visolve.c[...]
2009-07-04
[26]
웹사이트
upload.wikimedia.orgのトップ・ページ
http://upload.wikime[...]
2012-10-04
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com