Пређи на садржај

HTTP заглавља

С Википедије, слободне енциклопедије

HTTP заглавља (енгл. HTTP Header, поља заглавља) су компоненте заглавља поруке захтева и одговора у Hypertext Transfer Protocol (ХТТП). Они дефинишу оперативне параметре једне HTTP трансакције.

Поља заглавља се преносе након захтева или одговора линије, прве линије поруке. Хедер поља су колоном предвојени парови име - вредност у формату низова чистог текста, обустављени повратком на почетак реда (ЦР) и спуштање за ред ниже (ЛФ) низа карактера. Крај поља заглавља указује празно поље, што је довело до преноса два узастопна ЦР-ЛФ пара. Дуги редови могу да се састоје од више линија, непрекидне линије су означене присуством простора (СП) или хоризонталним табулатором (ХТ) као првим карактером у следећој линији.[1] Неколико поља такође могу да садрже коментаре, што може да буде игнорисано од стране софтвера.[2] Унутрашњи низ поља је стандардизован од стране Internet Engineering Task Force (ИЕТФ) у RFC 2616 и другим ажурирањима и додатним документима, и мора да се спроводи од стране свих HTTP компатибилних протокол имлементација. Додатна имена поља и дозвољене вредности могу да буду дефинисане сваком апликацијом.

Стални регистар заглавља и спремишта привремених регистрација се одржава од стране ИАНА.

Многе вредности поља могу садржати квалитетан (q) пар кључне вредности, наводећи да користи тежину у корист преговора.[3]

Не постоје ограничења за име сваког поља заглавља или вредност или број заглавља у самом стандарду. Међутим већина сервера, клијената и прокси софтвера намеће нека ограничења због практичних и безбедносних разлога. На пример Apache 2.3 сервер условљава велићину сваког заглавља на величину од 8190 бајта, и може да буде највише 100 заглавља у појединачном захтеву.

Име поља Опис Пример
Accept врсте садржаја које су прихватљиве за одговор Accept: text/plain
Accept-Charset група карактера који су прихватљиви Accept-Charset: utf-8
Accept-Encoding прихватљиве шеме за компресију (види HTTP компресија) Accept-Encoding: gzip, deflate
Accept-Language прихватљиви људски језици за одговор Accept-Language: en-US
Accept-Datetime прихватљива верзија у времену Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT
Authorization потврда лозинка за HTTP аутентичност Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control користи се да назначи директиве које морају бити извршене од стране свих складишних механизама дуж ланца захтев/одговор Cache-Control: no-cache
Connection коју врсту везе ће корисник - агент преферирати Connection: keep-alive
Cookie HTTP колачићи претходно послати од стране сервера са Set-Cookie (испод) Cookie: $Version=1; Skin=new;
Content-Length дужина тела захтева у октетима (8-бит бајтови) Content-Length: 348
Content-MD5 Base64-бинарних лозинки МД5 збира садржаја тела захтева Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Type MIME врста тела захтева (коришћена са ПОСТ и ПУТ захтевима) Content-Type: application/x-www-form-urlencoded
Date датум и време када је порука послата Date: Tue, 15 Nov 1994 08:12:31 GMT
Expect указује да су одређена понашања сервера захтевана од стране клијената Expect: 100-continue
From имејл адреса корисника прави захтев From: user@example.com
Host Име домена сервера (за виртуелан хостинг) и ТЦП порт број на ком сервер слуша. Број портова може бити изостављен ако је порт стандардан порт за сервисне захтеве. Обавезан од ХТТП/1.1. Иако је име домена назначено као осетљиво на величину слова, није прецизирано да ли садржај хост поља треба тумачити на начин независан од величине слова, а у пракси неке имплементације виртуал хостинга тумаче садржај хост поља на начин независан од величине слова. Host: en.wikipedia.org:80 Host: en.wikipedia.org
If-Match Изводи акцију само ако клијент добије ентитет који се поклапа са истим ентитетом на серверу. Ово је углавном за методе као ПУТ да самоажурира ресурсе ако нису били измењени од када их је корисник задње ажурирао. If-Match: "737060cd8c284d8af7ad3082f209582d"
If-Modified-Since Дозвољава 304 није промењено да буде враћено ако је садржај непромењен If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
If-None-Match Дозвољава 304 није промењено да буде враћено ако је садржај непромењен If-None-Match: "737060cd8c284d8af7ad3082f209582d"
If-Range Ако је ентитет непромењен, пошаље му део (делове) који му недостају, иначе пошаље му цео

