HTTP заголовки (Headers) – основа коммуникации между устройствами. Это строки в сообщении, которые содержат комплекс «параметр-значение». С их помощью передаются основные сведения о браузере клиента, сервере, устанавливающемся соединении и передающихся через него данных.
Взаимодействие HTTP Headers с браузером
Для запроса какой-либо web-страницы пользователь вбивает ее адрес в соответствующую строку (видна только часть HTML, хотя заголовки HTTP передаются одновременно). Чтобы получить доступ к необходимой странице сайта, ваш браузер отправляет запрос на сервер. В нем содержится информация об устройстве, ожидаемый медиатип носителя, доступные методы сжатия, документ, который запрашивается (с маршрутом от корневой папки), используемый язык и собственное наименование (User-Agent).
В результате обработки запроса сервер находит необходимую страницу и выдаёт ответ, который состоит из самого заголовка и «тела» документа, которые должны быть отделены пустой строкой. Заголовок HTTP включает ответ на запрос пользователя и дополнительную информацию к запрашиваемому документу, основным в которой является код состояния с пояснением причин. Если страница обнаружена и подготовлена к отправке, код статуса будет 200 OK («хорошо»). В противном случае код будет указывать «ошибку клиента» или дополнительные условия для передачи.
Работа с поисковыми программами
При поисковой оптимизации взаимодействие сервера с поисковыми «ботами» осуществляется так же, как с браузером. Разница в том, что программы производят отправку запросов лишь двумя методами: HEAD (получение информации заголовка) и аналогичным GET (получение документа). Метод POST запросов, которые использует браузер, они не применяют.
Поисковики Google и «Яндекс» работают (Accept:*/*) с различными медиатипами и допускают формат архивации файлов (GZIP). Для Google-бота язык значения не имеет. Яндекс предпочитает работать с материалами на русском, следующую позицию занимают английский, украинский и белорусский языки. Рамблер-бот создавался для поиска исключительно русскоязычного контента, английский – с незначительными ограничениями. Распознавание медиатипов и кодировок происходит в автоматическом режиме.
Требования к HTTP Headers для оптимизации сайта
Чтобы добиться успешного продвижения сайта, его система управления содержимым (CMS) должна выдавать HTTP заголовок, следуя определённым условиям:
- Обязательным правилом является наличие медиатипа и правильной кодировки для браузера. Для достижения более высоких результатов при раскрутке сайтов в заголовок вносятся данные об используемом языке, дата и время редактирования;
- Сначала передаётся заголовок HTTP, затем «тело» документа. Если попытаться отправить заголовок после того, как трансляция HTTP кода уже началась, процесс выполнения сценария будет остановлен и появится сообщение об «ошибке»;
- Сервер не может своевременно ответить на запрос тех материалов, которые не содержатся в базе данных сайта, если для создания прототипа страницы были применены HTML шаблоны со встроенным PHP кодом. Чтобы решить эту проблему, можно применить метод буферизации вывода – после отработки скрипта клиент получит данные в необходимом порядке.