SharePoint goes HTTP/2
Microsoft führte, fast im Stillen, im IIS 10 die Unterstützung für HTTP/2 den Nachfolger von HTTP/1.1 ein. Die Entwicklung dieses Standards wurde maßgeblich von Google und Microsoft vorangetrieben und hat zum Ziel die Übertragung zu optimieren, zu beschleunigen und die Netzwerklatenz zu verringern – wobei es vollständig abwärtskompatibel zu HTTP/1.1 ist.
Der Standard wird heute bereits von fast allen Browsern vollumfänglich unterstützt und erlaubt es im Gegensatz zu HTTP/1.1, Daten über eine einzige TCP/IP-Verbindung, im Multiplexverfahren zu übertragen. Dies verhindert unnötige Round-trips, da die Verbindung nur ein einziges Mal ausgehandelt werden muss und spart zusätzliche 1-2 Round-trips bei TLS Handshakes ein.
Vorteile
Browser wie zum Beispiel Chrome öffnen gleichzeitig maximal 6 TCP/IP Verbindungen. Dies führt dazu, dass das Laden einer Website, die sich aus mehr als 6 Dateien zusammensetzt, künstlich verlangsamt wird. Die durchschnittliche Anzahl der Requests, für eine Website betrug im Jahr 2013 90. Eine SharePoint Seite, basierend auf der Team Site Vorlage benötigt ca. 120 Requests.
Auch ist das Protokoll HTTP/1.1 auf den Client zugeschnitten, sodass ein Server keine Möglichkeit hat, Daten ohne explizite Anfrage zum Browser zu schicken. Der Server kann nun auch, um nicht auf vorhersehbare Folgeanforderungen vom Client warten zu müssen, Datenübertragungen per HTTP/2 PUSH initiieren.
Erwähnenswert ist auch die Einführung von HPACK einem Kompressionsschema für HTTP Header, da die Kompression der Header die Redundanz zwischen einzelnen Requests verringert und somit das Multiplexing optimiert.
Eine gelungene Demo auf der Seite http://www.http2demo.io/ zeigt deutlich den Performancegewinn bei der Nutzung von HTTP/2. Hier wird, unter Verwendung beider Protokolle aus 200 Einzelbildern vom selben Content Delivery Network ein Gesamtbild gerendert:
Ist die Nutzung von HTTP/2 in Verbindung mit SharePoint möglich bzw. supported?
Microsoft äußert sich, Stand heute, nicht explizit zur Nutzung von HTTP/2 in Verbindung mit SharePoint. Das Protokoll wird im IIS automatisch aktiviert, sobald gewisse Voraussetzungen gegeben sind. Sollte dem nicht so sein bzw. wird das Protokoll vom Client Browser nicht unterstützt, findet ein Fallback auf HTTP/1.1 statt. Von daher ist davon auszugehen, dass diese Konstellation unterstützt wird.
Ein kleiner Wermutstropfen bleibt allerdings: Die SharePoint Web App Applikation, die das Protokoll verwenden soll, muss zum Beispiel SAML-basierte Anspruchsauthentifizierung verwenden, da NTLM und Kerberos nicht unterstützt werden.
Vorrausetzungen für die Aktivierung des Protokolls im IIS:
– SharePoint 2016
– Windows Server 2016 / IIS 10
– SAML-basierte Anspruchsauthentifizierung
– IIS SSL/TLS Binding