нов ентитет.

If-Range: "737060cd8c284d8af7ad3082f209582d"
If-Unmodified-Since Пошаље одговор само ако ентитет није мењан неко одређено време. If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Max-Forwards Одређује број пута колико порука може бити прослеђена кроз проксије или преводилац протокола (Gateway). Max-Forwards: 10
Origin Иницира захтев за cross-origin resource sharing (CORS). Пита сервер за 'Access-Control-Allow-Origin'. CORS је механизам који дозвољава веб страни да направи XMLHttpRequests за други домен. Origin: хттпс://wеб.арцхиве.орг/wеб/20151104123413/хттп://www.еxампле-социал-нетwорк.цом/}-
Pragma Убацује специфична заглавља која могу имати различите ефекте било где дуж ланца захтев - одговор. Pragma: no-cache
Proxy-Authorization Одобрење лозинки за повезивање на прокси. Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range Захтева само део ентитета. Бајтови се броје од нуле. Range: bytes=500-999
Referer Ово је адреса претходне интернет странице са које је уследио линк до тренутно захтеване странице. Реч „реферрер“ је погрешно написана у RFC као и већина имплементација. Referer: хттп://ен.wикипедиа.орг/wики/Маин_Паге}-
ТЕ Трансфер лозинки које је кориснички агент вољан да прихвати: могу да се користе исте вредности као за одговор заглавље Transfer-Encoding, плус "приколице" вредност (повезано са "комад" методом

преноса) да известе сервер да очекује да прими додатна заглавља ("приколице"), након последњег, нулте величине, комад.

TE: trailers, deflate
Upgrade Пита сервер да надогради други протокол. Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
User-Agent Кориснички агент низ корисничког агента User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101Firefox/12.0
Via Обавештава сервер проксија кроз које је захтев био послат. Via: 1.0 fred, 1.1 example.com (Apache/1.1)
Warning Генерално упозорење о могућим проблемима са телом ентитета. Warning: 199 Miscellaneous warning

Уобичајна нестандарна заглавља захтева

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

Нестандарна поља заглавља су била конвенцијално обележена префиксом -X испред имена поља. Међутим, ова конвенција је постала застарела у јуну 2012. због непријатности изазваних када су нестандарна заглавља постала стандардна. На пример X-Gzip и Gzip су сада оба подржана заглавља за компресоване HTTP захтеве и одговоре.

Име поља Опис Пример
X-Requested-With Углавном се користи за идентификацију Ajax захтева. Већина JavaScript оквира шаље ово заглавље

са вредношћу XMLHttpRequest.

X-Requested-With: XMLHttpRequest
DNT Захтева од интернет апликације да онемогући працење Ово је Мозилина верзија X-До-Нот-Трацк

заглавља (од Фирефоx 4.0 Бета 11 ). Сафари и ИЕ9 такодје имају подршку за ова заглавља. 7.марта 2011 нацрт предлога је предат ИЕТФ-у. W3Ц Трацкинг Протецтион Wоркинг Гроуп производи спецификацију.

ДНТ: 1 (До Нот Трацк Енаблед)

ДНТ: 0 (До Нот Трацк Дисаблед)

X-Форwардед-Фор Де фацто стандард за утврдјивање ИП адресе клијента повезује се са сервером путем хттппрокси

сервера или лоад б

X-Форwардед-Фор: цлиент1, проxy1, проxy2

X-Форwардед-Фор: 129.78.138.66, 129.78.64.103

X-Форwардед-Прото Де фацто стандард за утврђивање порекла протокола хттп захтева, од када реверсе прокси (лоад

баланцер) може комуницирати са интернет сервером користећи хттп чак иако је захтев реверсе прокси серверу хттпс.

