Vad är innehållsförhandlingar?
Innehållsförhandling är en teknik som beskrivs i specifikationen för hyptertextöverföringsprotokoll (HTTP) som gör att en fjärrklient kan göra en mer specifik begäran från en webbserver. Metoden ger servern möjlighet att vara värd för flera typer av filer, dokument på olika språk och mer, var och en med olika kvalitetsnivåer. Dessa separata val är värda som en enda referens, betecknad med dess enhetliga resursidentifierare (URI), och är avsedda att ge mer tillämpligt innehåll när det är tillgängligt på servern.
Där en enhetlig resurslokalisator (URL) är en referens till en fil på en specifik plats, till exempel i en mapp på servern, kan en URI referera till vad som helst, praktiskt taget var som helst. Specifikationerna för URI, såsom platsen för filen som ska levereras, filens namn och dess typ, beräknas efter att innehållet har förhandlats fram. Detta gör det möjligt för de olika innehållsdelarna att sitta på olika platser, till exempel alla filerna för ett visst språk organiserat under det språkets mapp på servern.
Tanken bakom innehållsförhandling är att webbservern ska leverera bästa möjliga innehåll för en given användaragent eller webbläsare. Det kan leverera vissa bildfiltyper eller annat innehåll till klienter som kan stödja dem. Detta är användbart när du är värd för flera versioner av en fil för att stödja flera surfplattformar, till exempel mobila enheter.
För att göra allt detta beskriver HTTP två metoder för innehållsförhandlingar samt föreslår förmågan att kombinera de två. En metod är serverdriven förhandling. Med denna metod tar servern det bästa möjliga beslutet om vad som ska levereras, baserat på vilken logik den ges, och vilket innehåll som är tillgängligt. .
Det finns dock vissa svårigheter med serverdriven innehållsförhandling. Servern vet inte hur man ska svara på varje möjlig begäran, så den måste göra gissningar baserade på den logik den fick för att fatta dessa beslut. Den kan inte veta om webbläsaren körs på en mobil enhet, eller om det begärda dokumentet är avsett att skickas direkt till en skrivare såvida det inte berättas. Det finns också sekretessproblem eftersom den serverdrivna metoden förväntar sig att begäran ska skicka information om användaren som begär begäran.
Den andra metoden är känd som agentdriven innehållsförhandling. Här gör användaren en begäran från servern och servern skickar tillbaka en lista över tillgängliga alternativ, om sådana finns. Valet görs antingen automatiskt, baserat på tillgängliga webbläsar- eller plattformsinställningar, eller manuellt i form av alternativ som presenteras i HTML. Den primära nackdelen med det agentdrivna alternativet är flera begäranden till servern för bästa möjliga innehåll. När en proxyserver cachar förfrågningar till en server som använder agentdriven förhandling, kommer den emellertid att kunna leverera lämpligt innehåll till alla användare bakom proxy via en enda begäran till cachen.