¿Qué es la negociación de contenido?

La negociación de contenido

es una técnica descrita en la especificación del Protocolo de transferencia de HypterText (HTTP) que permite a un cliente remoto hacer una solicitud más específica de un servidor web. El método le da al servidor la capacidad de alojar múltiples tipos de archivos, documentos en diferentes idiomas y más, cada uno con diferentes niveles de calidad. Estas selecciones separadas se alojan como una sola referencia, denotada por su identificador de recursos uniformes (URI), y están destinados a proporcionar contenido más aplicable cuando está disponible en el servidor.

, donde un localizador de recursos uniforme (URL) es una referencia a un archivo en una ubicación específica, como dentro de una carpeta en el servidor, un URI puede hacer referencia, virtualmente en cualquier lugar. Los detalles del URI, como la ubicación del archivo que se entregará, el nombre del archivo y su tipo, se elaboran después de negociar el contenido. Esto permite que las diversas piezas de contenido se asienten en diferentes lugares, como todos los archivos para un idioma determinado organizado en la carpeta de ese idioma en el servidor.

La idea detrás de la negociación de contenido es que el servidor web entregue el mejor contenido posible para cualquier agente de usuario o navegador web determinado. Puede entregar ciertos tipos de archivos de imagen u otro contenido a los clientes que son capaces de apoyarlos. Esto es útil al alojar múltiples versiones de un archivo para admitir múltiples plataformas de navegación, como dispositivos móviles.

Para hacer todo esto, el HTTP describe dos métodos de negociación de contenido, así como sugiere la capacidad de combinar los dos. Un método es la negociación impulsada por el servidor. Con este método, el servidor toma la mejor decisión posible sobre qué entregar, en función de la lógica que se le da y qué contenido está disponible. .

Sin embargo, hay algunas dificultades con la negociación de contenido impulsada por el servidor. El servidor no sabe cómo responder a todas las solicitudes posibles, por lo que tiene queHaga conjeturas basadas en la lógica que se otorgó para tomar esas decisiones. No puede saber si el navegador web se está ejecutando en un dispositivo móvil, o si el documento solicitado está destinado a ser enviado directamente a una impresora a menos que se lo indique. También hay problemas de privacidad, ya que el método basado en el servidor espera que la solicitud le envíe información sobre el usuario que realiza la solicitud.

El segundo método se conoce como negociación de contenido impulsado por el agente. Aquí, el usuario solicita el servidor, y el servidor envía una lista de alternativas disponibles, si existen. La selección se realiza automáticamente, en función de las preferencias de navegador o plataforma disponibles, o manualmente en forma de opciones presentadas en el HTML. El inconveniente principal de la opción impulsada por el agente son las múltiples solicitudes al servidor para el mejor contenido posible. Sin embargo, cuando un servidor proxy está en caché de las solicitudes de almacenamiento en caché a un servidor que está utilizando la negociación impulsada por el agente, podrá entregar el contenido apropiadoa cualquier usuario detrás del proxy a través de una sola solicitud al caché.

OTROS IDIOMAS