Значение заголовков http. Руководство по HTTP. Поля заголовка. Что такое заголовки сервера и для чего они нужны

URL:
User-Agent:

Показать html-код страницы
Кодировка: Автоопределение UTF-8 ISO-8859-1 Windows-1251 KOI8-R

Список кодов ответа сервера

Код состояния HTTP (англ. HTTP status code ) - код состояния является частью первой строки ответа сервера. Он представляет из себя целое число из 3 арабских цифр. Первая цифра указывает на класс состояния. За кодом ответа обычно следует отделённая пробелом поясняющая фраза на английском языке, которая разъясняет человеку причину именно такого ответа. Пример:

Поместите метатег роботов следующим образом в разделе каждой страницы. Метатег роботов в приведенном выше примере позволяет всем поисковым системам не отображать страницу в результатах поиска. Некоторые сканеры также известны как пользовательские агенты. Искатель использует свой пользовательский агент для запроса страницы. Имя атрибутов и их содержимое не зависят от регистра.

Поисковые системы могут использовать разные сканеры для разных продуктов или целей. Если вам нужно указать несколько поисковых роботов по отдельности, вы можете использовать несколько метатег-роботов. Инструкции, указанные без агента пользователя, действительны для всех сканеров. В следующем разделе показано, как обрабатывать комбинированные инструкции. Имя не должно быть чувствительным к регистру.

403 Access allowed only for registered users

Клиент узнаёт по коду ответа о результатах его запроса и определяет, какие действия ему предпринимать дальше. Набор кодов состояния является стандартом, и все они описаны в соответствующих документах RFC. Введение новых кодов должно производится только после согласования с IETF. Клиент может не знать все коды состояния, но он обязан отреагировать в соответствии с классом кода.

Действительные инструкции по индексированию и развертыванию

Каждое значение представляет собой конкретный оператор. Возможно, что эти операторы не интерпретируются аналогичным образом другими поисковыми роботами. Несколько операторов можно объединить в список, разделенный запятыми. Эти инструкции не должны быть чувствительны к регистру.

Обработка комбинированных инструкций по индексированию и обработке

Вы можете создать инструкцию для нескольких операторов, комбинируя операторы автоматического метатега с запятыми. Вот пример роботизированного метатега, который сообщает поисковому веб-поиску не индексировать страницу и обходить любые ссылки на странице.

В настоящее время выделено пять классов кодов состояния:

  • 1xx: Informational (русск. Информационный ) - запрос получен и понят, а обработка продолжается.
  • 2xx: Success (русск. Успешно ) - запрос был успешно получен, понят и обработан.
  • 3xx: Redirection (русск. Перенаправление ) - для выполнения запроса должны быть предприняты дальнейшие действия.
  • 4xx: Client Error (русск. Ошибка клиента ) - запрос имеет плохой синтаксис или не может быть выполнен.
  • 5xx: Server Error (русск. Ошибка сервера ) - сервер не в состоянии выполнить допустимый запрос.

Ниже, представлены коды ответа из реестра кодов состояния IANA.

В ситуациях, когда множественные искатели задаются с разными операторами, движок использует сумму отрицательных утверждений. Поддержка регулярных выражений обеспечивает высокую степень гибкости. Используйте файлы изображений, которые не позволяют использовать автоматические метатеги.

Здесь указано поведение кэша, это значение перезаписывает стандарт браузера. Если теги отличаются, ресурс был изменен. Сам ресурс не передается. Местоположение В пересылке здесь указывается пункт назначения. Сервер Имя или серверное программное обеспечение. Кодирование передачи Тип передачи, например. фрагментированные. Если веб-сервер обнаруживает доступный пользовательский агент, но не может доставить соответствующий контент, это обычно приводит к тому, что сайты не работают должным образом или могут быть вызваны.

1xx: Informational

