Kas yra derybos dėl turinio?

Turinio derybos yra hiperteksto perdavimo protokolo (HTTP) specifikacijoje aprašyta technika, leidžianti nuotoliniam klientui pateikti konkretesnę žiniatinklio serverio užklausą. Šis metodas suteikia serveriui galimybę talpinti kelių tipų failus, dokumentus skirtingomis kalbomis ir kt., kurių kiekvienas turi skirtingą kokybės lygį. Šie atskiri pasirinkimai yra priglobti kaip viena nuoroda, žymima vienodu išteklių identifikatoriumi (URI), ir yra skirti teikti tinkamesnį turinį, kai jis pasiekiamas serveryje.

Kai vienodas išteklių ieškiklis (URL) yra nuoroda į failą konkrečioje vietoje, pvz., serverio aplanke, URI gali nurodyti bet ką, praktiškai bet kur. URI specifika, pvz., pristatomo failo vieta, failo pavadinimas ir tipas, nustatomi po to, kai deramasi dėl turinio. Tai leidžia įvairioms turinio dalims būti skirtingose ​​vietose, pvz., visi failai tam tikrai kalbai, sutvarkyti tos kalbos aplanke serveryje.

Derybų dėl turinio idėja yra ta, kad žiniatinklio serveris pateiktų geriausią įmanomą turinį bet kuriam vartotojo agentui ar žiniatinklio naršyklei. Jis gali pateikti tam tikrus vaizdo failų tipus ar kitą turinį klientams, kurie gali juos palaikyti. Tai naudinga priglobiant kelias failo versijas, kad būtų palaikomos kelios naršymo platformos, pvz., mobilieji įrenginiai.

Norėdami visa tai padaryti, HTTP aprašo du turinio derybų metodus, taip pat siūlo galimybę juos derinti. Vienas iš būdų yra serverio valdomos derybos. Naudodamas šį metodą, serveris priima geriausią įmanomą sprendimą, ką pateikti, remdamasis bet kokia logika ir pasiekiamu turiniu. .

Tačiau yra tam tikrų sunkumų, susijusių su derybomis dėl turinio. Serveris nežino, kaip atsakyti į kiekvieną galimą užklausą, todėl jis turi spėlioti, remdamasis logika, kuri buvo pateikta priimant tuos sprendimus. Jis negali žinoti, ar žiniatinklio naršyklė veikia mobiliajame įrenginyje, ar prašomą dokumentą ketinama siųsti tiesiai į spausdintuvą, nebent tai būtų pasakyta. Taip pat yra privatumo problemų, nes serverio valdomas metodas tikisi, kad užklausa atsiųs informaciją apie užklausą pateikusį vartotoją.

Antrasis metodas yra žinomas kaip agentų vykdomos turinio derybos. Čia vartotojas pateikia serverio užklausą, o serveris atsiunčia galimų alternatyvų sąrašą, jei tokių yra. Pasirinkimas atliekamas automatiškai, atsižvelgiant į turimas naršyklės ar platformos nuostatas, arba rankiniu būdu, naudojant HTML pateiktas parinktis. Pagrindinis agentu pagrįstos parinkties trūkumas yra daugybė serverio užklausų dėl geriausio įmanomo turinio. Tačiau kai tarpinis serveris talpykloje kaupia užklausas serveriui, kuris naudoja agentu pagrįstą derybą, jis galės pateikti atitinkamą turinį visiems tarpinio serverio naudotojams pateikdamas vieną užklausą talpykloje.