-{HTTP}- zaglavlja (, polja zaglavlja) su komponente zaglavlja poruke zahteva i odgovora u -{Hypertext Transfer Protocol}- (HTTP). Oni definišu operativne parametre jedne -{HTTP}- transakcije.
Polja zaglavlja se prenose nakon zahteva ili odgovora linije, prve linije poruke. Heder polja su kolonom predvojeni parovi ime - vrednost u formatu nizova čistog teksta, obustavljeni povratkom na početak reda (CR) i spuštanje za red niže (LF) niza karaktera. Kraj polja zaglavlja ukazuje prazno polje, što je dovelo do prenosa dva uzastopna CR-LF para. Dugi redovi mogu da se sastoje od više linija, neprekidne linije su označene prisustvom prostora (SP) ili horizontalnim tabulatorom (HT) kao prvim karakterom u sledećoj liniji. Nekoliko polja takođe mogu da sadrže komentare, što može da bude ignorisano od strane softvera. Unutrašnji niz polja je standardizovan od strane -{Internet Engineering Task Force}- (IETF) u i drugim ažuriranjima i dodatnim dokumentima, i mora da se sprovodi od strane svih -{HTTP}- kompatibilnih protokol imlementacija. Dodatna imena polja i dozvoljene vrednosti mogu da budu definisane svakom aplikacijom.
Stalni registar zaglavlja i spremišta privremenih registracija se održava od strane IANA.
Mnoge vrednosti polja mogu sadržati kvalitetan (q) par ključne vrednosti, navodeći da koristi težinu u korist pregovora.
Ne postoje ograničenja za ime svakog polja zaglavlja ili vrednost ili broj zaglavlja u samom standardu. Međutim većina servera, klijenata i proksi softvera nameće neka ograničenja zbog praktičnih i bezbednosnih razloga. Na primer -{Apache}- 2.3 server uslovljava velićinu svakog zaglavlja na veličinu od 8190 bajta, i može da bude najviše 100 zaglavlja u pojedinačnom zahtevu.
Zahtevi Ime polja Opis Primer -{Accept}- vrste sadržaja koje su prihvatljive za odgovor -{Accept: text/plain}- -{Accept-Charset}- grupa karaktera koji su prihvatljivi -{Accept-Charset: utf-8}- -{Accept-Encoding}- prihvatljive šeme za kompresiju (vidi -{HTTP}- kompresija) -{Accept-Encoding: gzip, deflate}- -{Accept-Language}- prihvatljivi ljudski jezici za odgovor -{Accept-Language: en-US}- -{Accept-Datetime}- prihvatljiva verzija u vremenu -{Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT}- -{Authorization}- potvrda lozinka za -{HTTP}- autentičnost -{Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==}- -{Cache-Control}- koristi se da naznači direktive koje moraju biti izvršene od strane svih skladišnih mehanizama duž lanca zahtev/odgovor -{Cache-Control: no-cache}- -{Connection}- koju vrstu veze će korisnik - agent preferirati -{Connection: keep-alive}- -{Cookie}- -{HTTP}- kolačići prethodno poslati od strane servera sa -{Set-Cookie}- (ispod) -{Cookie: $Version=1; Skin=new;}- -{Content-Length}- dužina tela zahteva u oktetima (8-bit bajtovi) -{Content-Length: 348}- -{Content-MD5}- -{Base}-64-binarnih lozinki MD5 zbira sadržaja tela zahteva -{Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==}- -{Content-Type}- -{MIME}- vrsta tela zahteva (korišćena sa POST i PUT zahtevima) -{Content-Type: application/x-www-form-urlencoded}- -{Date}- datum i vreme kada je poruka poslata -{Date: Tue, 15 Nov 1994 08:12:31 GMT}- -{Expect}- ukazuje da su određena ponašanja servera zahtevana od strane klijenata -{Expect: 100-continue}- -{From}- imejl adresa korisnika pravi zahtev -{From: [email protected]}- -{Host}- Ime domena servera (za virtuelan hosting) i TCP port broj na kom server sluša. Broj portova može biti izostavljen ako je port standardan port za servisne zahteve. Obavezan od HTTP/1.1. Iako je ime domena naznačeno kao osetljivo na veličinu slova, nije precizirano da li sadržaj host polja treba tumačiti na način nezavisan od veličine slova, a u praksi neke implementacije virtual hostinga tumače sadržaj host polja na način nezavisan od veličine slova. -{Host: en.wikipedia.org:80 Host: en.wikipedia.org}- -{If-Match}- Izvodi akciju samo ako klijent dobije entitet koji se poklapa sa istim entitetom na serveru. Ovo je uglavnom za metode kao PUT da samoažurira resurse ako nisu bili izmenjeni od kada ih je korisnik zadnje ažurirao. -{If-Match: "737060cd8c284d8af7ad3082f209582d"}- -{If-Modified-Since}- Dozvoljava 304 nije promenjeno da bude vraćeno ako je sadržaj nepromenjen -{If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT}- -{If-None-Match}- Dozvoljava 304 nije promenjeno da bude vraćeno ako je sadržaj nepromenjen -{If-None-Match: "737060cd8c284d8af7ad3082f209582d"}- -{If-Range}- Ako je entitet nepromenjen, pošalje mu deo (delove) koji mu nedostaju, inače pošalje mu ceo nov entitet. -{If-Range: "737060cd8c284d8af7ad3082f209582d"}- -{If-Unmodified-Since}- Pošalje odgovor samo ako entitet nije menjan neko određeno vreme. -{If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT}- -{Max-Forwards}- Određuje broj puta koliko poruka može biti prosleđena kroz proksije ili prevodilac protokola (-{Gateway}-). -{Max-Forwards: 10}- -{Origin}- Inicira zahtev za -{cross-origin resource sharing (CORS)}-. Pita server za '-{Access-Control-Allow-Origin}-'. -{CORS}- je mehanizam koji dozvoljava veb strani da napravi -{XMLHttpRequests}- za drugi domen. -{Origin: https://web.archive.org/web/20151104123413/http://www.example-social-network.com/}- -{Pragma}-Ubacuje specifična zaglavlja koja mogu imati različite efekte bilo gde duž lanca zahtev - odgovor. -{Pragma: no-cache}- -{Proxy-Authorization}- Odobrenje lozinki za povezivanje na proksi. -{Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==}- -{Range}- Zahteva samo deo entiteta. Bajtovi se broje od nule. -{Range: bytes=500-999}- -{Referer}- Ovo je adresa prethodne internet stranice sa koje je usledio link do trenutno zahtevane stranice. Reč „referrer“ je pogrešno napisana u -{RFC}- kao i većina implementacija. -{Referer: http://en.wikipedia.org/wiki/Main_Page}- TE Transfer lozinki koje je korisnički agent voljan da prihvati: mogu da se koriste iste vrednosti kao za odgovor zaglavlje -{Transfer-Encoding}-, plus "prikolice" vrednost (povezano sa "komad" metodom prenosa) da izveste server da očekuje da primi dodatna zaglavlja ("prikolice"), nakon poslednjeg, nulte veličine, komad. -{TE: trailers, deflate}- -{Upgrade}- Pita server da nadogradi drugi protokol. -{Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11}- -{User-Agent}- Korisnički agent niz korisničkog agenta -{User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101Firefox/12.0}- -{Via}- Obaveštava server proksija kroz koje je zahtev bio poslat. -{Via: 1.0 fred, 1.1 example.com (Apache/1.1)}- -{Warning}- Generalno upozorenje o mogućim problemima sa telom entiteta. -{Warning: 199 Miscellaneous warning}-
Uobičajna nestandarna zaglavlja zahteva
Nestandarna polja zaglavlja su bila konvencijalno obeležena prefiksom -X ispred imena polja. Međutim, ova konvencija je postala zastarela u junu 2012. zbog neprijatnosti izazvanih kada su nestandarna zaglavlja postala standardna. Na primer -{X-Gzip}- i -{Gzip}- su sada oba podržana zaglavlja za kompresovane -{HTTP}- zahteve i odgovore.
Ime poljaOpisPrimer -{X-Requested-With}-Uglavnom se koristi za identifikaciju -{Ajax}- zahteva. Većina -{JavaScript}- okvira šalje ovo zaglavlje sa vrednošću -{XMLHttpRequest}-. -{X-Requested-With: XMLHttpRequest}- -{DNT}-Zahteva od internet aplikacije da onemogući pracenje Ovo je Mozilina verzija X-Do-Not-Track zaglavlja (od Firefox 4.0 Beta 11 ). Safari i IE9 takodje imaju podršku za ova zaglavlja. 7.marta 2011 nacrt predloga je predat IETF-u. W3C Tracking Protection Working Group proizvodi specifikaciju.DNT: 1 (Do Not Track Enabled) DNT: 0 (Do Not Track Disabled)X-Forwarded-ForDe facto standard za utvrdjivanje IP adrese klijenta povezuje se sa serverom putem httpproksi servera ili load b X-Forwarded-For: client1, proxy1, proxy2 X-Forwarded-For: 129.78.138.66, 129.78.64.103X-Forwarded-ProtoDe facto standard za utvrđivanje porekla protokola http zahteva, od kada reverse proksi (load balancer) može komunicirati sa internet serverom koristeći http čak iako je zahtev reverse proksi serveru https.X-Forwarded-Proto: httpsFront-End-HttpsNestandarno zaglavlje koje koriste Microsoft aplikacije i load-balanseri.Front-End-Https: onX-ATT-DeviceIdOmogućava lakšu analizu od strane MakeModel/Firmware koji se nalazi u User-Agent String u AT&T uređaja.x-att-deviceid: MakeModel/FirmwareX-Wap-ProfileLinkovi ka XML datotekama na internetu sa punim opisom i detaljima o uređaju koji se trenutno povezuje. Na primer, na desnoj strani je XML datoteka za AT&T Samsung Galaxy S2. x-wap-proДатотека: http://wap.samsungmobile.com/uaprof/SGH-I777.xmlProxy-ConnectionRealizovana kao nerazumevanje http specifikacija. Obično zbog grešaka u realizaciji ranih http verzija. Ima potpuno istu funkcionalnost kao standardni priključak zaglavlju.Proxy-Connection: keep-alive
Odgovori
IME POLJAOPISPRIMER Access-Control-Allow-OriginNavodi koji internet sajtovi mogu da pristupe cross-origin resource sharingAccess-Control-Allow-Origin: * Accept-RangesKoje vrste parsijalnih opsega sadrzaja server podržavaAccept-Ranges: bytesAgeDoba u koje je objekat bio u proxy cache u sekundiAge: 12AllowVažeće akcije za određeni resurs. Uoptebljva se za 405 metod Nije dopušteno.Allow: GET, HEADCache-ControlGovori svim mehanizmima skladištenja od servera do korisnika da li može da se skladišti ovaj objekat. Meri se u sekundi.Cache-Control: max-age=3600ConnectionOpcije koje su poželjne za povezivanje.Connection: closeContent-EncodingTip lozinki koji se koristi za podatke. Videti HTTP kompresiju.Content-Encoding: gzipContent-LanguageJezik na kome je sadržaj.Content-Language: daContent-LengthDužina tela odgovora u oktetima. (8-bit bajta)Content-Length: 348Content-LocationAlternativna lokacija za vraćene podatke.Content-Location: /index.htmContent-MD5Baza 64 binarnih lozinki MD5 zbir sadržaja odgovora.Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==Content-DispositionMogusnost da izađe "File Download" okvir za dijalog za poznati MIME sa binarnim formatom ili predlog za ime datoteke za dinamički sadrzaj. Navodnici su neophodni za specijalne karaktere.Content-Disposition: attachment; filename="fname.ext"Content-RangeGde u punom telu poruke ovaj deo pripada.Content-Range: bytes 21010-47021/47022Content-TypeMIME vrsta ovog sadržaja.Content-Type: text/html; charset=utf-8DateDatum i vreme kada je poruka bila poslata.Date: Tue, 15 Nov 1994 08:12:31 GMTETagIdentifikator za određenu verziju izvora, često za funkcije za sažimanje.ETag: "737060cd8c284d8af7ad3082f209582d"ExpiresDaje datum/vreme posle koga se odgovor smatra zastarelim.Expires: Thu, 01 Dec 1994 16:00:00 GMTLast-ModifiedPoslednje promenjen datum za traženi objekat u formatu.Last-Modified: Tue, 15 Nov 1994 12:45:26 GMTLinkKoristi se da izrazi otkucanu vezu sa drugim izvorom , gde je tip odnosa definisan od straneLink: </feed>; rel="alternate"LocationKoristi se u preusmeravanju, ili kada je napravljen novi izvor.Location: http://www.w3.org/pub/WWW/People.htmlP3POvo zaglavlje je trebalo da postavi P3P politiku u formi P3P:CP="your_compact_policy". Međutim, P3P nisu podržani, vecina pretraživača ih nije nikada u potpunosti implementirala, dosta internet sajtova postavlja ovo zaglavlje sa lažnim tekstom politike, to je bilo dovoljno da prevari pretraživače za postojanje P3P politike i da dozvolu za kolačiće trece vrste(kolačići postavljeni sa različitim domenom od onog koji je pokazan u address bar-u).P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."PragmaImplementira specifična zaglavlja koja mogu biti bilo gde duž lanca zahtev - odgovor.Pragma: no-cacheProxy-AuthenticateZahteva proveru identiteta za pristup proksiju.Proxy-Authenticate: Basic RefreshKoristi se u preusmeravanju ili kad je novi resurs kreiran.Ovaj refresh preusmerava posle 5 sekundi. Ovo je vlasničko, nestandarno dodatno zaglavlje uvedeno od strane Netscape -a,