HTTP Header Fields (HTTP хедъри) са полета с информация, намиращи се в заглавната част на HTTP заявката и HTTP отговора, които браузърът и уеб сървърът си разменят.
HTTP хедърите съдържат указания и параметри, от които зависи HTTP обмена на информация между клиент и сървър.
Пълен списък на всички регистрирани хедъри, както и такива, които са добавени свободно от различни разработчици и са за лично ползване, можете да видите на страницата на официалния регистър IANA: Message Headers
Тези полета с информация (HTTP хедъри) се състоят от име и стойност и могат да се разделят на два вида – request fields (хедъри на заявката, използвани от клиента) и response fields (хедъри на отговора, използвани от сървъра).
Някои HTTP хедъри обаче може да се ползват и от клиента и от сървъра, като например Cache-Control, Via, Content-Length, Content-Type и други.
Къде може да се видят HTTP хедърите?
HTTP хедърите (заглавните части на HTTP заявка/отговор) може да се видят чрез помощен инструмент в уеб браузъра, например за Firefox можете да стартирате Web Console с клавишна комбинация Ctrl + Shift + K или F12.
HTTP хедърите може да се извлекат и чрез PHP, за заявката с функцията getallheaders(), apache_request_headers() или отговора чрез apache_response_headers().
Някои от по-често срещаните хедъри в заявката на клиента:
линия за заявката | GET /http-headers-request-response-header-fields.html HTTP/1.1 |
HTTP хедъри (заявка) | Accept: text/html,application/xhtml+xml, application/xml;q=0.9,*/*;q=0.8 |
Accept-Encoding: gzip, deflate | |
Cache-Control: no-cache | |
Host: help.superhosting.bg | |
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Firefox/45.0 |
Някои от по-често срещаните хедъри в отговора на сървъра:
статус линия | HTTP/1.x 200 OK |
HTTP хедъри (отговор) | Content-Encoding: gzip |
Last-Modified: Wed, 30 Mar 2016 08:15:07 GMT | |
Content-Type: text/html; charset=utf-8 | |
Server: Apache | |
Vary: User-Agent |
Управление на HTTP хедъри
HTTP хедърите може да се управляват и модифицират от модула към Apache – mod_headers, чрез задаване на параметри в .htaccess файла. Например:
<IfModule mod_headers.c>
Header append Vary: User-Agent
</IfModule>
HTTP хедърите може да се управляват и от приложенията в хостинг акаунта. Например задаване, чрез PHP, на хедъра Last-Modified, индикиращ датата на последната модификация на документа:
$modify_time = filemtime($file);
header("Last-Modified: " . gmdate("D, d M Y H:i:s", $modify_time) . " GMT");
Чрез PHP функцията header() можете да задавате HTTP хедъри за отговора. Какви HTTP хедъри са изпратени или ще бъдат изпратени към клиента можете да проверите с headers_list(). Дали и къде са изпратени HTTP хедърите можете да проверите с headers_sent().