В этот класс выделены коды, информирующие о процессе передачи. В HTTP/1.0 сообщения с такими кодами должны игнорироваться. В HTTP/1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но ничего серверу отправлять не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к клиенту.

То же самое верно для веб-сканеров. Он сообщает серверам кеша из поставщиков, что пользовательский агент также должен учитывать при запросе кеша. Он помогает поисковым роботам быстрее и быстрее определять и индексировать контент, оптимизированный для мобильных устройств, что указывает на сжатие страницы. Пользовательский агент следует учитывать при рендеринге содержимого. . Тогда полный ответ может выглядеть так.

Клиент должен узнать, какое сжатие использует сайт. . С одной стороны, пользователи получают версию веб-сайта, подходящую для своего терминала. С другой стороны, поисковые системы имеют возможность точно определить, доступен ли контент, оптимизированный для мобильных устройств.

100 Continue
(русск. Продолжать )
Сервер удовлетворён начальными сведениями о запросе. Клиент может продолжать пересылать заголовки.

101 Switching Protocols
(русск. Переключение протоколов )
Сервер предлагает перейти на более подходящий для указанного ресурса протокол. Список предлагаемых протоколов сервер обязательно указывает в поле заголовка Update. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола.

Таким образом, сервер также показывает, что нет. Связь между браузером и сервером происходит в два этапа. Строка запроса: это строка, которая указывает тип запрашиваемого документа, метод, который будет применяться, и версию используемого протокола. Он состоит из: включает.

Строка состояния: это строка, которая указывает версию используемого протокола и статус выполняемого запроса с использованием пояснительного текста и кода. Линия состоит из трех элементов, которые должны быть разделены пробелом: строка формируется тремя элементами, которые должны быть разделены пробелом: в версии протокола используется код состояния, означающий значение кода. Это коды, которые видны, когда браузер не может отобразить запрошенную страницу. Код ответа состоит из трех цифр: первый указывает состояние, а следующие два объясняют точную природу ошибки.

102 Processing
(русск. Идёт обработка )
Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме.

2xx: Success

Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения.

Что такое метод GET и метод POST?

Заголовки - Тело ответа. Но, кроме того, как браузер, так и сервер в каждом запросе отправляют заголовки, которые служат для настройки различных типов поведения, или просто оставляют какую-либо отметку с информацией. Запрос от нашего браузера. Сервер отвечает на наш запрос.

В этом случае в ответе сервера вы можете увидеть заголовки.

  • Используется для управления кешем.
  • Местоположение.
  • Используется для указания нового местоположения для перенаправления.
  • Это не очень распространено.
Илья - защитник разработчика и веб-Гуру Перфа.

200 OK
(русск. Хорошо )
Успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения.