X-Форwардед-Прото: хттпс
Фронт-Енд-Хттпс Нестандарно заглавље које користе Мицрософт апликације и лоад-балансери. Фронт-Енд-Хттпс: он
X-АТТ-ДевицеИд Омогућава лакшу анализу од стране МакеМодел/Фирмwаре који се налази у Усер-Агент Стринг у

АТ&Т уређаја.

x-атт-девицеид: МакеМодел/Фирмwаре
X-Wап-Профиле Линкови ка XМЛ датотекама на интернету са пуним описом и детаљима о уређају који се тренутно

повезује. На пример, на десној страни је XМЛ датотека за АТ&Т Самсунг Галаxy С2.

x-wап-проДатотека: http://wap.samsungmobile.com/uaprof/SGH-I777.xml
Проxy-Цоннецтион Реализована као неразумевање хттп спецификација. Обично због грешака у реализацији раних хттп

верзија. Има потпуно исту функционалност као стандардни прикључак заглављу.

Проxy-Цоннецтион: кееп-аливе

Одговори

[уреди | уреди извор]
ИМЕ ПОЉА ОПИС ПРИМЕР
Аццесс-Цонтрол-Аллоw-Оригин Наводи који интернет сајтови могу да приступе цросс-оригин ресоурце схаринг Аццесс-Цонтрол-Аллоw-Оригин: *
Аццепт-Рангес Које врсте парсијалних опсега садрзаја сервер подржава Аццепт-Рангес: бyтес
Аге Доба у које је објекат био у проxy цацхе у секунди Аге: 12
Аллоw Важеће акције за одређени ресурс. Уоптебљва се за 405 метод Није допуштено. Аллоw: ГЕТ, ХЕАД
Цацхе-Цонтрол Говори свим механизмима складиштења од сервера до корисника да ли може да се складишти овај

објекат. Мери се у секунди.

Цацхе-Цонтрол: маx-аге=3600
Цоннецтион Опције које су пожељне за повезивање. Цоннецтион: цлосе
Цонтент-Енцодинг Тип лозинки који се користи за податке. Видети ХТТП компресију. Цонтент-Енцодинг: гзип
Цонтент-Лангуаге Језик на коме је садржај. Цонтент-Лангуаге: да
Цонтент-Ленгтх Дужина тела одговора у октетима. (8-бит бајта) Цонтент-Ленгтх: 348
Цонтент-Лоцатион Алтернативна локација за враћене податке. Цонтент-Лоцатион: /индеx.хтм
Цонтент-МД5 База 64 бинарних лозинки МД5 збир садржаја одговора. Цонтент-МД5: Q2хлY2сгСW50ЗWдyаXР5ИQ==
Цонтент-Диспоситион Могусност да изађе "Филе Доwнлоад" оквир за дијалог за познати МИМЕ са бинарним форматом или

предлог за име датотеке за динамички садрзај. Наводници су неопходни за специјалне карактере.

Цонтент-Диспоситион: аттацхмент; филенаме="фнаме.еxт"
Цонтент-Ранге Где у пуном телу поруке овај део припада. Цонтент-Ранге: бyтес 21010-47021/47022
Цонтент-Тyпе МИМЕ врста овог садржаја. Цонтент-Тyпе: теxт/хтмл; цхарсет=утф-8
Дате Датум и време када је порука била послата. Дате: Туе, 15 Нов 1994 08:12:31 ГМТ
ЕТаг Идентификатор за одређену верзију извора, често за функције за сажимање. ЕТаг: "737060цд8ц284д8аф7ад3082ф209582д"
Еxпирес Даје датум/време после кога се одговор сматра застарелим. Еxпирес: Тху, 01 Дец 1994 16:00:00 ГМТ
Ласт-Модифиед Последње промењен датум за тражени објекат у RFC 2822 формату. Ласт-Модифиед: Туе, 15 Нов 1994 12:45:26 ГМТ
Линк Користи се да изрази откуцану везу са другим извором , где је тип односа дефинисан од стране

RFC 5988

