HTTP коды ошибок сервера: 500, 501, 502, 503, 504, 505
Привет, читатель блога ZametkiNaPolyah.ru! Продолжим знакомиться с протоколом HTTP в рубрике Cерверы и протоколы и ее разделе…
Привет, читатель блога ZametkiNaPolyah.ru! Продолжим знакомиться с протоколом HTTP в рубрике Серверы и протоколы и ее разделе HTTP протокол. В данной публикации вы найдете все поля HTTP заголовков их описание и небольшие примеры. Возможно, в этой рубрике появится более подробные публикации про каждую из групп полей заголовка, пока я советую обратиться вам к официальной документации стандарта HTTP 1.1.
Содержание статьи:
Ниже приведены поля HTTP заголовка запроса пользователя, это те поля, которые могут быть использованы в HTTP запросах. Обратите внимание на то, что в данной таблицы сведены поля HTTP заголовков тела HTTP объекта при запросе и служебные поля HTTP заголовков запроса. Так же для удобства в справочнике поля заголовков HTTP запроса упорядочены в алфавитном порядке. В таблице будут приведены сначала служебные поля заголовка запроса, а затем поля заголовка объекта.
Поля HTTP заголовка | Описание поля HTTP заголовка | Пример |
Accept | Поле заголовка запроса Accept используется, чтобы определить тип информации, который должен содержаться в ответе HTTP сервера | Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c |
Accept-Charset | Поле заголовка запроса Accept-Charset указывает на кодировку, которая должна быть в ответе сервера. Другими словами: данное поле указывает на то, какие наборы символов приемлемы для ответов сервера | Accept-Charset: iso-8859-5, unicode-1-1;q=0.8 |
Accept-Encoding | Поле заголовка запроса Accept-Encoding указывает серверу на то, какие способы кодирования приемлемы для ответа. | Accept-Encoding: compress, gzip |
Accept-Language | Поле заголовка запроса Accept-Language указывает серверу приемлемые языки (естественные языки: русский, китайский, английский и пр.) | Accept-Language: da, en-gb;q=0.8, en;q=0.7 |
Authorization | Поле заголовка запроса Authorization используется для отправки данных авторизации на сервер | Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Content-Disposition | Поле заголовка запроса Content-Disposition используется для сохранения файлов на сервере | Content-Disposition: form-data; name="MessageTitle" Content-Disposition: form-data; name="AttachedFile1"; filename="photo-1.jpg" |
Expect | Поле заголовка запроса Expect позволяет клиенту задать поведение сервера, например, при помощи данного поля клиент может сообщить серверу, что ожидает от него дальнейших действий. | Expect: 100-continue |
From | Поле заголовка запроса From служит для передачи серверу адреса электронной почты клиента | From: user@example.com |
Host | Поле заголовка запроса Hostиспользуется для указания доменного имени и порта запрашиваемого ресурса. | Host: zametkinapolyah.ru |
If-Match | Поле заголовка запроса If-Match используется клиентом для эффективного обновления кэшируемой информации. В данном поле передается список тегов версий сущности (HTTP объекта) | If-Match: «xyzzy»
If-Match: «xyzzy», «r2d2xxxx», «c3piozzzz» If-Match: * |
If-Modified-Since | Поле заголовка запроса If-Modified-Since указывает на то, что сервер должен отправить объект, если он изменился с даты, указанной в заголовке. | If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT |
If-None-Match | Поле заголовка запроса If-None-Match выполняется клиентом, у которого есть один или более объектов, ранее полученных из ресурса, может проверить, что ни один из тех объектов не является текущим, включая список их связанных тэгов объекта в поле заголовка If-None-Match | If-None-Match: «xyzzy»
If-None-Match: W/"xyzzy" If-None-Match: «xyzzy», «r2d2xxxx», «c3piozzzz» If-None-Match: W/"xyzzy", W/"r2d2xxxx", W/"c3piozzzz" If-None-Match: * |
If-Range | Поле заголовка запроса If-Range используется клиентом в том случае, когда он имеет частичную копию объекта в его кэше, и желает иметь современную копию всего объекта | If-Range: «737060cd8c284d8af7ad3082f209582d» |
If-Unmodified-Since | Поле заголовка запроса If-Unmodified-Since используется клиентом если если запрошенный ресурс не был изменен со времени, указанного в этом поле. | If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT |
Max-Words | Поле заголовка запроса Max-Words используется HTTP методом TRACE, чтобы ограничить число прокси-серверов, иначе может получиться бесконечный цикл. | Max-Forwards: 10 |
Proxy-Authorization | Поле заголовка запроса Proxy-Authorization содержит в себе информацию для авторизации на прокси-сервере | Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Range | Поле заголовка запроса Range указывает байтовый диапазон фрагмента ресурса, который требуется клиенту, чтобы не тянуть весь ресурс целиком | Range: bytes=50000-99999,250000-399999,500000- |
Referer | Поле заголовка запроса Referer содержит в себе URI ресурса (читай про URI в HTTP), с которого клиент перешел на данный ресурс | Referer: //zametkinapolyah.ru |
TE | Поле заголовка запроса TE содержит список расширенных способов кодирования, поддерживаемых клиентом, для передачи. | TE: deflate
TE: TE: trailers, deflate;q=0.5 |
User-Agent | Поле заголовка запроса User-Agent содержит в себе полную информацию о клиенте пользователя, например, о браузере. | User-Agent: CERN-LineMode/2.15 libwww/2.17b3 |
Content-Encoding | Поле заголовка запроса Content-Encoding указывает на дополнительный способ кодирования тела HTTP объекта с целью сжатия | Content-Encoding: gzip |
Content-Language | Поле заголовка запроса Content-Language указывает серверу на каком языке нужна информация (метки и тэги в HTTP), находящаяся в теле объекта. | Content-Language: mi, en |
Content-Length | Поле заголовка запроса Content-Length указывает необходимую длину тела сообщения в байтах | Content-Length: 3495 |
Content-Location | Поле заголовка запроса Content-Location используется для идентификации исходного местоположения объекта на сервере. | «Content-Location» «:» (absoluteURI | relativeURI ) |
Content-MD5 | Поле заголовка запроса Content-MD5 используется для проверки целостности объектов сообщений, так как хэш значительно меньше самого сообщения. | Content-MD5 : 8c2d46911f3f5a326455f0ed7a8ed3b3 |
Content-Range | Поле заголовка запроса Content-Range используется в том случае, когда клиент запрашивает фрагмент HTTP сообщение. Данное поле имеет значение байтового диапазона требуемого фрагмента | Content-Range: bytes 88080384-160993791/160993792 |
Content-Type | Поле заголовка запроса Content-Type используется для указания медиа типа данных в теле сообщения. | Content-Type: text/html;charset=utf-8 |
Content-Version | Поле заголовка запроса Content-Version содержит информацию о текущей версии HTTP объекта (обычно не реализуется) | |
Derived-From | Поле заголовка запроса Derived-From это аналог Content-Version (обычно не реализуется) | |
Expires | Поле заголовка запроса Expires содержит дату и время того момента, когда информация HTTP объекта перестанет быть актуальной | Expires: Tue, 31 Jan 2012 15:02:53 GMT |
Last-Modified | Поле заголовка запроса Last-Modified содержит дату последней модификации HTTP объекта | Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT |
Link | Поле заголовка запроса Link указывает на логически связный с сущностью ресурс (обычно не реализуетсяя) | |
Title | Поле заголовка запроса Title содержит заголовок объекта |
Ниже в таблицы приведены поля HTTP заголовка ответа сервера. Поля HTTP заголовка ответа сервера – это те поля, которые могут быть использованы в HTTP ответах сервера на запросы клиента. Обратите внимание на то, что таблица содержит не только служебные поля заголовка ответа, но и поля заголовка HTTP объекта при ответе сервера.Сначала в таблицы идут служебные поля заголовка HTTP ответа, а затем поля заголовка HTTP объекта при ответе сервера. Справочник полей HTTP заголовка ответов сервера упорядочен в алфавитном порядке.
Поля HTTP заголовка | Описание поля HTTP заголовка | Пример |
Accept-Ranges | Поле заголовка ответа Accept-Ranges. Этим полем сервер сообщает клиенту о том, в каких единицах измерения тот может запрашивать фрагменты объекта | Accept-Ranges: bytes Accept-Ranges: none |
Age | Поле заголовка ответа Age хранит в себе количество секунд с момента последней модификации ресурса | |
Alternates | Поле заголовка ответа Alternates указывает на альтернативные способы представления ресурса и обычно не реализуется серверами. | |
Content-Disposition | Поле заголовка ответа Content-Disposition используется для сохранения файлов на серверной машине | |
ETag | Поле заголовка ответа ETag идентифицирует версию кэша HTTP объекта | ETag: «56d-9989200-1132c580» |
Location | Поле заголовка ответа Location указывает URI, на котором хранится запрошенный ресурс | Location :absoluteURI |
Proxy-Authenticate | Поле заголовка ответа Proxy-Authenticate содержит в себе информацию о параметрах аутентификации на прокси-сервере | Proxy-Authenticate :challenge |
Public | Поле заголовка ответа Public содержит в себе список доступных методов (читай про методы в HTTP) для всего HTTP сервера | Public: OPTIONS, MGET, MHEAD, GET, HEAD |
Retry-After | Поле заголовка ответа Retry-After обычно используется сервером вместе с кодом состояния 503 (код ошибки сервера) и указывает на то, как долго ресурс будет недоступен | Retry-After: Fri, 31 Dec 1999 23:59:59 GMT Retry-After: 120 |
Server | Поле заголовка ответа Server содержит в себе необходимую информацию о сервере для установления HTTP соединения | Server: Apache/2.2.17 (Win32) PHP/5.3.5 |
Vary | Поле заголовка ответа Vary указывает клиенту на то, что HTTP объект имеет несколько источников и его содержимое может изменяться в зависимости от выбранного источника, указанного в URI | Vary: Accept-Language, Accept-Encoding |
WWW-Authenticate | Поле заголовка ответа WWW-Authenticate используется сервером вместе с кодом состояния 401 (код ошибки клиента). В данному поле указываются схемы аутентификации и требуемые параметры для доступа к ресурсу | WWW-Authenticate = «WWW-Authenticate» «:» 1#challenge |
Allow | Поле заголовка ответа Allow передает клиенту методы, которые тот может использовать | Allow: GET, HEAD, PUT |
Content-Encoding | Поле заголовка ответа Content-Encoding указывает на дополнительный способ кодирования тела HTTP объекта с целью сжатия | Content-Encoding: gzip |
Content-Language | Поле заголовка ответа Content-Language указывает клиенту на каком языке информация, находящаяся в теле объекта. | Content-Language: mi, en |
Content-Length | Поле заголовка ответа Content-Length указывает необходимую длину тела сообщения в байтах | Content-Length: 3495 |
Content-Location | Поле заголовка ответа Content-Location используется для идентификации исходного местоположения объекта на сервере. | «Content-Location» «:»absoluteURI | relativeURI ) |
Content-MD5 | Поле заголовка ответа Content-MD5 используется для проверки целостности объектов сообщений, так как хэш значительно меньше самого сообщения. | Content-MD5 : 8c2d46911f3f5a326455f0ed7a8ed3b3 |
Content-Range | Поле заголовка ответа Content-Range используется в том случае, когда клиент запрашивает фрагмент HTTP сообщение. Данное поле имеет значение байтового диапазона требуемого фрагмента | Content-Range: bytes 88080384-160993791/160993792 |
Content-Type | Поле заголовка ответа Content-Type используется для указания медиа типа данных в теле сообщения. | Content-Type: text/html;charset=utf-8 |
Content-Version | Поле заголовка ответа Content-Version содержит информацию о текущей версии HTTP объекта (обычно не реализуется) | |
Derived-From | Поле заголовка ответа Derived-From это аналог Content-Version (обычно не реализуется) | |
Expires | Поле заголовка ответа Expires содержит дату и время того момента, когда информация HTTP объекта перестанет быть актуальной | Expires: Tue, 31 Jan 2012 15:02:53 GMT |
Last-Modified | Поле заголовка ответа Last-Modified содержит дату последней модификации HTTP объекта | Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT |
Link | Поле заголовка ответа Link указывает на логически связный с сущностью ресурс (обычно не реализуетсяя) | |
Title | Поле заголовка ответа Title содержит заголовок объекта |
Напомню, что общие поля заголовка HTTP сообщения могут быть использованы, как при HTTP запросах, так и при ответах сервера. Ниже вы найдете таблицу с кратким описанием и примерами общих полей HTTP заголовка. Справочник общих полей HTTP заголовка отсортирован по алфавиту.
Поля HTTP заголовка | Описание поля HTTP заголовка | Пример |
Cache-Control | Общее поле HTTP заголовка Cache-Control определяет директивы для управления кэшем, которым должны следовать все кэширующие механизмы | Cache-Control: no-cache
Cache-Control: no-store Cache-Control: max-age=3600 Cache-Control: max-stale=0 Cache-Control: min-fresh=0 Cache-Control: no-transform Cache-Control: only-if-cached Cache-Control: cache-extension |
Connection | Общее поле HTTP заголовка Connection позволяет управлять HTTP соединением | Connection: close |
Date | Общее поле HTTP заголовка хранит дату и время создания HTTP сообщения | Date: Tue, 15 Nov 1994 08:12:31 GMT |
MIME-Version | Общее поле HTTPзаголовка MIME-Version содержит версия протокола MIME, по которому было сформировано сообщение. | MIME-Version = «MIME-Version» «:» 1*DIGIT «.» 1*DIGIT |
Pragma | Общее поле HTTP заголовка Pragma используется для включения особых директив, которые применяются к любому получателю HTTP сообщения. | Pragma: no-cache |
Trailer | Общее поле HTTP заголовка Trailer хранит в себе список полей, которые имеют отношение к кодированию сообщения и кодированию передачи. | Trailer :field-name |
Transfer-Encoding | Общее поле HTTP заголовка Transfer-Encoding служит для передачи списка методов кодирования передачи | Transfer-Encoding: chunked |
Upgrade | Общее поле HTTP заголовкаUpgrade служит для передачи версий HTTP протокола, которые поддерживает клиент. Сервер на сообщение со списком отвечает сообщением с одним протоколом | Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 |
Via | Общее поле HTTP заголовкаVia служит для отображения списка версий протокола HTTP, названий и версий прокси-серверов, через которые прошло сообщение. | Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) |
Напомню, что поля заголовка объекта HTTP сообщения используются для того, чтобы клиент и сервер могли договориться между собой о том, как они будут обмениваться полезной для пользователя информацией и в каком виде эта информация будет представлена. Ниже в таблице в найдете поля заголовка объекта HTTP сообщения. Справочник полей заголовка объекта HTTP сообщения упорядочен по алфавиту.
Поля HTTP заголовка | Описание поля HTTP заголовка | Пример | Тип HTTP сообщения |
Allow | Поле заголовка Allow передает клиенту методы, которые тот может использовать | Allow: GET, HEAD, PUT | Ответ |
Content-Disposition | Поле заголовка Content-Disposition используется для сохранения файлов на сервере | Запрос и ответ | |
Content-Encoding | Поле заголовка Content-Encoding указывает на дополнительный способ кодирования тела HTTP объекта с целью сжатия | Content-Encoding: gzip | Запрос и ответ |
Content-Language | Поле заголовка Content-Language указывает клиенту на каком языке информация, находящаяся в теле объекта. | Content-Language: mi, en | Запрос и ответ |
Content-Length | Поле заголовка Content-Length указывает необходимую длину тела сообщения в байтах | Content-Length: 3495 | Запрос и ответ |
Content-Location | Поле заголовка Content-Location используется для идентификации исходного местоположения объекта на сервере. | «Content-Location» «:»absoluteURI | relativeURI ) | Запрос и ответ |
Content-MD5 | Поле заголовка Content-MD5 используется для проверки целостности объектов сообщений, так как хэш значительно меньше самого сообщения. | Content-MD5 : 8c2d46911f3f5a326455f0ed7a8ed3b3 | Запрос и ответ |
Content-Range | Поле заголовка Content-Range используется в том случае, когда клиентское приложение запрашивает фрагмент HTTP сообщение. Данное поле имеет значение байтового диапазона требуемого фрагмента | Content-Range: bytes 88080384-160993791/160993792 | Запрос и ответ |
Content-Type | Поле заголовка Content-Type используется для указания медиа типа данных в теле сообщения. | Content-Type: text/html;charset=utf-8 | Запрос и ответ |
Content-Version | Поле заголовка Content-Version содержит информацию о текущей версии HTTP объекта (обычно не реализуется) | Запрос и ответ | |
Derived-From | Поле заголовка Derived-From это аналог Content-Version (обычно не реализуется) | Запрос и ответ | |
Expires | Поле заголовка Expires содержит дату и время того момента, когда информация HTTP объекта перестанет быть актуальной | Expires: Tue, 31 Jan 2012 15:02:53 GMT | Запрос и ответ |
Last-Modified | Поле заголовка Last-Modified содержит дату последней модификации HTTP объекта | Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT | Запрос и ответ |
Link | Поле заголовка Link указывает на логически связный с сущностью ресурс (обычно не реализуется) | Запрос и ответ | |
Title | Поле заголовка Title содержит заголовок объекта | Запрос и ответ |
Не забывайте делиться своим мнением в комментариях и оставлять отзывы, это поможет сделать нашу работу лучше, с уважением ZametkiNaPolyah.ru!
Pingback: Sticks
Скорее всего более подробно про поля заголовка HTTP я уже писать не буду, так как это не совсем целесообразно. В стандарте есть подробное описание.
Pingback: Irk38