Che cos'è la negoziazione dei contenuti?
La negoziazione del contenuto è una tecnica descritta nella specifica del protocollo di trasferimento dell'ipertesto (HTTP) che consente a un client remoto di effettuare una richiesta più specifica di un server Web. Il metodo offre al server la possibilità di ospitare più tipi di file, documenti in diverse lingue e altro, ciascuno con livelli di qualità variabili. Queste selezioni separate sono ospitate come un unico riferimento, indicato dal suo identificatore di risorsa uniforme (URI) e hanno lo scopo di fornire un contenuto più applicabile quando è disponibile sul server.
Laddove un localizzatore di risorse (URL) uniforme sia un riferimento a un file in una posizione specifica, ad esempio all'interno di una cartella sul server, un URI può fare riferimento a qualsiasi cosa, praticamente ovunque. Le specifiche dell'URI, come la posizione del file da consegnare, il nome del file e il suo tipo, vengono elaborate dopo la negoziazione del contenuto. Ciò consente alle varie parti di contenuto di trovarsi in posizioni diverse, come tutti i file per una determinata lingua organizzati nella cartella di quella lingua sul server.
L'idea alla base della negoziazione del contenuto è che il server Web offra il miglior contenuto possibile per un determinato agente utente o browser web. Può fornire determinati tipi di file immagine o altri contenuti ai client in grado di supportarli. Ciò è utile quando si ospitano più versioni di un file per supportare più piattaforme di navigazione, come i dispositivi mobili.
Per fare tutto ciò, l'HTTP descrive due metodi di negoziazione dei contenuti, oltre a suggerire la possibilità di combinare i due. Un metodo è la negoziazione guidata dal server. Con questo metodo, il server prende la migliore decisione possibile su cosa fornire, in base alla logica fornita e al contenuto disponibile. .
Tuttavia, ci sono alcune difficoltà con la negoziazione dei contenuti basata su server. Il server non sa come rispondere a ogni possibile richiesta, quindi deve fare congetture sulla base della logica che è stata data per prendere quelle decisioni. Non può sapere se il browser Web è in esecuzione su un dispositivo mobile o se il documento richiesto deve essere inviato direttamente a una stampante, a meno che non venga comunicato. Esistono anche problemi di privacy, in quanto il metodo guidato dal server prevede che la richiesta invii informazioni sull'utente che effettua la richiesta.
Il secondo metodo è noto come negoziazione dei contenuti basata sugli agenti. Qui, l'utente effettua una richiesta del server e il server restituisce un elenco di alternative disponibili, se presenti. La selezione viene effettuata automaticamente, in base alle preferenze del browser o della piattaforma disponibili, oppure manualmente sotto forma di opzioni presentate nell'HTML. Lo svantaggio principale dell'opzione guidata dall'agente sono le richieste multiple al server per il miglior contenuto possibile. Quando un server proxy memorizza le richieste nella cache su un server che utilizza la negoziazione guidata dall'agente, tuttavia, sarà in grado di consegnare il contenuto appropriato a tutti gli utenti dietro il proxy attraverso una singola richiesta nella cache.