Tintenfisch (Software)
Entwickler (en) | Duane Wessels, Henrik Nordström, Amos Jeffries, Alex Rousskov, Francesco Chemolli, Robert Collins, Guido Serassio und Freiwillige[1] |
---|---|
Erstveröffentlichung | Juli 1996 |
Stabile Version | |
Repository | Github |
Geschrieben in | C ++[4] |
Betriebssystem | BSD, Linux, Unix, Fenster[5] |
Typ | Proxy Server |
Lizenz | GPL-2.0-or-Later[6] |
Webseite | www |
Tintenfisch ist ein zwischengespeichert und weiterleiten http Web-Proxy. Es hat eine Vielzahl von Verwendungszwecken, einschließlich der Beschleunigung von a Webserver durch Zwischenspeichern wiederholte Anfragen, Caching Netz, DNS und andere Computernetzwerk SOKUUPS nach einer Gruppe von Personen, die Netzwerkressourcen teilen und die Sicherheit durch Filtern des Verkehrs unterstützen. Obwohl hauptsächlich für verwendet für Http und Ftp, Tintenfisch beinhaltet eine begrenzte Unterstützung für mehrere andere Protokolle einschließlich Internet Gopher, SSL,[8] Tls und Https. Tintenfisch unterstützt das nicht Socken Protokoll, im Gegensatz zu Privoxie, mit welcher Tintenfisch verwendet werden kann, um Sockenunterstützung zu bieten.
Tintenfisch war ursprünglich als laufen als Dämon an Unix-artig Systeme. Ein Windows -Port wurde bis zu Version 2.7 gepflegt. Neue Versionen, die unter Windows verfügbar sind Cygwin Umgebung.[9] Tintenfisch ist gratis Software unter dem GNU Allgemeine öffentliche Lizenz.
Geschichte
Tintenfisch wurde ursprünglich als die entwickelt Ernteobjekt -Cache,[10] Teil von Ernteprojekt Bei der Boulder der Universität von Colorado.[11][12] Weitere Arbeiten am Programm wurden bei der abgeschlossen Universität von Kalifornien, San Diego und finanziert über zwei Zuschüsse der Nationale Wissenschaftsstiftung.[13] Duane Wessels gaben die "letzte vorkommerzielle Version von Harvest" auf und benannte sie in Tintenfisch um, um Verwirrung mit der kommerziellen Gabel mit dem Namen Cached 2.0 zu vermeiden, die wurde Netcache.[14][15] Die Squid Version 1.0.0 wurde im Juli 1996 veröffentlicht.[14] TintenfischIm September 2006 wurde ein Port des Squid Proxy -Servers in das Haupttintenprojekt zusammengefasst.[16]
Squid wird jetzt fast ausschließlich durch Freiwilligenbemühungen entwickelt.
Grundfunktionalität
Nachdem ein Tintenfisch -Proxy -Server installiert wurde, Internetbrowser kann so konfiguriert werden, dass es als verwendet werden Proxy HTTP -Server, mit dem Squid Kopien der zurückgegebenen Dokumente aufbewahren kann, die bei wiederholten Anforderungen für dieselben Dokumente sowohl die Zugriffszeit verkürzen können Bandbreite Verbrauch. Dies ist oft nützlich für Internetanbieter die Geschwindigkeit für ihre Kunden erhöhen, und Lans das Anteil an Internet Verbindung. Da die Caching -Server vom Webdienstbetreiber gesteuert werden, anonymisieren Caching -Proxies den Benutzer nicht und sollten nicht mit anonymisierenden Proxys verwechselt werden.
Ein Client -Programm (z. B. Browser) muss entweder den ausdrücklichen Proxyserver, den er verwenden möchte werden durch Squid abgefangen und alle Antworten werden zwischengespeichert. Letzteres ist in der Regel ein Unternehmensaufbau (alle Kunden sind auf demselben LAN) und stellt häufig die oben genannten Datenschutzbedenken ein.
Squid bietet einige Funktionen, die helfen können anonymisieren Verbindungen wie Deaktivieren oder Ändern spezifischer Headerfelder in a Kunde HTTP -Anfragen. Ob diese festgelegt sind und was sie tun sollen, liegt bei der Person, die den Computer -Tintenfisch steuert. Personen, die Seiten über ein Netzwerk anfordern, das transparent Squid verwendet, wissen möglicherweise nicht, ob diese Informationen protokolliert werden.[17] Zumindest in britischen Organisationen sollten Benutzer informiert werden, wenn Computer oder Internetverbindungen überwacht werden.[18]
Reverse Proxy
Das obige Setup - den Inhalt einer unbegrenzten Anzahl von unbegrenzt Webserver Für eine begrenzte Anzahl von Kunden ist die klassische. Ein weiteres Setup ist ""Reverse Proxy"oder" Webserver -Beschleunigung "(Verwendung http_port 80 Accel Vhost). In diesem Modus dient der Cache eine unbegrenzte Anzahl von Clients für eine begrenzte Anzahl von - oder nur eine - Web -Server.
Als Beispiel, wenn Slow.example.com ist ein "echter" Webserver und www.example.com Ist der Squid -Cache -Server, der es "beschleunigen", das erste Mal, dass jede Seite von angefordert wird www.example.comDer Cache -Server würde die tatsächliche Seite von abrufen Slow.example.com, aber später würden Anfragen die gespeicherte Kopie direkt vom Gaspedal (für einen konfigurierbaren Zeitraum, an dem die gespeicherte Kopie verworfen werden) erhalten. Das Endergebnis ist ohne Aktion der Clients weniger Verkehr auf den Quellserver, was weniger CPU und Speicherverbrauch und weniger Bandbreite benötigt. Dies bedeutet jedoch, dass der Quellserver ohne zusätzliche Konfiguration nicht genau über seine Verkehrsnummern berichten kann, da alle Anforderungen aus dem umgekehrten Proxy stammen. Eine Möglichkeit, die Berichterstattung auf dem Quellserver anzupassen, besteht darin, die zu verwenden X-Forward-for Der von der Reverse Proxy gemeldete HTTP -Header, um die IP -Adresse des realen Kunden zu erhalten.
Es ist möglich, dass ein einzelner Tintenfischserver sowohl als normaler als auch als umgekehrter Proxy gleichzeitig dient. Beispielsweise könnte ein Unternehmen eine eigene Website auf einem Webserver hosten, wobei ein Squid -Server als Reverse Proxy zwischen Clients (Kunden zugreifen auf die Website von außerhalb des Geschäfts) und auf dem Webserver fungiert. Der gleiche Tintenfischserver könnte als klassischer Web -Cache fungieren und HTTP -Anfragen von Kunden innerhalb des Unternehmens (d. H. Mitarbeiter, die von ihren Workstations auf das Internet zugreifen), eingestuft werden.
Einschränkungen für Medienbereiche
Beispielsweise besteht eine Funktion des HTTP -Protokolls darin, eine Anforderung auf den Datenbereich in der zu verwiesenen Ressource zu begrenzen. Diese Funktion wird ausgiebig von Video -Streaming -Websites wie zum Beispiel verwendet YoutubeWenn ein Benutzer in die Mitte der Video -Fortschrittsleiste klickt, kann der Server beginnen, Daten aus der Mitte der Datei zu senden, anstatt die gesamte Datei von Anfang an zu senden, und der Benutzer wartet auf die vorhergehenden Daten, um das Laden zu beenden .
Teilweise Downloads werden auch von Microsoft ausführlich verwendet Windows Update Damit extrem große Update -Pakete im Hintergrund herunterladen und auf halbem Weg durch den Download pausieren können, wenn der Benutzer seinen Computer ausschaltet oder die Verbindung vom Internet abnimmt.
Das Metallink Mit dem Download -Format können Clients segmentierte Downloads durchführen, indem sie teilweise Anfragen ausstellen und diese über eine Reihe von Spiegeln verbreiten.
Squid kann teilweise Anforderungen an den Origin -Webserver weiterleiten. Damit eine teilweise Anfrage mit einer schnellen Geschwindigkeit von Cache erfüllt werden kann, muss Squid eine vollständige Kopie desselben Objekts in seinem Speicher vorhanden sein.
Wenn ein Proxy -Video -Benutzer einen Video -Stream ansieht und vor dem Video zu einer anderen Seite durchstürmt wird, kann Squid den teilweise Download für die Wiederverwendung nicht beibehalten und einfach die Daten verwaltet. Eine spezielle Konfiguration ist erforderlich, um solche Downloads zu erzwingen, um fortzufahren und zwischenstrahlt zu werden.[19]
Unterstützte Betriebssysteme
Tintenfisch kann Folgendes laufen Betriebssysteme:
- AIX
- BSDI
- Digital Unix
- Freebsd
- HP-UX
- Irrix
- Linux
- Mac OS
- Netbsd
- Nächster Schritt
- OpenBSD
- OS/2 (einschließlich Arcaos und ECOMSTATION)[20]
- SCO OpenServer
- Solaris
- Unixware
- Fenster[21]
Siehe auch
- Webbeschleuniger Dies erörtert Host-basierte HTTP-Beschleunigung
- Proxy Server wodurch kundenseitige Proxies erörtert werden
- Reverse Proxy die Ursprungs-Proxies erörtert
- Vergleich von Webservern
Verweise
- ^ "Wer kümmert sich um das Squid -Projekt?".
- ^ "Tintenfisch 5.6 Versionsnotizen". 6. Juli 2022. Abgerufen 22. Juli 2022.
- ^ "Squid Version 5". Abgerufen 22. Juli 2022.
- ^ Squid-Cache/Tintenfisch, Squid, 27. Juli 2022, abgerufen 27. Juli 2022
- ^ "Was ist das beste Betriebssystem für Tintenfisch?".
- ^ "Tintenfischlizenz".
- ^ "Squid Project Logo". Abgerufen 6. Juli 2014.
- ^ "Tintenfisch -FAQ: Über Tintenfisch". 13. Februar 2007. Archiviert Aus dem Original am 29. Dezember 2007. Abgerufen 13. Februar 2007.
- ^ "Tintenfisch 3.5 für Windows". GitHub. Februar 2019.
Der aktuelle Build basiert auf Squid 3.5.1 Build für Cygwin Windows 64 -Bit
- ^ C.Mic Bowman, Peter B. Danzig, Darren R. Hardy, Udi Manper, Michael F. Schwartz, The Harvest Information Discovery and Access System, Computernetzwerke und ISDN -Systeme, Band 28, Ausgaben 1–2, Dezember 1995, Seiten 119 –125. doi: 10.1016/0169-7552 (95) 00098-5
- ^ Tintenfisch -Intro, auf der Squid -Website
- ^ Harvest Cache jetzt als "HTTPD -Beschleuniger" verfügbar, von Mike Schwartz auf der HTTP-WG Mailingliste, Di, 4. April 1995, wie von weitergeleitet von weitergeleitet von Brian Behlendorf zum Apache HTTP Server Mailingliste der Entwickler
- ^ "Tintenfischsponsoren". Archiviert von das Original am 11. Mai 2007. Abgerufen 13. Februar 2007.
Die NSF war die Hauptfinanzierungsquelle für die Tintenfischentwicklung von 1996 bis 200000. Zwei Zuschüsse ( #NCR-9616602, #NCR-9521745), die über die Abteilung Advanced Networking Infrastructure and Research (ANIR) erhalten wurden, wurden von der University of California San Diego verwaltet
- ^ a b Duane Wessels Tintenfisch und ICP: Vergangenheit, Gegenwart und Zukunft, Proceedings of the Australian Unix Users Group. September 1997, Brisbane, Australien
- ^ "netcache.com". Archiviert von das Original am 12. November 1996. Abgerufen 7. August 2012.
- ^ "Squid FAQ: Läuft Squid unter Windows?".
- ^ Siehe die Dokumentation für Header_access und Header_replace für weitere Details.
- ^ Siehe zum Beispiel, Computerüberwachung am Arbeitsplatz und Ihrer Privatsphäre
- ^ "Tintenfischkonfigurationsreferenz". Abgerufen 26. November 2012.
- ^ OS/2 -Ports von Paul Smedley, OS/2 -Ports
- ^ "KnowledgeBase/Windows - Squid Web Proxy Wiki".
Weitere Lektüre
- Wessels, Duane (2004). Tintenfisch: Die endgültige Anleitung. O'Reilly Media. ISBN 978-0-596-00162-9.
- Saini, Kulbir (2011). Squid Proxy Server 3.1: Anfängerhandbuch. Packt Publishing. ISBN 978-1-849-51390-6.
Externe Links
- Offizielle Website
- Tintenfischblog
- Tintenfisch Benutzerhandbuch
- Tintenfisch transparenter Proxy für DD-WRT
- Squid Reverse Proxy - Erstellen Sie einen Reverse -Proxy mit Tintenfisch
- Konfigurationshandbuch - Visolve Squid Configuration Manual Guide
- Konfigurationshandbuch - Autoritative Tintenfischkonfigurationsoptionen
- "Solaris Setup". Archiviert von das Original am 15. Januar 2008. - Setup -Tintenfisch auf Solaris einrichten
- Tintenfisch - Installation auf CentOs, Fedora und Red Hat