Линк: </феед>; рел="алтернате"
Лоцатион Користи се у преусмеравању, или када је направљен нови извор. Лоцатион: http://www.w3.org/pub/WWW/People.html
П3П Ово заглавље је требало да постави П3П политику у форми П3П:ЦП="yоур_цомпацт_полицy". Међутим,

П3П нису подржани, вецина претраживача их није никада у потпуности имплементирала, доста интернет сајтова поставља ово заглавље са лажним текстом политике, то је било довољно да превари претраживаче за постојање П3П политике и да дозволу за колачиће треце врсте(колачићи постављени са различитим доменом од оног који је показан у аддресс бар-у).

П3П: ЦП="Тхис ис нот а П3П полицy! Сее
Прагма Имплементира специфична заглавља која могу бити било где дуж ланца захтев - одговор. Прагма: но-цацхе
Проxy-Аутхентицате Захтева проверу идентитета за приступ проксију. Проxy-Аутхентицате: Басиц
Рефресх Користи се у преусмеравању или кад је нови ресурс креиран.Овај рефресх преусмерава после

5 секунди. Ово је власничко, нестандарно додатно заглавље уведено од стране Нетсцапе -а, и подрзавају га многи претраживачи.

Рефресх: 5; урл=http://www.w3.org/pub/WWW/People.html
Ретрy-Афтер Ако је неки ентитет привремено недоступан, ово указује кориснику да проба поново после

извесног времена.

Ретрy-Афтер: 120
Сервер Име сервера Сервер: Апацхе/2.4.1 (Униx)
Сет-Цоокие Хттп колачић Сет-Цоокие: УсерИД=ЈохнДое; Маx-Аге=3600; Версион=1
Статус Хттп статус одговора. Статус: 200 ОК
Стрицт-Транспорт-Сецуритy ХСТС политика која обавештава хттп корисника колико дуго да складишти само хттпс политику и

да ли ово укљуцује поддомене.

Стрицт-Транспорт Сецуритy: маx-аге=16070400; инцлудеСубДомаинс
Траилер Траилер поље опште вредности указује да је дат сет поља заглавља представљен у траилер-у

поруке лозинке са цхункед трансфер-цодинг. (То је механизам трансфера података у верзији 1.1 Хттп у ком се подаци шаљу у серији "цхункс"-ова.)

Траилер: Маx-Форwардс
Трансфер-Енцодинг Форма лозинки која се користи за безбедан трансфер ентитета до корисника.Тренутно дефинисане

методе су: цхункед, компресија, дефлате ("злиб" формат wитх "дефлате" компресијом ), гзип, идентитет.

Трансфер-Енцодинг:цхункед
Варy Показује низводним проксијима како да подесе будућа заглавља захтева да одлучи да ли да се

складиштен одовор користи уместо захтевања новог који је пореклом са сервера.

Варy: *
Виа Обавештава корисника о проxy-ју преко које је одговор послат. Виа: 1.0 фред, 1.1 еxампле.цом (Апацхе/1.1)
Wарнинг Опште упозорење о могуцим проблемима са телом ентитета. Wарнинг: 199 Мисцелланеоус wарнинг
WWW-Аутхентицате Указује на шему идентификације која треба да се користи за приступ захтеваном ентитету. WWW-Аутхентицате: Басиц

Уобицајна нестандардна заглавља одговора

[уреди | уреди извор]
ИМЕ ПОЉА ОПИС ПРИМЕР
X-Фраме-Оптионс Цлицкјацкинг заштита: "денy" - нема враћања унутар оквира, "самеоригин" - нема враћања ако

се порекло не поклапа.

X-Фраме-Оптионс: денy
X-XСС-Протецтион Цросс-сите сцриптинг (XСС) филтер (врста слабости у безбедности рацунара која се типично налази

у интернет апликацијама)

X-XСС-Протецтион: 1; моде=блоцк
Цонтент-Сецуритy-Полицy,

X-Цонтент-Сецуритy-Полицy, X-WебКит-ЦСП

Цонтент Сецуритy Полицy дефиниција. (то је концепт безбедности рачунара, да спречи Цросс-сите

сцриптинг и повезане нападе)

