Pregovaranje po pitanju sadržaja
Овај чланак је започет или проширен кроз пројекат семинарских радова. Потребно је проверити превод, правопис и вики-синтаксу. Када завршите са провером, допишете да након |проверено=. |
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
[uredi | uredi izvor]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š
[uredi | uredi izvor]Reference
[uredi | uredi izvor]- ^ Memento: Adding Time to the Web. Mementoweb.org. Retrieved on 2013-09-08.
Spoljašnje veze
[uredi | uredi izvor]- RFC 7231 — Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content - (Section 5.3: Content Negotiation)
- RFC 2295 — Transparent Content Negotiation in HTTP
- RFC 2296 — HTTP Remote Variant Selection Algorithm -- RVSA/1.0
- Apache 1.3 Content Negotiation
- Open source PHP content negotiation library (supports wildcards and q values)
- Discussion about XHTML serving with content negotiation and browser concerns requiring this
- The variant button
- Parse Accept-Language to detect a user's language
- Apache 2.0 Content Negotiation Info
Literatura
[uredi | uredi izvor]- Ovaj članak je baziran delom na ovoj stranici Архивирано на сајту Wayback Machine (15. новембар 2014), koja je autorsko pravo Apache Foundation ali je izdata pod slobodnom licencom.