avatar
Today is Friday
October 18, 2019

Search Results Archives: February 2008

February 22, 2008

IIS v6 (Windows 2003) en gecomprimeerde communicatie – Deel I

by tsnoei — Categories: Uncategorized — No Comments - Afdrukken Afdrukken

Om optimaal gebruik te kunnen maken van de verbinding naar je IIS webserver is het handig om eens te kijken naar hoe de webserver communiceert. Standaard communiceert de IIS server v6 zonder de communicatie te comprimeren. Aangezien over het algemeen plaatjes niet meer hoeven te worden gecomprimeerd omdat vooral formaten zoals gif, jpeg en png zijn geoptimaliseerd zodat er geen bitje te veel over de lijn gaat is het comprimeren alleen relevant voor de ASCII die heen en weer wordt gestuurd. Situaties waarbij vooral ASCII (lees html, xml etc) wordt gecommuniceerd zijn vooral webservice implementaties. Hierbij worden nauwelijks plaatjes gecommuniceerd en met name heel veel XML. Het mooie is dat ASCII heel goed te comprimeren is.

In de komende 2 artikelen van alles om gecomprimeerde communicatie tussen webservice server en client met IIS 6 voor elkaar te krijgen. In dit eerste deel uitleg over hoe IIS server te configureren om te zorgen dat compressie wordt geaccepteerd. Dit is niet zomaar een kwestie van een paar vinkjes zetten, maar ook het aanpassen van de IIS Metabase.

In de praktijk werkt compressie eigenlijk als volgt. Een client doet een request naar een webserver en geeft in de hostheader aan dat een gecomprimeerde reactie van de webserver wordt geaccepteerd en geeft aan met welke compressiemethode de client overweg kan. Ondersteund de webserver 1 van de gegeven compressiemethoden dan zal het antwoord van de webserver gecomprimeerd worden teruggestuurd naar de client met in de hostheader de aanduiding welke compressie is toegepast. De mate van compressie is in de webserver in te stellen.

Compressie inschakelen

  1. Start de Internet Information Services Snap-in
  2. Klik met de rechtermuisknop op de “Web Sites” > Properties
  3. Kies de Service tab.
  4. Zet Compress Application Files aan.
  5. Zet Compress Static Files aan.
  6. Controleer of de directory aangegeven bij “Temporary Directory” bestaat en lees- en schrijfrechten geeft aan de Internet Guest = IUSR_[COMPUTERNAME].
  7. Zet de max. directory size waarde op een redelijke waarde.

IIS6Comp2.jpg

Web Extensie toevoegen
Om te zorgen dat compressie qua beveiliging is toegestaan moet de compressie extensie worden toegevoegd.

  1. Klik met de rechtermuisknop op de “Web Service Extensions” > “Add new Web Service Extension”.
  2. Geef een duidelijke extensienaam bijv “HTTP Compression”.
  3. Kies Add > “C:\WINDOWS\system32\inetsrv\gzip.dll”.
  4. Zet “Set extension status to allowed” aan.

IISComp1.jpg

IIS v6 MetaBase aanpassen

  1. Stop IIS
  2. Open het metabase bestand met een editor zoals Notepad via “c:\windows\system32\inetsrv\metabase.xml”.
  3. Zoek naar “
  4. Voeg binnen het element “HcScriptFileExtensions” (Dus niet “HcFileExtensions”) van beide compressiemethoden de extensies “aspx” en “asmx” toe en eventueel “php”. Houdt de bestaande uitlijning aan om te zorgen dat het metabase bestand niet corrupt raakt.
  5. Pas vervolgens de waarde van “HcDynamicCompressionLevel” aan. De waarde staat op “0″, maak er “9″ van. Deze waarde geeft de mate van compressie aan. Een test overzicht van Chris Adams (Microsoft) toont aan dat een compressie van 9 prima is, maar 10, de hoogste waarde, de CPU erg zwaar belast. Terwijl de compressie bijna even goed is.
  6. Start IIS

IIS v6 is nu klaar voor gebruik wat betreft compressie. Nu is het nog zaak een .NET webserviceclient te implementeren die overweg kan met compressie. Meer hierover in deel II.
IIS6Comp3.jpg

© 2019 Snoei's .NET blog All rights reserved - Wallow theme v0.44 by ([][]) TwoBeers - Powered by WordPress - Have fun!