X-WебКит-ЦСП: дефаулт-срц 'селф'
X-Цонтент-Тyпе-Оптионс Самодефинисана вредност, "носнифф", спречава Интернет Еxплорер од МИМЕ шуњања одговора од

декларисаног типа садржаја. Ово важи и за Гоогле Цхроме, када се скидају додаци.

X-Цонтент-Тyпе-Оптионс: носнифф
X-Поwеред-Бy Специфицира технологију (као АСП.НЕТ, ПХП, ЈБосс) која подржава апликацију (верзије детаља су

често у X-Рунтиме, X-Версион, или X-АспНет-Версион)

X-Поwеред-Бy: ПХП/5.4.0
X-УА-Цомпатибле Препоручује жељени мотор враћања (често бацкwард-цомпатибилитy моде) који треба да се користи

да се прикаже садржај. Такође се користи да активира Цхроме Фраме у Интернет Еxплорер-у.

X-УА-Цомпатибле: ИЕ=ЕмулатеИЕ7

X-УА-Цомпатибле: ИЕ=едге X-УА-Цомпатибле: Цхроме=1

Ефекти изабраних поља заглавља

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

Избегавање складистења

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

Ако интернет сервер одговара са Цацхе-Цонтрол: но-цацхе интернет претраживач или други систем складиштења (средишњи проксији) не сме да користи одговор да задовољи наредне одговоре без претходне провере са оригиналног сервера (овај процес се назива валидација). Ово поље заглавља је део ХТТП верзије 1.1 , и неки претраживачи и складишта га игноришу. Може да буде симулиран постављањем Еxпирес ХТТП верзија 1.0 вредности поља заглавља у време које је раније од времена одзива.

Обратите пажњу да но-цацхе не упућује претраживаче или проксије о томе да ли да складишти или не складишти садржај. То само говори да претраживачи и проксији треба да провере складиштени садржај са сервером пре него што га употребе (то се ради коришћењем иф-Модифиед-Синце, Иф-Унмодифиед-Синце, Иф-Матцх, Иф-Ноне-Матцх атрибута поменутих раније ). Слањем но-цацхе вредности налаже претраживачу или проксију да не користе садржаје складишта само на основу "критеријума свежине" садржаја складишта. Други уобичајен начин да се спречи приказивање старог садржаја без валидације је Цацхе-Цонтрол: маx-аге=0. Ово упућује корисничког агента да је садржај застарео и да треба да буде потврђен пре употребе.

Поље заглавља Цацхе-Цонтрол: но-сторе има за циљ да упути апликацију претраживача да примени најбоље напоре да га не напише на диск (тј. да га не кешира ).

Захтев да се ресурс не треба кеширати није гаранција да неће бити уписан на диску. Конкретно, ХТТП/1.1 дефиниција прави разлику између историјских магацина и складишта. Уколико корисник креће назад на претходну страницу претраживач вам може још увек приказивати страницу која је унешена на диску у историјском магацину. Ово је исправно понашање према спецификацији. Многи кориснички агенти показују различита понашања у учитавању страница са историјског магацина или кеша у зависности да ли је протокол ХТТП или ХТТПС.

Прагма: но-цацхе и Цацхе-Цонтрол: но-цацхе поље заглавља је ХТТП/1.0 намењено за употребу у заглављу захтева такодје. То је наћин да претраживач каже серверу и било ком средишњем складишту да зели нову верзију извора, а не да сервер говори претраживачу да не складишти ресурс. Прагма: но-цацхе је специфична имплементација , и неки кориснички агенти обраћају пажњу на ово заглавље у одговорима, али ХТТП/1.1 РФЦ посебно упозорава на ослањање на ово понашање.

Референце

[уреди | уреди извор]
  1. ^ „ХТТП/1.1: Нотатионал Цонвентионс анд Генериц Граммар”. W3.орг. Приступљено 13. 3. 2012. 
  2. ^ „ХТТП/1.1: Хеадер Фиелд Дефинитионс”. W3.орг. Приступљено 13. 3. 2012. 
  3. ^ „РФЦ 2616 §3.9”. W3.орг. Приступљено 13. 3. 2012. 

Спољашње везе

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