Pregovaranje po pitanju sadržaja

С Википедије, слободне енциклопедије
(преусмерено са Content negotiation)

Pregovaranje po pitanju sadržaja je mehanizam definisan u HTTP specifikaciji, koja omogućava da se služimo različitim verzijama dokumenta (ili više generalno, prikazivanja resursa) na istom URI , tako da korisnički agenti mogu da odrede koja verzija najviše odgovara njihovim mogućnostima. Jedna klasična upotreba ovog mehanizma je da posluži sliku u GIF ili PNG formatu, tako da pretraživač koji ne može da prikaže slike u PNG (na primer, MS Internet Explorer 4), biće uslužen sa GIF verzijom. Da rezimiramo kako ovo funkcioniše: kada korisnički agent podnese zahtev serveru, korisnički agent obaveštava server koju vrstu medija razume kao i rejting koliko dobro ih razume. Preciznije, korisnički agent pruža Accept HTTP header koje navodi prihvatljive vrste medija i povezane faktore kvaliteta. Server je tada sposoban da ponudi verziju resursa koja najbolje odgovara potrebama korisničkog agenta. Dakle, resurs može biti dostupan u nekoliko različitih prikaza. Na primer, može biti dostupan na nekoliko različitih jezika ili različitih tipova medija ili njihovim kombinacijama. Jedan od načina selekcije najpovoljnijeg izbora je da se korisniku pruži stranica indeksa i da ga pustite da izabere. Međutim, često je moguće da server izabere automatski. To se dešava jer pretraživači mogu da šalju informacije kao deo svakog zahteva o prikazu koji preferiraju. Na primer, pretraživač može ukazivati da bi voleo da vidi informacije na nemačkom, ako je moguće, inače će to učiniti na engleskom. Pretraživači ukazuju na svoje preferencije u zaglavlju zahteva. Da biste zahtevali samo nemački prikaz, pretraživač će poslati:

Accept-Language: de

Imajte u vidu da će ove preferencije biti primenjive samo kada postoji izbor prikaza, a to varira u zavisnosti od jezika. Kao primer mnogo složenijeg zahteva, ovaj pretraživač je konfigurisan da prihvati i nemački i engleski, ali preferira nemački, kao i da prihvati različite tipove medija, radije HTML preko običnog teksta ili druge tipove teksta, a više preferira GIF ili JPEG u odnosu na druge tipove medija, ali isto tako omogućava bilo koji drugi tip medija kao poslednje sredstvo:

Accept-Language: de; q=1.0, en; q=0.5
Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1

Kao dodatak sadržaja pregovaranja po tipu sadržaja i po jeziku, postoji proširenje korišćenja sadržaja pregovaranja za preduzimanje prethodne verzije na vreme sa Accept-Datetime zaglavljem.[1]

Sadržaj formata[уреди | уреди извор]

Korisnički agent može tražiti podatke u određenom formatu sa veb servisa, kao što su application/json ili application/xml.

Vidi još[уреди | уреди извор]

Reference[уреди | уреди извор]

  1. ^ Memento: Adding Time to the Web. Mementoweb.org. Retrieved on 2013-09-08.

Spoljašnje veze[уреди | уреди извор]

Literatura[уреди | уреди извор]