Was ist Inhaltsverhandlung?
Die Inhaltsaushandlung ist eine in der HTTP-Spezifikation (Hyptertext Transfer Protocol) beschriebene Technik, mit der ein Remoteclient eine spezifischere Anforderung an einen Webserver senden kann. Mit dieser Methode kann der Server mehrere Dateitypen, Dokumente in verschiedenen Sprachen und mehr mit unterschiedlichen Qualitätsstufen hosten. Diese separaten Auswahlen werden als einzelne Referenz gehostet, die durch ihre einheitliche Ressourcen-ID (Uniform Resource Identifier, URI) gekennzeichnet ist, und sollen anwendbareren Inhalt bereitstellen, wenn er auf dem Server verfügbar ist.
Wenn ein URL (Uniform Resource Locator) eine Referenz auf eine Datei an einem bestimmten Speicherort ist, z. B. in einem Ordner auf dem Server, kann ein URI praktisch überall auf alles verweisen. Die Einzelheiten der URI, wie der Speicherort der zu übermittelnden Datei, der Name der Datei und ihr Typ, werden nach dem Aushandeln des Inhalts ermittelt. Auf diese Weise können die verschiedenen Inhalte an verschiedenen Orten abgelegt werden, z. B. alle Dateien für eine bestimmte Sprache, die sich im Ordner dieser Sprache auf dem Server befinden.
Die Idee hinter der Inhaltsverhandlung ist, dass der Webserver den bestmöglichen Inhalt für einen bestimmten Benutzeragenten oder Webbrowser liefert. Es kann Clients bestimmte Bilddateitypen oder andere Inhalte bereitstellen, die diese unterstützen können. Dies ist nützlich, wenn Sie mehrere Versionen einer Datei hosten, um mehrere Browserplattformen, z. B. mobile Geräte, zu unterstützen.
Zu diesem Zweck werden im HTTP zwei Methoden zur Inhaltsaushandlung beschrieben und die Möglichkeit vorgeschlagen, beide zu kombinieren. Eine Methode ist die servergesteuerte Aushandlung. Mit dieser Methode trifft der Server die bestmögliche Entscheidung darüber, was zu liefern ist, basierend auf der ihm gegebenen Logik und den verfügbaren Inhalten. .
Es gibt jedoch einige Schwierigkeiten bei der servergesteuerten Inhaltsaushandlung. Der Server weiß nicht, wie er auf jede mögliche Anfrage reagieren soll. Er muss daher auf der Grundlage der Logik, die ihm für diese Entscheidungen gegeben wurde, raten. Es kann nicht wissen, ob der Webbrowser auf einem mobilen Gerät ausgeführt wird oder ob das angeforderte Dokument direkt an einen Drucker gesendet werden soll, es sei denn, dies wird mitgeteilt. Es gibt auch Datenschutzprobleme, da die servergesteuerte Methode erwartet, dass die Anforderung Informationen zu dem Benutzer sendet, der die Anforderung stellt.
Die zweite Methode ist als agentengesteuerte Inhaltsaushandlung bekannt. Hier stellt der Benutzer eine Anfrage an den Server, und der Server sendet eine Liste der verfügbaren Alternativen zurück, falls vorhanden. Die Auswahl erfolgt entweder automatisch auf der Grundlage der verfügbaren Browser- oder Plattformeinstellungen oder manuell in Form von Optionen, die im HTML-Code angezeigt werden. Der Hauptnachteil der agentengesteuerten Option besteht darin, dass mehrere Anforderungen an den Server gestellt werden, um den bestmöglichen Inhalt zu erhalten. Wenn ein Proxyserver Anforderungen an einen Server zwischenspeichert, der eine agentengesteuerte Aushandlung verwendet, kann er jedoch den entsprechenden Inhalt über eine einzige Anforderung an den Cache an alle Benutzer hinter dem Proxy übermitteln.