Hvad er indholdsforhandling?
Indholdsforhandling er en teknik, der er beskrevet i specifikationen for hyptertextoverførselsprotokol (HTTP), der giver en fjernklient mulighed for at stille en mere specifik anmodning fra en webserver. Metoden giver serveren mulighed for at være vært for flere filtyper, dokumenter på forskellige sprog og mere, hver med forskellige kvalitetsniveauer. Disse separate valg er vært som en enkelt reference, betegnet med dens ensartede ressourceidentifikator (URI), og er beregnet til at give mere anvendeligt indhold, når det er tilgængeligt på serveren.
Hvor en ensartet ressource-locator (URL) er en henvisning til en fil på en bestemt placering, såsom i en mappe på serveren, kan en URI referere til hvad som helst, praktisk talt overalt. URI's specifikationer, såsom placeringen af den fil, der skal leveres, navnet på filen og dens type, udarbejdes, når indholdet er forhandlet. Dette gør det muligt for de forskellige indholdsstykker at sidde forskellige steder, såsom alle filerne til et bestemt sprog, der er organiseret under det sprogs mappe på serveren.
Ideen bag indholdsforhandling er, at webserveren skal levere det bedst mulige indhold til en given brugeragent eller webbrowser. Det kan levere bestemte billedfiltyper eller andet indhold til klienter, der er i stand til at understøtte dem. Dette er nyttigt, når du er vært for flere versioner af en fil til understøttelse af flere browseplattformer, f.eks. Mobile enheder.
For at gøre alt dette, beskriver HTTP to metoder til indholdsforhandling samt antyder muligheden for at kombinere de to. En metode er serverdrevet forhandling. Med denne metode tager serveren den bedst mulige beslutning om, hvad den skal levere, baseret på hvilken logik den er givet, og hvilket indhold der er tilgængeligt. .
Der er dog nogle vanskeligheder med serverdrevet indholdsforhandling. Serveren ved ikke, hvordan man skal svare på enhver mulig anmodning, så den skal tage gætter baseret på den logik, den fik for at tage disse beslutninger. Den kan ikke vide, om webbrowseren kører på en mobilenhed, eller om det ønskede dokument er beregnet til at blive sendt direkte til en printer, medmindre det fortælles. Der er også problemer med fortrolighed, idet den serverdrevne metode forventer anmodningen om at sende den information om den bruger, der fremsætter anmodningen.
Den anden metode er kendt som agentstyret indholdsforhandling. Her fremsætter brugeren en anmodning fra serveren, og serveren sender en liste over tilgængelige alternativer, hvis der findes, tilbage. Valget foretages enten automatisk, baseret på tilgængelige browser- eller platformpræferencer, eller manuelt i form af indstillinger præsenteret i HTML. Den primære ulempe ved den agentdrevne mulighed er de flere anmodninger til serveren om det bedst mulige indhold. Når en proxyserver cache-anmodninger til en server, der bruger agentstyret forhandling, er den imidlertid i stand til at levere det relevante indhold til alle brugere bag proxy via en enkelt anmodning til cachen.