O que é negociação de conteúdo?
A negociação de conteúdo é uma técnica descrita na especificação do protocolo de transferência de hipertexto (HTTP) que permite que um cliente remoto faça uma solicitação mais específica de um servidor da web. O método oferece ao servidor a capacidade de hospedar vários tipos de arquivos, documentos em diferentes idiomas e mais, cada um com diferentes níveis de qualidade. Essas seleções separadas são hospedadas como uma única referência, denotada por seu URI (Uniform Resource Identifier), e devem fornecer conteúdo mais aplicável quando estiver disponível no servidor.
Onde um URL (URL) é uma referência a um arquivo em um local específico, como dentro de uma pasta no servidor, um URI pode fazer referência a qualquer coisa, praticamente em qualquer lugar. As especificidades do URI, como o local do arquivo a ser entregue, o nome do arquivo e seu tipo, são elaboradas após a negociação do conteúdo. Isso permite que as várias partes do conteúdo estejam em locais diferentes, como todos os arquivos de um determinado idioma organizado na pasta desse idioma no servidor.
A idéia por trás da negociação de conteúdo é que o servidor da Web ofereça o melhor conteúdo possível para qualquer agente de usuário ou navegador da web. Ele pode fornecer certos tipos de arquivos de imagem ou outro conteúdo para clientes capazes de suportá-los. Isso é útil ao hospedar várias versões de um arquivo para oferecer suporte a várias plataformas de navegação, como dispositivos móveis.
Para fazer tudo isso, o HTTP descreve dois métodos de negociação de conteúdo, além de sugerir a capacidade de combinar os dois. Um método é a negociação orientada a servidor. Com esse método, o servidor toma a melhor decisão possível sobre o que entregar, com base na lógica fornecida e no conteúdo disponível. .
No entanto, existem algumas dificuldades na negociação de conteúdo orientado ao servidor. O servidor não sabe como responder a todas as solicitações possíveis, portanto, precisa adivinhar com base na lógica que foi dada para tomar essas decisões. Ele não pode saber se o navegador da web está sendo executado em um dispositivo móvel ou se o documento solicitado deve ser enviado diretamente a uma impressora, a menos que seja informado. Há também problemas de privacidade, pois o método orientado ao servidor espera que a solicitação envie informações sobre o usuário que está fazendo a solicitação.
O segundo método é conhecido como negociação de conteúdo orientada a agentes. Aqui, o usuário faz uma solicitação ao servidor e envia uma lista de alternativas disponíveis, se houver alguma. A seleção é feita automaticamente, com base nas preferências disponíveis do navegador ou da plataforma, ou manualmente na forma de opções apresentadas no HTML. A principal desvantagem da opção controlada pelo agente são as várias solicitações ao servidor para obter o melhor conteúdo possível. Quando um servidor proxy estiver armazenando em cache solicitações para um servidor que esteja usando negociação orientada a agentes, ele poderá entregar o conteúdo apropriado a qualquer usuário atrás do proxy por meio de uma única solicitação ao cache.