201 Created
(русск. Создано )
В результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке Location. Серверу рекомендуется ещё указывать в заголовке характеристики созданного ресурса (например, в поле Content-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ 202.

Процесс получения через сеть медленный и дорогостоящий: ответы большого объема требуют большого количества маршрутов между клиентом и сервером, что задерживается, когда они доступны и могут обрабатываться браузером, а также генерирует затраты на потребление данных для посетителя. В результате способность кэшировать и повторно использовать ранее полученные ресурсы является критическим аспектом оптимизации для хорошей производительности.

Предположим, что с момента первоначальной коллекции прошло 120 секунд, и браузер инициировал новый запрос для того же ресурса. Во-первых, браузер проверяет локальный кеш и находит предыдущий ответ. К сожалению, вы не можете использовать его, потому что ответ истек. На данный момент браузер может просто отправить новый запрос и получить новый полный ответ. Но это не эффективно, поскольку, если ресурс не был изменен, нет никакой причины загружать точно те же байты, которые уже находятся в кеше.

202 Accepted
(русск. Принято )
Запрос был принят на обработку, но обработка не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс.

203 Non-Authoritative Information
(русск. Неавторитетная информация )
Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной.

Клиенту не обязательно знать, как генерируется отпечаток пальца; просто отправьте его на сервер по следующему запросу. Если отпечаток остался прежним, ресурс не будет изменен, и вы можете пропустить загрузку. Обратите внимание, что нет необходимости повторно загружать ответ; это экономит время и пропускную способность. Как веб-разработчик, как вы используете эффективную повторную проверку? Браузер делает всю работу для нас. Браузер автоматически определяет, был ли ранее установлен токен проверки, добавить его к текущему запросу и обновить метки времени кеша по мере необходимости на основе ответа, полученного от сервера.

204 No Content
(русск. Нет содержимого )
Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные.

205 Reset Content
(русск. Сбросить содержимое )
Сервер обязывает клиента спросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно.

Применяемые в заголовках структуры

С точки зрения оптимизации производительности лучший запрос - это тот, который не требует связи с сервером: локальная копия ответа позволяет устранить всю задержку сети и избежать сборов за передачу данных. Каждый раз, когда пользователь запрашивает этот ресурс, запрос отправляется на сервер и загружается полный ответ. В большинстве случаев «публичный» не нужен, потому что явная информация кэширования указывает на то, что ответ может быть кэширован в любом случае.

В идеале вам следует попытаться кэшировать клиента как можно больше ответов, насколько это возможно, и предоставить маркеры проверки для каждого ответа, чтобы обеспечить эффективную повторную проверку. Конечно, это не означает, что ваше конкретное приложение будет иметь 50% ресурсов, которые можно кэшировать. Некоторые сайты могут кэшировать более 90% своих ресурсов, в то время как другие могут содержать большое количество частных данных или подвергать временным ограничениям, которые нельзя кэшировать ни при каких обстоятельствах.

206 Partial Content
(русск. Частичное содержимое )
Сервер удачно выполнил запрос клиента, но передал только часть документа. Такой ответ сервер может отправить если в заголовке запроса клиента есть поле Content-Range. Особое внимание при работе с подобными ответами следует уделить кэшированию.

207 Multi-Status
(русск. Многостатусный )
Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с единственным объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности.

Недействительность и обновление кэшированных ответов

Если есть совпадение, ответ считывается из кеша, и, таким образом, задержка сети и затраты на передачу данных устраняются. После того как браузер сохранит ответ в кеше, сохраненная версия будет использоваться до тех пор, пока она больше не будет обновлена, как определено максимальным или сроком действия, или пока она не будет удалена из кеша по какой-либо другой причине; р. например, при очистке пользователя в кеше вашего браузера. Как следствие, разные пользователи могут использовать разные версии файла во время построения страницы; пользователи, которые только что получили ресурс, используют новую версию, а те, кто кэшировал предыдущую копию, используют более раннюю версию ответа.

226 IM Used
(русск. IM использовано )
Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров.

3xx: Redirection

Коды статуса класса 3xx сообщают клиенту что для успешного выполнения операции нужно произвести следующий запрос к другому URI. В большинстве случаев новый адрес указывается в поле Location заголовка. Клиент в этом случае должен, как правило, произвести автоматический переход (жарг. редирект).

Контрольный список кэширования

Как вы получаете лучшее из обоих миров? Это просто. Чтобы проиллюстрировать это, посмотрите на приведенный выше пример. В зависимости от шаблонов трафика, предоставленного типа данных и требований приложения для обновления данных вы должны определить и настроить соответствующие параметры для каждого ресурса и общую «иерархию кеширования». Вот несколько советов и приемов, которые вы должны помнить, когда работаете над своей стратегией кэширования.

Если определенная часть ресурса обновляется часто, подумайте о том, чтобы этот код был отдельным файлом. Это позволит вывести остальную часть контента из кеша и минимизировать количество загружаемого контента каждый раз, когда будет получено обновление. Вероятно, вам действительно нужно знать, какая разница в стандарте для конечного пользователя, поэтому давайте посмотрим на демонстрацию.

Обратите внимание, что при обращении к следующему ресурсу можно получить ответ из этого же класса кодов. Может получиться даже длинная цепочка из перенаправлений, которые, если будут производится автоматически, создадут чрезмерную нагрузку на оборудование. Поэтому разработчики протокола HTTP настоятельно рекомендуют после второго подряд подобного ответа обязательно запрашивать подтверждение на перенаправление у пользователя (раньше рекомендовалось после 5-го). За этим следить обязан клиент, так как текущий сервер может перенаправить клиента на ресурс другого сервера. Клиент также должен предотвратить попадание в круговые перенаправления.

Ваш браузер будет продолжать отправлять запросы на сервер, и вы получите ответы с необходимыми для отображения веб-страницы, как следует, но некоторые нюансы сзади будут меняться. Помните ли вы перегруженность, вызванную многими подключениями, когда дело доходит до загрузки текста, шрифтов и изображений с сервера в браузер одновременно? Умножение устраняет эту проблему, предоставляя эти ресурсы в меньших частях, все они проходят через одно и то же соединение. То есть мы отправляем много разных запросов и ответов через одно и то же соединение.

300 Multiple Choices
(русск. Несколько выборов )
По указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту или пользователю.

301 Moved Permanently
(русск. Перемещёно окончательно )
Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка. При запросах не методом HEAD сервер должен передать в теле сообщения гипертекстовое пояснение. При использовании всех методов, кроме GET и POST, предварительно следует уведомить пользователя об изменении ссылки. Не стоить забывать, что некоторые агенты ошибочно меняют метод POST на GET после перехода на другой адрес.

Они отправляются, и как только передача завершена, блок заголовков другой стороны декодируется. Этот раздел основан на должности Дэвида Со, ссылка которого приведена в конце этого сообщения. В заголовках ответов вы можете получить очень важную информацию, в том числе код ответа. Этот код определяет, успешно ли был выполнен запрос или если он не существует, но есть много других.

Когда вы собираетесь сделать запрос, вам нужно указать, какой метод будет использоваться. Каждый запрос получает код ответа, известный как статус. Со статусом можно узнать, была ли операция успешной, если она была перемещена и теперь существует где-то в другом месте, или если она больше не существует.

302 Found
(русск. Найдено )
Запрошенный документ был временно перенесен на другой URI, указанный в заголовке в поле Location. При всех методах кроме HEAD сервер должен передать в теле гипертекстовое пояснение. При использовании всех отличных от GET и POST методов предварительно следует уведомить пользователя об изменении URI. При обращении к следующему ресурсу метод POST на GET менять следует как это делают некоторые агенты.

303 See Other
(русск. Смотреть другое )
Документ по запрошенному URI нужно запросить по адресу в поле Location заголовка с использованием метода GET не смотря даже на то, что первый запрашивался методом POST. Если используется не метод HEAD, то серверу следует включить в тело сообщения короткое гипертекстовое описание.

304 Not Modified
(русск. Не изменено )
Сервер возвращает такой код, если клиент запросил документ методом GET, в заголовке использовал поле Date и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела.

305 Use Proxy
(русск. Использовать прокси )
Запрос к запрашиваемому ресурсе должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Данный код ответа могут использовать только родные HTTP-сервера (не прокси).

306 (Reserved)
(русск. Зарезервировано )
Использовалось раньше. В настоящий момент зарезервировано.

307 Temporary Redirect
(русск. Временное перенаправление )
Запрашиваемый ресурс короткое время доступен только по другому URI (указывается в поле Location заголовка). Если был послан не метод HEAD, то серверу следует включить в тело сообщения короткое гипертекстовое описание. При использовании всех методов кроме GET и POST предварительно следует уведомить пользователя о временном изменении ссылки.

4xx: Client Error

Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.

400 Bad Request
(русск. Плохой запрос )
Запрос не понят сервером из-за наличия синтаксической ошибки. Клиенту следует повторно обратиться к ресурсу с изменённым запросом.

401 Unauthorized
(русск. Неавторизован )
Запрос требует идентификации пользователя. Клиент должен запросить имя и пароль у пользователя и передать их в записи WWW-Authenticate заголовка в следующем запросе. В случае ввода ошибочных данных сервер снова вернёт этот же статус.

402 Payment Required
(русск. Необходима оплата (зарезервировано) )
Предполагается использовать в будущем. В настоящий момент не используется.

403 Forbidden
(русск. Запрещено )
Сервер понял запрос, но он отказывается его выполнять из-за каких-то ограничений в доступе. Идентификация через протокол HTTP здесь не поможет. Скорее всего, на сервере нужно провести аутентификацию другим способом, сделать запрос с определёнными параметрами или удовлетворить каким-либо условиям.

404 Not Found
(русск. Не найдено )
Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410 вместо этого. Этот код может использоваться вместо 403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы.

405 Method Not Allowed
(русск. Метод не поддерживается )
Указанный клиентом метод нельзя применить к ресурсу. Сервер также должен передать в заголовке ответа поле Allow со списком доступных методов.

406 Not Acceptable
(русск. Не приемлемо )
Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса.

407 Proxy Authentication Required
(русск. Необходима авторизация прокси )
Ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на обычном сервере.

408 Request Timeout
(русск. Время ожидания истекло )
Время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время.

409 Conflict
(русск. Конфликт )
Запрос не может выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT.

410 Gone
(русск. Удалён )
Такой ответ сервер посылает, когда ресурс раньше был по указанному URI, но был удалён и теперь недоступен. Серверу в этом случае не известно и местоположение альтернативного документа (например, копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404.

411 Length Required
(русск. Необходима длина )
Для указанного ресурса клиент должен указать Content-Length в заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI.

412 Precondition Failed
(русск. Условие «ложно» )
Возвращается, если ни одно из условных полей заголовка запроса не было выполнено.

413 Request Entity Too Large
(русск. Запрашиваемые данные слишком большие )
Возвращается если сервер по каким-то причинам не может передать запрашиваемый объём информации. Если проблема временная, то сервер может в ответе указать в поле Retry-After время, по истечении которого можно повторить аналогичный запрос.

414 Request-URI Too Long
(русск. Запрашиваемый URI слишком длинный )
Сервер не может обработать запрос из-за слишком длинного указанного URI. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET, а не POST.

415 Unsupported Media Type
(русск. Неподдерживаемый тип данных )
По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе.

416 Requested Range Not Satisfiable
(русск. Запрашиваемый диапазон не достижим )
В поле Range заголовка запроса был указан диапазон за пределами ресурса и отсутствует поле If-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в поле Content-Range заголовка. Данный ответ не следует использовать при передаче типа multipart/byteranges.

417 Expectation Failed
(русск. Ожидаемое ошибочно )
По каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса.

422 Unprocessable Entity
(русск. Необрабатываемый экзмепляр )
Сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка из-за которой невозможно произвести операцию над ресурсом.

423 Locked
(русск. Заблокировано )
Целевой ресурс из запроса заблокирован от применения к нему указанного метода.

424 Failed Dependency
(русск. Невыполненная зависимость )
Реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт код 424.

426 Upgrade Required
(русск. Необходимо обновление )
Сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля Upgrade и Connection.

5xx: Server Error

Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.

500 Internal Server Error
(русск. Внутренняя ошибка сервера )
Любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса 5xx.

501 Not Implemented
(русск. Не выполнимо )
Сервер не поддерживает возможностей, необходимых для обработки запроса. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод.

502 Bad Gateway
(русск. Плохой шлюз )
Сервер в роли шлюза или прокси получил сообщение о неудачном выполнении промежуточной операции.

503 Service Unavailable
(русск. Сервис недоступен )
Сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным является сразу разрывать соединение, эффективней может оказаться установка большого значения поля Retry-After для уменьшения частоты избыточных запросов.

504 Gateway Timeout
(русск. Шлюз не отвечает )
Сервер в роли шлюза или прокси не дождался ответа от вышестоящего сервера для завершения текущего запроса.

505 HTTP Version Not Supported
(русск. Версия HTTP не поддерживается )
Сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP.

506 Variant Also Negotiates (Experimental)
(русск. Вариант тоже согласован (экспериметальное) )
В результате ошибочной конфигурации выбранный вариант указывает сам на себя из-за чего процесс связывания прерывается.

507 Insufficient Storage
(русск. Закончилось место )
Не хватает места для выполнения текущего запроса. Проблема может быть временной.

510 Not Extended
(русск. Не расширено )
На сервере отсутствует расширение, которое планирует использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях.

В соответствии со спецификацией http - данный протокол позволяет передавать служебную информацию от сервера к браузеру в виде специальных заголовков. То есть, HTTP заголовки - средство общения сервера с клиентом. Заголовок не отображается в окне браузера, но может коренным образом изменить вид отображаемого документа.

Отправляем HTTP заголовки

Для отправки заголовков в php используется функция header(). Необходимо осуществлять отправку заголовков до посылки других данных, в связи с чем, функция header() должна вызываться в самом начале документа.

Header("HTTP заголовок", )

Параметр replace может принимать значения - true и false. Он определяет, должен ли предыдущий заголовок подобного типа быть заменен, или добавлен к существующему. Для определения статуса отправки заголовка используется функция headers_sent(), возвращающая true, в случае успешной отправки, и false, в обратном случае.

Заголовок Cache-control

Выполняет управление кэшированием страниц. Возможны следующие значения:
no-cache : Запрет кеширования. Используется в часто обновляемых страницах с динамическим контентом;
public : Разрешение кеширования страницы как локальным клиентом, так и прокси-сервером
private : Разрешение кеширования только локальным клиентом
max-age : Разрешение использования кешированного документа в течение заданного времени в секундах
no-store : Cтраница содержит приватные данные, сохранять в кэше нельзя

# кеширование локальными клиентами и использование в течение 1 часа header("cache-control: private, max-age = 3600"); # кеширования всеми серверами на 1 час header("Cache-Control: public"); header("Expires: " . date("r", time() + 3600)); # жесткий запрет кеширования на всех этапах header("Cache-Control: no-store, no-cache, must-revalidate"); header("Expires: " . date("r"));

Заголовок Expires

Устанавливает дату и время, после которого документ считается устаревшим. Указывается в следующем формате:
День недели (сокр.) число (2 цифры) Месяц (сокр.) год часы:минуты:секунды gmt
Например:
fri, 09 jan 2002 12:00:00 gmt
Текущее время в таком формате возвращает функция gmdate() в следующем виде:

Echo gmdate("d, d m y h:i:s")." gmt";

Возможно использование данного http заголовка для запрета кеширования. Для этого необходимо указать прошедшую дату. Иногда можно встретить и такую комбинацию Expires: now

Заголовок Last-modified

Указывает дату последнего изменения документа. Дата должна задаваться в том же формате, что и в случае с заголовком expires. Данный заголовок можно не использовать для динамических страниц, так как многие серверы (например, apache) для таких страниц сами выставляют дату модификации. При запросе это значение передаётся клиентом в специальном заголовке запроса: If-Modified-Since. Обработчик запроса может проверить, изменился ли объект, и если нет - вернуть ответ с пустым телом и кодом ответа 304 Not Modified. Само содержимое страницы не передаётся, и клиент будет использовать то содержимое, которое хранится у него в кэше. Возможно сделать страницу всегда обновленной:

Header("Last-modified: ".gmdate("d, d m y h:i:s")." gmt");

Заголовок Location

Заголовок позволяет перенаправить браузер на другой url

Header("location: http://сайт");

Заголовок Content-type

Заголовок передает MIME тип возвращаемого документа

Header("Content-type: text/html");

Заголовок Content-length

Передает размер документа возвращаемого сервером

Заголовок Status

Передает серверу статус документа.

Header("http/1.0 200 Ok");

Возможны следующие коды статусов:
100 "Continue" : Начальная часть запроса принята, и клиент может продолжать передачу запроса.
101 "Switching Protocols" : Сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка Upgrade.
200 "OK" : Запрос клиента обработан успешно, и ответ сервера содержит затребованные данные.
201 "Created" : Этот код состояния используется в случае создания нового URI. Вместе с этим кодом результата сервер выдает заголовок Location (см. главу 19), который содержит информацию о том, куда были помещены новые данные.
202 "Accepted" : Запрос принят, но обрабатывается не сразу. В теле содержимого ответа сервера может быть дана дополнительная информация о данной транзакции. Гарантии того, что сервер в конечном итоге удовлетворит запрос, нет, даже несмотря на то, что на момент приема запрос выглядел допустимым.
203 "Non-Authoritative Information" : Информация в заголовке содержимого взята из локальной копии или у третьей стороны, а не с исходного сервера.
204 "No Content" : Ответ содержит код состояния и заголовок, но тело содержимого отсутствует. При получении этого ответа броузер не должен обновлять свой документ. Обработчик чувствительных областей изображений может возвращать этот код, когда пользователь щелкает на бесполезных или пустых участках изображения.
205 "Reset Content" : Браузер должен очистить форму, используемую в данной транзакции, для дополнительных входных данных. Полезен для CGI-приложений, требующих ввода данных.
206 "Partial Content" : Сервер возвращает лишь часть данных затребованного объема. Используется в ответе на запрос с указанием заголовка Range. Сервер должен указать диапазон, включенный в ответ, в заголовке Content-Range.
300 "Multiple Choices" : Затребованный URI обозначает более одного ресурса. Например, URI может обозначать документ, переведенный на несколько языков. В теле содержимого, возвращенном сервером, может находиться перечень более конкретных данных о том, как выбрать ресурс правильно.
301 "Moved Permanently" : Затребованный URI уже не используется сервером, и указанная в запросе операция не выполнена. Новое местонахождение затребованного документа указывается в заголовке Location. Во всех последующих запросах данного документа следует указывать новый URI. При запросах не методом HEAD сервер должен передать в теле сообщения гипертекстовое пояснение. При использовании всех методов, кроме GET и POST, предварительно следует уведомить пользователя об изменении ссылки. Не стоить забывать, что некоторые агенты ошибочно меняют метод POST на GET после перехода на другой адрес.
302 "Moved Temporarily" : Затребованный URI перемешен, но лишь временно. Заголовок Location указывает на новое местонахождение. Сразу же после получения этого кода состояния клиент должен разрешить запрос при помощи нового URI, но во всех последующих запросах необходимо пользоваться старым URI. При всех методах кроме HEAD сервер должен передать в теле гипертекстовое пояснение. При использовании всех отличных от GET и POST методов предварительно следует уведомить пользователя об изменении URI. При обращении к следующему ресурсу метод POST на GET менять следует как это делают некоторые агенты.
303 "See Other" : Затребованный URI можно найти по другому URI (указанному в заголовке Location). Его следует выбрать методом GET по данному ресурсу.
304 "Not Modified" : Это код ответа на заголовок lf-Modified-Since, если URI не изменялся с указанной даты. Тело содержимого не посылается, и клиент должен использовать свою локальную копию.
305 "Use Proxy" : Доступ к затребованному URI должен осуществляться через proxy-сервер, указанный в заголовке Location.
306 "(Unused)" : не используется
307 "Temporary Redirect" : Запрос клиента является неполным (Client Error 4xx)
400 "Bad Request" : Означает, что сервер обнаружил в запросе клиента синтаксическую ошибку.
401 "Unauthorized" : Этот код результата, передаваемый с заголовком WWW-Authenticate, показывает, что пославший запрос пользователь не имеет необходимых полномочий и что при повторении запроса с указанием данного URI пользователь должен такие полномочия предоставить.
402 "Payment Required" : Этот код в HTTP еще не реализован.
403 "Forbidden" : Запрос отклонен по той причине, что сервер не хочет (или не имеет возможности) ответить клиенту.
404 "Not Found" : Документ по указанному URI не существует.
405 "Method Not Allowed" : метод не поддерживается. Этот код выдается с заголовком Allow и показывает, что метод, используе- мый клиентом, для данного URI не поддерживается.
406 "Not Acceptable" : Ресурс, указанный клиентом по данному URI, существует, но не в том формате, который нужен клиенту. Вместе с этим кодом сервер выдает заголовки Content-Language, Content-Encoding и Content-Type.
407 "Proxy Authentication Required" : Прокси-сервер затребовал авторизацию. Proxy-сервер должен санкционировать запрос перед тем, как пересылать его. Используется с заголовком Proxy-Authenticate.
408 "Request Time-out" : Этот код ответа означает, что клиент не передал полный запрос в течение некоторого установленного промежутка времени (который обычно задается в конфигурации сервера) и сервер разрывает сетевое соединение.
409 "Conflict" : Данный запрос конфликтует с другим запросом или с конфигурацией сервера. Информацию о конфликте следует возвратить в информационной части ответа.
410 "Gone" : Данный код показывает, что затребованный URI больше не существует и навсегда удален с сервера.
411 "Length Required" : Сервер не примет запрос без указанного в нем заголовка Content-Length.
412 "Precondition Failed" : Результат вычисления условия, заданного в запросе одним или несколькими заголовками if. . ., представляет собой "ложь".
413 "Request Entity Too Large" : Сервер не будет обрабатывать запрос, потому что его тело слишком велико.
414 "Request-URI Too Long" : запрос слишком длинный. Сервер не будет обрабатывать запрос, потому что его URI слишком длинный.
415 "Unsupported Media Type" : Сервер не будет обрабатывать запрос, потому что его тело имеет неподдерживаемый формат.
416 "Requested Range Not Satisfiable" : Запрашиваемый диапазон не допустим
417 "Expectation Failed" : Ожидание не удалось
500 "Internal Server Error" : При обработке запроса на сервере один из его компонентов выдал аварийный отказ или столкнулся с ошибкой конфигурации. Часто бывает связанно с ошибками в файле.htaccess
501 "Not Implemented" : Клиент запросил выполнение действия, которое сервер выполнить не может.
502 "Bad Gateway" : Сервер (или proxy-сервер) получил недопустимые ответы другого сервера (или proxy-сервера).
503 "Service Unavailable" : Данный код означает, что данная служба временно недоступна, но в будущем доступ к ней будет восстановлен. Если сервер знает, когда это произойдет, может быть также выдан заголовок Retry-After.
504 "Gateway Time-out" : Этот ответ похож на 408 (Request Time-out), за исключением того, что шлюз или уполномоченный сервер превысил лимит времени.
505 "HTTP Version not supported" : Сервер не поддерживает версию протокола HTTP, использованную в запросе.

Все представленные на данном сайте статьи являются моим личным справочником, составленным на основе анализа интернет форумов и блогов, для упрощения поиска необходимой для меня информации. Содержание может корректироваться по мере поступления более свежих и простых решений. Просьба указывать ссылку на источник, при полном или частичном копировании материала!



В продолжение темы:
Android

Популярная социальная сеть ВКонтакте позволяет находить новых друзей и держать контакт со всеми близкими. Помимо этого, каждый пользователь может делиться собственными...