title: Varnish
text: Varnish is een HTTP-accelerator, ontworpen voor het cachen van dynamische websites. In tegenstelling tot webservers zoals Apache en nginx, en andere proxyservers zoals Squid, is Varnish slechts een proxyserver (met uitsluitend ondersteuning voor het HTTP-protocol). Varnish wordt gebruikt door bekende websites als Wikipedia, The New York Times, Facebook, Twitter, Vimeo en Tumblr.
  
  Geschiedenis 
  De ontwikkeling van Varnish werd gestart door de Noorse tabbloid nieuwskrant Verdens Gang. De belangrijkste ontwikkelaar van Varnish is Poul-Henning Kamp, een bekende FreeBSD-ontwikkelaar. Management, de infrastructuur en hulp bij de ontwikkeling van Varnish werd gegeven door het eveneens Noorse Linpro, een bedrijf dat advies geeft over Linux. Later werden de steun, ontwikkeling en het management overgedragen aan Varnish Software.
  
  Varnish is open-source en is beschikbaar onder een two-clause BSD-licentie. Versie 1.0 van Varnish kwam uit in 2006, Varnish 2.0 in 2008, Varnish 3.0 in 2011 en Varnish 4.0 in 2014.
  
  Architectuur 
  Varnish slaat data op in het virtuele geheugen en geeft het besturingssysteem de taak om te bepalen wat opgeslagen blijft in het geheugen en wat opgeslagen wordt op de schijf.
  
  Varnish maakt veel gebruik van threads, waarbij elke verbinding wordt afgehandeld door een workthread. Wanneer de limiet van actieve worker threads is bereikt, worden inkomende verbindingen in een overflow-wachtrij geplaatst; inkomende verbindingen worden geweigerd.
  
  Men kan Varnish configuren door middel van de Varnish Configuration Language (VCL). Hierdoor kan men zelf bepalen wat er met individuele verzoeken wordt gedaan. Wanneer een VCL-script wordt geladen wordt deze omgezet naar C en gecompileerd door een gedeeld object van de door het systeem gebruikte compiler, om vervolgens gelijk in Varnish geladen te worden zonder een herstart van de service.
  
  Andere functies 
   Plugin-ondersteuning met Varnish-modules
   Gzip-compressie en decompressie
   HTTP-streaming "pass & fetch"
   Experimentele ondersteuning voor blijvende opslag, zonder het LRU-cachealggoritme (Least Recently Used) te gebruiken
  
  Zie ook 
   Proxyserver
  
  Externe links 
    Officiële website voor de ontwikkeling van Varnish
    Officiële commerciële website 
  
  Software geschreven in C
  Proxysoftware
  Opensourcesoftware en vrije software
  Webserver-software