Какво е HTTP хедър (HTTP Header)?

HTTP Header Fields (HTTP хедъри) са полета с информация, намиращи се в заглавната част на HTTP заявката и HTTP отговора, които браузърът и уеб сървърът си разменят.

HTTP хедърите съдържат указания и параметри, от които зависи HTTP обмена на информация между клиент и сървър.

HTTP хедъри (HTTP Headers)

Пълен списък на всички регистрирани хедъри, както и такива, които са добавени свободно от различни разработчици и са за лично ползване, можете да видите на страницата на официалния регистър 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 хедъри (заявка)info-icon  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 хедъри (отговор)info-icon 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>

Apache модулът mod_headers е инсталиран и активиран по подразбиране на всички сървъри за хостинг услуги при СуперХостинг.БГ.

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().

При използване на функцията header() на PHP внимавайте с изпращането на хедърите, за да не се получава „Warning: Cannot modify header information – headers already sent by…“.

Обновена: 24.11.2022
Беше ли Ви полезна тази статия?

Вижте още