Содержание

Коды ответов сервера — подробное описание

Как проверить код ответа сервера и понять его значение. Подробный перечень частых ошибок HTTP с пояснениями.

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


На код ответа сервера обращают внимание поисковые боты и браузеры.

Как проверить код ответа сервера


Посмотреть код ответа на странице можно бесплатно за пару кликов. В браузере информация находится на панели разработчика: в Google Chrome для вызовите панель горячей клавишей F12, откройте вкладку Network и обновите страницу.

Результаты просмотра кода в браузере


Для просмотра кода есть браузерные расширения:
HTTP Headers для Google Chrome, HTTP Header для Opera.


Инструмент в Яндекс.Вебмастере покажет код статуса HTTP.

Результаты проверки инструментом


Инструмент
проверки заголовков сервера от PR-CY определит HTTP статусы сайта и доменного имени.

Результаты проверки инструментом

Значения кодов ответов сервера


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


Принадлежность кода к группе определяется по первой цифре:

  • 1— — информационный код, отвечающий за передачу данных.

    Такие коды временны и показывают, что запрос принят и обрабатывается.
  • 2— — код успешной обработки запроса.

    Сервис получил и обработал запрос.
  • 3— — код редиректа.

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

    Ошибка на стороне клиента. Возможно, пользователь что-то сделал неправильно, и поэтому запрос не может быть успешно обработан.
  • 5— — серверная ошибка.

    По какой-то внутренней причине сервер не может выполнить пользовательский запрос.


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

Информационные коды


Коды этой группы информируют о том, что сервер принял запрос и будет его обрабатывать.

100 Continue


Сервер принял запрос и удовлетворен начальными сведениями. Процесс обработки будет продолжен.

101 Switching Protocols


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

102 Processing


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

Коды успешной обработки запроса


Коды группы сигнализируют о том, что запрос принят и успешно обработан.

200 ОК


Это один из самых популярных ответов, он означает, что запрос принят и успешно обработан, страница открыта и доступна к просмотру. Все страницы, которые будут проиндексированы, должны отдавать код 200 ОК.

201 Created


Ответ означает, что сервер принял запрос, обработал и создал новый ресурс. Код можно увидеть, к примеру, если пользователь создал новую страницу. Если новый ресурс создать невозможно, или он перестанет существовать к тому времени, когда клиент получит сообщение, то сервер отдаст код 202 Accepted.

202 Accepted


Сервер принял запрос, но не завершил его обработку. Запрос можно отклонить, поскольку на его выполнение может потребоваться слишком много времени.


203 Non-Authoritative Information


Код ответа 203 означает, что операция прошла успешно, но от кода 200 он отличается указанием источника информации. Данные получены не из первоисточника, а с другого сервера или резервной копии. Возможно, информация устарела, о чем и предупреждает код ответа.


204 No Content


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


205 Reset Content


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


206 Partial Reset


Этот код обычно используют инструменты кэширования. Сервер в ответе возвращает только часть контента страницы, которую и запрашивает пользователь.


207 Multi-Status


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


226 IM Used


Сервер успешно завершил операцию: принял заголовок A-IM и вернул содержимое с учетом указанных параметров.

Коды редиректов


Класс кодов показывает, что для успешного выполнения запроса клиенту нужно совершить переход, то есть редирект.

300 Multiple Choices


Робот не может проиндексировать страницу, поскольку не может сопоставить ресурс и URL. Частая причина — ресурс перемещен на другой адрес. Сервер предлагает клиенту выбор альтернатив для перехода. Для успешной индексации нужно либо правильно указать ресурс, либо поправить заголовки.

301 Moved Permanently


Если у проиндексированной страницы изменился адрес, то со старого URL на новый настраивают 301 редирект. Код ответа показывает, что запрашиваемый документ был навсегда перенесен на другой URL, куда пользователя перенаправляет ссылка. Робот проиндексирует страницу, на которую ведет редирект, и склеит исходный адрес и новый.

302 Found


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


Страница остается в индексе, ссылочный вес продолжает передаваться.

303 See Other


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


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

304 Not Modified


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

305 Use Proxy


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

307 Temporary Redirect


Код 307 похож на 302, но дает более конкретный ответ. Код означает, что ресурс, который требует клиент, на время переведен на другой адрес, а новый URL нужно прописать в Location.

Коды ошибок клиента


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

400 Bad Request


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

401 Unauthorized


Информация доступна только зарегистрированным пользователям или запаролена. Если пользователь не авторизовался, доступ к странице невозможен.

403 Forbidden


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


Если пользователю www-data, под которым запущен сервер, закрыт доступ к чтению файла, поможет команда sudo chmod o=r /usr/share/nginx/html/index.html


Еще одна причина — пользователь обратился к закрытому каталогу, в котором нет индексного файла. Разрешение на просмотр каталога включается в настройках сервера.

404 Not Found


Серверу не удалось найти ресурс, который запрашивает пользователь, документа по этому адресу не существует.


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

Код ответа 404 Not Found


Ссылки на удаленные разделы сайта будут возвращать код 404. На такие документы не нужно тратить краулинговый бюджет, поэтому в файле robots.txt запрещают роботу посещение и индексацию таких страниц.

405 Method Not Allowed


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

406 Not Acceptable


Код ответа означает, что запрашиваемый файл существует, запрос сформулирован верно, но кодировка документа недоступна для расшифровки роботом.


407 Proxy Authentication Required


Этот код похож на 401 и 407, он используется, если вопрос корректен, но клиент может получить доступ к документу только с помощью авторизации через прокси. Клиент авторизуется, если прокси вернет поле с заголовком proxy-authenticate.


408 Request Timeout


Сервер возвращает этот код ответа, если в установленное время ожидания клиент не сделал ни один запрос. Код 408 не возвращается, если пользователь сам отменил запрос, или соединение оборвалось, а отправить ответ нет возможности.


409 Conflict


Код означает, что в системе конфликт: к примеру, пользователь загружает файл на сервер, где уже есть такой файл в новой версии.


410 Gone


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


411 Length Required


Сервер не может принять и обработать запрос, если в заголовке content-length не указана длина контента.


413 Request Entity Too Large


Если в теле запроса слишком большой объем информации и сервер не может обработать такой большой запрос, то он возвращает код ошибки 413. Если это временная проблема, в поле Retry-After сервер укажет время, которое нужно подождать.


414 Request-URL Too Long


Аналогично с кодом 413, за исключением того, что 414 код отображается, если в запросе указан слишком длинный URL.


422 Unprocessable Entity


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


424 Failed Dependency


Если выполнение этой операции зависит от исхода других связанных с ней операций, сервер вернет этот запрос.


429 Too Many Requests


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


431 Request Header Fields Too Large


Если в запросе указаны слишком большие поля заголовков, сервер не сможет справиться с таким запросом и вернет код ошибки 431.


451 Unavailable For Legal Reasons


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


418 I’m a teapot


Это забавный код, возвращающий ошибку «Я чайник», связан с гипертекстовым протоколом управления кофеваркой — Hyper Text Coffee Pot Control Protocol. Ошибка означает, что запрос некорректен, с помощью чайника нельзя приготовить кофе. Протокол и код этой ошибки были созданы в шутку в 1998 году к 1 апреля.


Код 418 I’m a teapot

Коды ошибок сервера

Коды этой группы обозначают ошибки на стороне сервера.


500 Internal Server Error


Код обозначает, что сервер не может обработать запрос по причине внутренних ошибок. Обычно проблема в настройке сервера, обращении к некорректному файлу .htaccess или пакету PHP, который не установлен.


501 Not Implemented


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


502 Bad Gateway


За обработку запроса отвечают бэкенд серверы, которые передают данные прокси-серверу или шлюзу. Если запрос был направлен к такому шлюзу, который не получил ответ от бэкенда, сервер вернет 502 код. Для исправления нужно проверить настройку прокси-сервера.


503 Service Unavailable


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


504 Gateway Timeout


Код похож на 502, но ошибка 504 означает, что истек срок ожидания ответа от сервера. Необходимое количество времени истекло, а ответ от бэкенд-сервера не пришел.


Причина может быть в сетевом соединении, недостатке ресурсов, версии протокола HTTP или настройке сервера, если выставлен слишком короткий таймаут.


506 Variant Also Negotiates


Код ответа 506 означает, что сервер настроен некорректно: ошибка в конфигурации зацикливает обращение сервера, и он указывает сам на себя.


507 Insufficient Storage


Если сервер загружен настолько, что для выполнения запроса не хватает памяти, он вернет ошибку 507. Это бывает, если на сервере нет места для данных в принимаемом запросе.


510 Not Extended


Код 510 возвращается в случае, если сервер не поддерживает расширение, которое указано в запросе. В этом же ответе сервер может указать, какие расширения доступны.


511 Network Authentication Required


Эта ошибка возвращается клиенту, если пользователь не авторизовался в сети. К примеру, если он не согласился на условия использования интернета, когда подключался к wi-fi, или не ввел пароль.



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

HTTP коды ответов сервера 200 ОК, 404, 301, 302, 304, 500

СОДЕРЖАНИЕ

Какие бывают http ответы сервера (сайта, страницы)?

Ответ сервера 1XX

Ответ сервера 200

Ответ сервера 301

Ответ сервера 302

Ответ сервера 404

Ответ сервера 500

Ответ сервера 502

Ответ сервера 550

Как получить коды ответа сервера (страницы) через Яндекс

Как еще узнать коды ответа сервера (сайта)?

Массовая проверка ответов сервера (сайта) онлайн

Как проверить скорость (время) ответа сервера сайта?

Долгий ответ сервера

Какое должно быть время ответа сервера?

Сокращение ответа сервера

Какие бывают http ответы сервера (сайта, страницы)?

Коды ответа http сервера (англ. HTTP status code) являются частью первой строки ответа сервера. Он представляет собой целое трехзначное число, первая цифра которого указывает на класс состояния. Вместе с кодом ответа выдается короткая англоязычная подсказка. Продвижение сайтов в сети интернет невозможно без знания ответов сервера.

Пример:

404 Not found

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

На сегодняшний день выделено 5 основных классов кода ответа:

1xx: Informational (рус. Информационный) — запрос правильно воспринят, но его обработка не завершена.

2xx: Success (рус. Успешно) — запрос правильно воспринят и успешно обработан.

3xx: Redirection (рус. Перенаправление) — коды переадресации на другие страницы.

4xx: Client Error (рус. Ошибка клиента) — ошибка со стороны клиента.

5xx: Server Error (рус. Ошибка сервера) — ошибка со стороны сервера.

А теперь давайте по отдельности разберем некоторые коды состояния IANA.

Ответ сервера 1XX

100 Continue Server Code

100 Continue сообщает, что связь с сервером уже установлена, сервер принял корректный запрос и теперь ведется обмен данными между сервером и клиентом. Данный код является временным, т.е. за ним всегда следует другой. Код 100 является внутренним и не относится к ошибочным. Т.е. «дверь открыта, читай что нужно, как закончишь – закрой». Код 100 может и не генерироваться, если пользователь уже получил часть данных от сервера.

101 Switching Protocols

Данный код так же не является ошибочным. Генерируется при переключении с одного протокола на другой. Например, при запросе переключения со старой версии HTTP на более новую.

Это, один из самых простых серверных кодов. Он означает, что со стороны пользователя поступил запрос на переключение типа протокола, используемого на веб-сервере, и сервер дал согласие на это.

102 Processing

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

Ответ сервера 200 ОК

По праву занимает самое первое место по важности и популярности, т.к. именно его отдает сервер в случае успешной и правильной обработки запроса пользователя.

Ответ сервера 301

Также является одним из распространенных кодов ответа. Он сообщает, что запрашиваемая страница по данному адресу более не доступна, а затем происходит перенаправление на другой адрес. 301 редирект может применяться, например, при «переезде» сайта с протокола HTTP на HTTPS (обычно это реализуется через файл .htaccess, доступный на серверах Apache).

Ответ сервера 302

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

Ответ сервера 404

Вот уж что-что, а ошибку ответа сервера 404 не видели только те, кто еще не родился и те, кто умер до создания интернета. Данный код сообщает о том, что запрашиваемый документ по каким-то причинам на сайте отсутствует. Код ошибки ответа сервера 404 должен отдаваться только в том случае, если по указанному пользователем адресу документа никогда не было. Если документ ранее был доступен по этому адресу, а потом его удалили с сайта, то сервер должен отдавать код 410, а не 404.

Фейковые страницы 404

Большинство вебмастеров не обращает на 404-тые страницы никакого внимания, однако, это может серьезно навредить ранжированию сайта. Парадокс, но страница с сообщением 404 File Not Found далеко не всегда отдает код 404. Такие страницы принято называть «Soft 404». Причины возникновения просты – по каким-то причинам страница отдает код, отличный от 404 и 410 – например, 200. Такое вполне возможно, если страница уже создана, но контента на ней пока нет.

Ответ сервера 500

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

500 Internal Server Error

Код 500 отдается в случае любой внутренней ошибки сервера, за исключением остальных ошибок 5хх класса. Такая ошибка может быть отдана в том случае, когда ссылка генерируется на сервере непосредственно в момент запроса. Простейший пример – внутренний поиск по сайту: физически никакого документа по запрашиваемой ссылке нет.

Ответ сервера 502

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

Ответ сервера 550

При возникновении ошибки 550 необходимо проверить насколько корректно прописаны MX-записи, чтобы устранить данные ошибки ответа сервера .

Для проверки необходимо перейти по ссылке (https://www.reg.ru/nettools/dig), затем прописать имя проверяемого домена, а в списке выбрать «MX». Теперь нажимаем Проверить:

На выходе будет представлена таблица.

Необходимо убедиться, что в ней прописаны необходимые записи для работы вашей почты:








Почта

MX-записи

Почта REG.RU на хостинге

mx1.hosting.reg.ru и mx2.hosting.reg.ru

Yandex

mx.yandex.net

Google Apps

aspmx.l.google.com …

Mail.Ru для бизнеса

emx.mail.ru

Расширенная защита от спама

mxs1.reg.ru и mxs2.reg.ru

Почта REG.RU на VPS

mail.domain.ru

ВАЖНО! Смешивание MX-записей недопустимо, т.е. в таблице на выдаче должны быть только те MX-записи, которые нужны именно для вашей почты. При необходимости нужно скорректировать записи, исправив ошибки и/или удалив лишнее.

Как получить коды ответа сервера (страницы) через Яндекс 

Шаг 1. Проверяем код ответа сервера на страницу сайта, которая должна быть в поиске.

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

Теперь переходим в сервис Яндекса (http://webmaster.yandex.ru/server-response.xml), с помощью которого можно посмотреть на сайт глазами робота и проверить скорость ответа сервера в Яндекс панели.

Просто вставляем url-адрес интересующей нас страницы в текстовое поле и нажимаем на кнопку «Проверить». В данном случае мы получили код 200 ОК, свидетельствующий о нормальной работе страницы.

Шаг 2. Проверяем ответ сервера на заведомо несуществующую страницу.

В том же сервисе вводим имя_домена/какая-то_крокозябра

В данном случае мы получили ответ 301 Moved Permanently. Это говорит о том, что адрес страницы указан неверно и происходит переадресация на правильный адрес.

Как еще узнать коды ответа сервера (сайта)?

Mainspy

В качестве альтернативы можно пробить код ответа с помощью сервиса http://mainspy.ru. Работает аналогично сервису Яндекса: вставляем интересующий URL и жмем «Проверить». Код ответа в данном случае находится в самой первой строке:

Bertal

Bertal, в отличие от Mainspy, позволяет взглянуть на страницу не только глазами Яндекс-бота, но и глазами поисковых роботов Bing и Google, а в качестве бонуса – может эмулировать популярные браузеры. Для удобства взглянем на те же страницы глазами GoogleBot. В данном случае код ответа подсвечен зеленым.

Массовая проверка ответов сервера (сайта) онлайн 

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

Dimax.biz — http://backlinks-checker.dimax.biz/tools/proverka_otveta_servera.php – это один из лучших чекеров. Единственный минус – в бесплатном режиме можно делать не более 2 запросов по 50 ссылок каждый. Для более «серьезных» объемов придется воспользоваться платным PRO-тарифом. На выходе мы получаем список, отсортированных по коду ответа. В данном случае в сортировке нет необходимости, т.к. в списке всего 2 адреса, и оба отдают код 200.

Urlitor

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

Как проверить скорость (время) ответа сервера сайта?

Сколько таких сервисов уже развелось – не пересчитать. Рассмотрим некоторые из них.

Pingdom

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

Which Loads Faster

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

Google PageSpeed Insights

Google PageSpeed Insights так же является одним из самых мощных инструментов для измерения скорости работы мобильной и десктопной версии. Оценка производится по 100-бальной шкале. 85 баллов и более – это хороший показатель. Плюс бонусом он выдает рекомендации по улучшению.

Долгий ответ сервера

Ответ, длительность которого составляет больше, чем полсекунды, принято называть «долгим». Поэтому, при длительной загрузке сайте вы можете видеть сообщение в браузере «превышено время ожидания ответа от сервера». Причин долгого ответа может быть уйма:

— сложная логика предоставления данных

— сервер не успевает своевременно обрабатывать поступающие запросы из-за их большого количества

— сами запросы (либо сложные, либо неоптимизированные, либо и то и другое)

— запросы к большому количеству внешних ресурсов

— большое количество исполняемых файлов

— сам веб-сервер долго обрабатывает запрос.

Самые «больные» места производительности сервера:

Используемый веб-сервер (Apache, IIS). 

Ряд веб-серверов даже при выдаче статических файлов могут создавать задержки, т.к. они на архитектурном уровне не предназначены для обработки большого количества запросов и из-за этого может быть сообщения что превышено время ожидания ответа от сервера. Поэтому для нормальной работы веб-сервера имеет смысл использовать nginx (причем в связке с Apache, php-fpm, а также остальными серверами приложений для обработки серверных вычислений).

Использование OpCache.

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

Запросы к базе данных.

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

Сложная логика обработки данных. 

Третий шаг – упрощение серверной логики. По сути, это просто устранение ненужных операций и профилирование времени выполнения серверных скриптов.

Обращение к сторонним сервисам. 

Прописанные в коде серверных скриптов запросы к сторонним сервисам – это «обычная история», способная преподнести множество сюрпризов, поскольку производительность сервисов, откуда запрашиваются данные, практически никогда и никем не проверяется. А ведь время ответа стороннего сервиса напрямую влияет на время ответа сервера. Поэтому лучше всего в серверных запросах использовать только внутренние источники, которые в любой момент можно проконтролировать на качество производительности, либо в отложенном режиме запросить данные на клиентской.

Почему скорость ответа веб сервера влияет на продвижение.

Во-первых, потому что скорость загрузки является одним из факторов ранжирования (хоть и не решающим). Google открыто заявляет, что по скорости показа страниц ранжируется менее 1% сайтов. НО…

Во-вторых, если страница слишком долго грузится — пользователь ее просто закроет. Такое поведение пользователя принято называть «отказом». К слову, «отказы» оказывают прямое влияние на позиции в поисковой выдаче. Чем выше скорость загрузки – тем ниже процент отказов и, как следствие, тем выше позиции.

Превышено время ожидания ответа от сервера.

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

Основных же причин сбоя может несколько:


  • Невозможно подключиться к сайту из-за нестабильной работы его серверов;

  • Сбитые настройки браузера либо его захламленность;
  • Проблемы с подключением к интернету со стороны пользователя;

  • Ресурс заблокирован.

Что делать для решения?

Если сбой единичен – перезагружаем страницу с помощью комбинации Ctrl+F5. Возможно, потребуется перезагрузить страницу несколько раз. Если не помогло – проверяем подключение к интернету.

Настройки Сети.

1. Некоторые сайты иногда «капризничают». Для динамического IP решение будет простым – перезагрузить роутер через отключение питания.

2. Медленное соединение иногда провоцирует ошибку ERR_CONNECTION_TIMED_OUT. Скорость работы интернета можно проверить через Яндекс-интернетометр. Если скорость слишком низкая – следует обратиться к интернет-провайдеру.

3. Необходимо проверить «Свойства сети» на наличие посторонних DNS-адресов. Если такие адреса имеются – удалить (предварительно на всякий случай переписав их куда-нибудь) и проверить систему на вирусы с помощью установленного на ПК антивирусного ПО – NOD32, Kaspersky, AdwCleaner, MalwareBytes, Dr.Web и т.д. Лучше всего для этих целей использовать Live-загрузчики.

4. Проверить настройки самого роутера. Наиболее часто сбивается параметр MTU. Универсальных рекомендаций по настройке роутера дать невозможно, т.к. это напрямую зависит и от модели роутера, и от интернет-провайдера. Обычно MTU имеет значения 1500, 1460, 1476.

Какое должно быть время ответа сервера?

И сразу же конкретные цифры:

— самая высокая конверсия у страниц, которые полностью загружаются за 1,8 и 2,7 секунды для десктопной и мобильной версий соответственно

— самый низкий показатель отказов у страниц, которые полностью загружаются за 1 и 0.7 секунды для десктопной и мобильной версий соответственно

Данные цифры позаимствованы из исследования Akamai Technologies.

Итак, Вы проверили сайт на скорость загрузки. Но как реагировать на результаты?

  • <1 секунды – идеал

  • 1-2 секунды – почти идеал

  • 3-5 секунд – сносно, но имеет смысл допилить

  • 5-10 секунд – плохо, нужно срочно допиливать

  • ≥10 секунд – очень плохо, нужно ЭКСТРЕННО допиливать

Однако, нельзя забывать одно ультраважное правило – скорость загрузки должна быть выше, чем у конкурентов. Исследования The New York Times доказали, что разницы в 0,25 секунды может быть достаточно для того, чтоб посетители предпочли более быстрый сайт. И глазом моргнуть не успеете (в самом прямом смысле), как пользователь уйдет от Вас к конкуренту.

Сокращение ответа сервера

Оптимизация графики.

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

Упростить код.

В тех же рекомендациях будет сказано, где и насколько можно подрезать коды HTML, CSS и JavaScript. Например, убрать лишние пробелы, комментарии от создателей кода, и т.д.

Использовать кеш браузера.

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

Включить сжатие.

Актуально, если используется gzip. В итоге объем данных сокращается раза в 4, а то и в 5. Чем меньше объем передаваемых данных – тем меньше времени занимает их передача.  

Сократить время ответа сервера.

С помощью сервиса Pingdom можно вычислить, сколько времени требуется серверу для того, чтоб отдать код ответа. Идеальное время – не более 0,2 секунды.

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

Ответы сервера — подробная инструкция

Роботы поисковых систем при проверке страницы вначале смотрят на код ответа сервера, а затем уже приступают к проверке содержимого документа. Например, несуществующие страницы всегда должны отдавать 404 код. Почему? Google утверждает, что страницы с кодом ответа, отличным от 404 и 410, будут сканироваться. Так что, если вы не знаете, какие коды отдают страницы вашего сайта и как это проверить, то ставите под угрозу будущее всего проекта.

О том, что означают коды ответов сервера, — в новом выпуске «Азбуки SEO».

Что такое «код ответа сервера»

Это трехзначное число, которое отдает сервер на запрос посетителя и благодаря которому корректируется дальнейшая обработка запрашиваемого документа. За числом всегда идет краткое пояснение кода на английском языке, отделенное пробелом, — первичная инструкция клиенту при посещении страницы или документа сайта.

Код ответа сервера при обращении к странице в первую очередь проверяют и браузеры, и роботы поисковых систем.

Как проверить код ответа сервера

Чтобы увидеть код при работе в Google Chrome, воспользуйтесь вкладкой Network на панели инструментов разработчика (чтобы попасть туда, нажмите F12). После открытия панели обновите страницу.

Также можно использовать расширение HTTP Headers для Chrome. С их помощью можно в один клик получить информацию по отдельным страницам. А для массовой проверки по списку URL можно использовать Netpeak Spider, Netpeak Checker или онлайн-инструмент Urlitor (анализ до 150 URL-адресов).

Что такое «классы состояния»

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

Выделяют пять классов:

  1. 1xx — информационные коды. Они отвечают за процесс передачи данных. Это временные коды, они информируют о том, что запрос принят и обработка будет продолжаться.
  2. 2xx — успешная обработка. Запрос был получен и успешно обработан сервером.
  3. 3xx — перенаправление (редирект). Эти ответы сервера гласят, что нужно предпринять дальнейшие действия для выполнения запроса. Например, сделать запрос по другому адресу.
  4. 4xx — ошибка пользователя. Это значит, что запрос не может быть выполнен по его вине.
  5. 5xx — ошибка сервера. Эти коды возникают из-за ошибок на стороне сервера. В данном случае пользователь всё сделал правильно, но сервер не может выполнить запрос. Для кодов этого класса сервер обязательно показывает сообщение, что не может обработать запрос и по какой причине.

{«0»:{«lid»:»1573230077755″,»ls»:»10″,»loff»:»»,»li_type»:»em»,»li_name»:»email»,»li_ph»:»Email»,»li_req»:»y»,»li_nm»:»email»},»1″:{«lid»:»1596820612019″,»ls»:»20″,»loff»:»»,»li_type»:»hd»,»li_name»:»country_code»,»li_nm»:»country_code»}}

Истории бизнеса и полезные фишки

Основные ответы сервера

200 ОК

Самый популярный и важный статус. Означает, что запрос выполнен успешно в соответствии с ожиданиями пользователя — запрошенные данные или страница существуют и доступны для просмотра. Все страницы, которые мы хотим видеть в индексе поисковых систем, должны отдавать код 200 OK.

301 Moved Permanently

Этот ответ гласит, что документ или страница были перемещены на другой адрес навсегда. Если у страницы, которая уже была в выдаче поисковых систем, изменился адрес, для сохранения трафика и ссылочного веса рекомендуется настраивать 301 редирект со старого URL-адреса на новый. В конечном итоге поисковик «склеит» эти адреса.

302 Found

Документ временно перенесен на другой адрес. Этот код — сигнал о том, что удалять эту страницу из индекса не надо. По заявлению Gary Illyes из Google, ссылочный вес при этом передается.

304 Not Modified

Важный код с точки зрения нагрузки на сервер и количества передаваемых данных. Сервер возвращает 304 код, если в HTTP-заголовке дата последнего обновления (Last-Modified) старее, чем в запросе с заголовком If-Modified-Since. То есть, если документ не менялся с указанной даты, сервер возвращает код 304 Not Modified. В таком случае роботам поисковиков нет необходимости загружать документ повторно: он не изменился с момента их последнего визита. Фактически они получают только http-заголовки и двигаются дальше.

403 Forbidden

Отказано в доступе. Этот ответ возвращается, если пользователю запрещен доступ к данному документу. В данном случае речь не идет об HTTP-аутентификации (для таких случаев используются 401 и 407 коды). 403 код выводится, например, при входе с запрещенных IP или попытке просмотра системного файла .htaccess.

404 Not Found

Наверное, каждый пользователь сталкивался с этим ответом. Он означает, что по данному URL ничего не найдено — документ не существует. Этот код нужно отдавать при попытке попасть на несуществующие документы. Если страница по запрашиваемому адресу существовала, но была удалена и вы хотите об этом сообщить, используйте код 410.

Страница с сообщением 404 File Not Found не всегда отдает код 404. Многие вебмастера не уделяют этому внимание, что в результате может негативно сказаться на ранжирования всего сайта. Это так называемые страницы «Soft 404». Они возникают, если несуществующая страница отдает код ответа, отличный от 404 и 410. К «Soft 404» могут быть причислены страницы, которые должны отдавать код 200, но на них нет контента (пустая страница). Решение вопроса — найти такие страницы и обязательно настроить для них 404 код.

В искусстве оформления 404 страниц многие преуспели. Отвлекитесь и зацените:

Смотрите также другие интересные примеры дизайна страниц с 404 ошибкой.

410 Gone

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

451 Unavailable For Legal Reasons

В последнее время этот код встречается все чаще. Он означает, что доступ к серверу закрыт из-за его запрета на государственном уровне или по решению суда в случае нарушения авторских прав. Ошибка 451 — уточняющий вариант кода 403.

500 Internal Server Error

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

503 Service Unavailable

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

504 Gateway Timeout

Шлюз не отвечает. Ответ появляется, если сервер работал в качестве прокси и не дождался ответа от вышестоящего сервера для завершения запроса.

Для предотвращения появления страниц в индексе поисковых систем рекомендуется использовать на странице метатег robots с атрибутом noindex: <meta name=»robots» content=»noindex»>.

Если необходимо удалить документ из результатов поиска, можно настроить 404 или 410 код. При использовании метатега noindex страница будет регулярно повторно сканироваться, а при использовании кода ответа 410 роботы сочтут, что страницы больше нет и её сканировать не нужно.

Выводы

  1. Существуют пять групп кодов ответа сервера — классы состояния, указывающие на разные этапы процесса передачи данных: от успешной обработки до ошибки сервера.
  2. Все страницы, которые мы хотим видеть в индексе поисковых систем, должны отдавать код 200 OK.
  3. Если у страницы, которая уже была в выдаче поисковых систем, изменился адрес, рекомендуется настраивать 301 редирект со старого URL-адреса на новый.
  4. Если несуществующая страница отдает код ответа, отличный от 404 и 410, возникает ошибка страниц «Soft 404». К ним могут быть причислены страницы, которые должны отдавать код 200, но на них нет контента.

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

Напоследок вопрос на общую эрудицию: почему для ответа сервера Unavailable For Legal Reasons выбрали число 451?

Код ответа сервера, коды ответов HTTP

Код ответа сервера — информация, возвращаемая клиенту, выполнившему HTTP запрос к  серверу, доступному в сети. Запрос выполняется к определенному серверу и определенному порту. Если рассматривать веб-сервер, обращение идет по IP адресу на порт 80 или 443 (в зависимости от протокола: http или https).

Запросы бывают различных типов, запросы на получение данных — это обычно GET. HEAD запросы предназначены для того чтобы получить только заголовки.

 

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

Проверка ответа сервера  — telnet

telnet 123.123.123.123 80

Trying ::1…
Connected to localhost.
Escape character is ‘^]’.

 

GET / HTTP/1.1

Host: example.com

 

Теперь дважды нужно нажать Enter на клавиатуре

В консоль будет выведен HTTP ответ — в нем интерес представляет первая строка, а которой и содержится нужная информация

 

HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Thu, 01 Mar 2018 16:26:59 GMT
Content-Type: text/html
Content-Length: 612

 

Код ответа 200 говорит о том, что ответ нормальный и сервер успешно отдал запрашиваемый клиентом контент.

Проверка ответа сервера — curl

curl лучше всего использовать с ключем -I, в этом случае отдаваться будут только заголовки без содержимого страницы, что и требуется. Запросим домен server-gu.ru

curl -I server-gu.ru

HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.3
Date: Thu, 01 Mar 2018 16:46:19 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: https://server-gu.ru/

 

Если выполнить запрос к сайту с https ответ будет 200.

curl -I https://server-gu.ru

 

Коды ответа сервера, которые можно встретить чаще всего:
  • 200 — запрос успешно обработан
  • 301 — постоянный редирект на другой домен
  • 302 — некэширующийся редирект (подробнее о различиях)
  • 404 — страница не найдена
  • 403 — доступ запрещен
  • 500 — ошибка сервера, вызванная неверной настройкой (подробнее)
  • 502 — ошибка сервера, вызванная отсутствием ответа от бэкенда (подробнее)

 

Все коды, начинающиеся на 2хх означают, что запрос успешно обработан, на 3хх, что выполняется переадресация,  на 4хх — произошла ошибка на стороне клиента, на 5хх — произошла ошибка на стороне сервера.

 

Проверить код ответа сервера также можно воспользовавшись специализированным инструментом. Он проверяет кэширование данных, но в выводе присутствует также код ответа.

Полный список кодов ответов HTTP, классы и описание | Клуб разработки сайтов

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

Классы кодов ответа HTTP

Всего есть 5 классов

Класс 1хх – информационные коды ответа HTTP.

100 Continue — сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.
101 Switching Protocols — сервер предлагает перейти на более подходящий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовка Update. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. Появился в HTTP/1.1.
102 Processing — запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.

Класс 2xx коды HTTP – успешно

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

200 OK — успешный запрос.
202 Accepted — запрос был принят на обработку, но она не завершена.
203 Non-Authoritative Information — аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. Появился в HTTP/1.1.
204 No Content — сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.
205 Reset Content — сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в HTTP/1.1.
206 Partial Content — сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. Появился в HTTP/1.1. (подробнее…)
207 Multi-Status — сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из-за бессмысленности и избыточности. Появился в WebDAV.
226 IM Used — заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.

Класс 3хх коды HTTP – перенаправление

Ответы HTTP начинающиеся на 3хх говорят о перенаправлении.

300 Multiple Choices («множество выборов»)
301 Moved Permanently («перемещено навсегда»)
302 Moved Temporarily («перемещено временно»)
302 Found («найдено»)
303 See Other (смотреть другое)
304 Not Modified (не изменялось)
305 Use Proxy («использовать прокси»)
306 — зарезервировано (код использовался только в ранних спецификациях)
307 Temporary Redirect («временное перенаправление»)

Класс 4хх ответы HTTP – ошибки клиента

4xx: Client Error (ошибка клиента)
400 Bad Request («плохой, неверный запрос»)
401 Unauthorized («не авторизован»)
402 Payment Required («необходима оплата»)
403 Forbidden («запрещено»)
404 Not Found («не найдено»)
405 Method Not Allowed («метод не поддерживается»)
406 Not Acceptable («неприемлемо»)
407 Proxy Authentication Required («необходима аутентификация прокси»)
408 Request Timeout («истекло время ожидания»)
409 Conflict («конфликт»)
410 Gone («удалён»)
411 Length Required («необходима длина»)
412 Precondition Failed («условие ложно»)
413 Request Entity Too Large («размер запроса слишком велик»)
414 Request-URI Too Large («запрашиваемый URI слишком длинный»)
415 Unsupported Media Type («неподдерживаемый тип данных»)
416 Requested Range Not Satisfiable («запрашиваемый диапазон не достижим»)
417 Expectation Failed («ожидаемое неприемлемо»)
422 Unprocessable Entity («необрабатываемый экземпляр»)
423 Locked («заблокировано»)
424 Failed Dependency («невыполненная зависимость»)
425 Unordered Collection («неупорядоченный набор»)
426 Upgrade Required («необходимо обновление»)
428 Precondition Required («необходимо предусловие»)
429 Too Many Requests («слишком много запросов»)
431 Request Header Fields Too Large («поля заголовка запроса слишком большие»)
434 Requested host unavailable. («Запрашиваемый адрес недоступен»)
444 Закрывает соединение без передачи заголовка ответа. Нестандартный код
449 Retry With («повторить с»)
451 Unavailable For Legal Reasons («недоступно по юридическим причинам»)

Класс 5хх ответы HTTP – внутренние ошибки сервера

500 Internal Server Error («внутренняя ошибка сервера»)
501 Not Implemented («не реализовано»)
502 Bad Gateway («плохой, ошибочный шлюз»)
503 Service Unavailable («сервис недоступен»)
504 Gateway Timeout («шлюз не отвечает»)
505 HTTP Version Not Supported («версия HTTP не поддерживается»)
506 Variant Also Negotiates («вариант тоже проводит согласование»)
507 Insufficient Storage («переполнение хранилища»)
508 Loop Detected («обнаружено бесконечное перенаправление»)
509 Bandwidth Limit Exceeded («исчерпана пропускная ширина канала»).
510 Not Extended («не расширено»).
511 Network Authentication Required «требуется сетевая аутентификация»

Коды ошибок и состояния HTTP

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

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

  • 100-199: информационный статус;
  • 200-299: статус успешного запроса;
  • 300-399: статус редиректа;
  • 400-499: ошибки клиента;
  • 500-599: ошибки сервера.

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

HTTP код 200 возникает, когда сервер успешно обработал запрос и передал контент обратно в браузер. Большинство HTTP-запросов завершается этим статусом. Пользователи редко видят этот код на экране, поскольку браузеры обычно отображают коды HTTP, если возникает какая-либо проблема.

Сервер не смог найти запрошенную страницу, файл или другой ресурс. Ошибка HTTP 404 указывает на то, что сетевое соединение между клиентом и сервером было успешно выполнено. Возникает, когда пользователь ввел в браузере неправильный URI, или администратор сервера удалил файл, не настроив редирект на новое местоположение. Чтобы устранить эту проблему, пользователи должны набрать правильный URL-адрес.

Сервер получил от клиента действительный запрос, но не смог обработать его. Ошибка HTTP 500 возникает, когда сервер сталкивается с каким-либо техническим сбоем. Например, нехваткой памяти или дискового пространства. Администратор сервера должен исправить эту проблему.

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

Указанный клиентом URI был перемещен в другое место с помощью HTTP-редиректа, который позволяет клиенту получить ресурс с нового местоположения. Браузеры автоматически следуют HTTP-редиректу 301 без необходимости вмешательства со стороны пользователя.

HTTP код 302 предназначен для случаев, когда ресурс перемещен временно, а не постоянно. Администратор сервера должен использовать HTTP 302 только в течение коротких периодов обновления (изменения) контента. Браузеры автоматически выполняют редирект 302, как и для кода 301. В версии HTTP 1.1 для указания временных редиректов был добавлен новый код 307.

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

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

Добавленный в версию 1.1 протокола код HTTP ответа 100 был разработан для более эффективного использования пропускной способности сети. Он позволяет серверам подтверждать готовность принимать большие запросы. Протокол Continue позволяет клиенту HTTP 1.1 отправлять небольшое специально сконфигурированное сообщение, запрашивающее ответ сервера с кодом 100, а затем дожидаться ответа до отправки запроса на дальнейшие действия. Клиенты и серверы HTTP 1.0 не используют этот код.

Сервер отправил ответ на запрос клиента, который содержит только информацию заголовка (то есть не содержит тела сообщения). Клиенты могут использовать HTTP код 204 для более эффективной обработки ответов сервера, избегая, например, ненужного обновления страниц.

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

Данная публикация представляет собой перевод статьи «HTTP Error and Status Codes Explained» , подготовленной дружной командой проекта Интернет-технологии.ру

телеграм канал. Подпишись, будет полезно!

Список кодов состояния HTTP + их значение для SEO

Довольно часто вы можете столкнуться с такими ошибками, как 404 и 301, но есть много кодов статуса HTTP, с которыми вы, вероятно, не знакомы.

Некоторые из них напрямую связаны с сервером или с клиентом, а некоторые уже не актуальны, поэтому вы вряд ли увидите их в реальной жизни, но ради интереса и базовых знаний их можно исследовать.

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

 

 

1xx информационные коды

 

100 Continue Server Code (Продолжение кода сервера)
Код 100 Continue обозначает «нормальную работу». Он указывает, что пользователь сделал качественный запрос, и сервер начал его обрабатывать. Это временный код статуса HTTP, появляющийся лишь в тех отдельных случаях, когда пользователь ожидает окончательный ответ со стороны сервера. Он возникает только после отправки последнего пакета данных.

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

 

101 Switching Protocols (Переключение протоколов)
Вероятно, это один из простейших кодов сервера. Он означает, что пользователь попросил переключить используемый тип протокола, и веб-сервер согласился на такой шаг.
Когда вы можете его применить? Если осуществляется переход на новую версию HTTP из старой версии протокола. Такой запрос будет выполняться только в том случае, если существует более подходящий протокол (другими словами, если есть более новая версия HTTP).

 

102 Processing (Обработка)
Поскольку запрос WebDAV (протокол передачи), кроме основного запроса может включать и ряд других подзапросов, подразумевая также и файловые операции, то для его выполнения может потребоваться больше времени.
Когда можно использовать этот код? Он создается для того, чтобы уведомить пользователя и обнулить таймер. Дальше будет активировано ожидание следующей директивы в стандартном режиме, поскольку обработка запросов способна затянуться по времени.

 

2xx Success (Успех)

 

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

 

200 OK
Код состояния 200, наверное, является наиболее популярным, но в то же время очень неприметным в плане использования. Он указывает, что передача данных между сервером и пользователем подошла к завершению, и все прошло так, как должно.
Когда этот код нужно использовать? Постоянно!

 

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

 

202 Accepted (Принят)
Текущий запрос был передан в стадию обработки, но в силу объективных факторов является незавершенным. Запрос к серверу может быть не завершенным, это зависит от факта, успешно ли прошла обработка и не отклонили ли его.

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

 

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

Когда применяют подобный ответ сервера? Ним можно заменить 200 код, если отправитель имеет веские основания полагать, что заголовки ответов из внешнего источника отличаются от тех, которые были предоставлены исходным сервером.

 

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

Когда применяется такой код? Он используется в первую очередь, когда вы должны вводить или выполнять любые действия без необходимости в обновлении ресурса (например, страницы).

 

205 Reset Content (Сброс контента)
Код обозначает успешную обработку запроса сервером c отсутствующим возвратом контента. В отличие от 204 кода, этот ответ требует, чтобы документ был обновлен.

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

 

206 Partial Reset (Частичный сброс)
Сервер возвращает только часть контента, которая соответствует заголовку, отправленному клиентом. В основном его используют расширенные инструменты кэширования. Такое бывает, когда пользователь хочет получить лишь небольшую часть контента страницы, а сервер в своем ответе предоставляет данные только для этой части страницы.

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

 

207 Multi-Status (Мультистатус)
Сервер параллельно предоставляет результаты нескольких независимых операций, которые включаются в тело сообщения в виде XML-документа.

 

3xx Редирект

 

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

 

300 Multiple Choices (Множественный выбор)

 

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

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

 

301 Moved Permanently (Удален навсегда)
Это общий запрос пользователя, который означает, что запросы на этот ресурс (а также запросы, которые последуют за ним) следует перенаправить на указанный URL.

Когда он используется? Когда страница потеряна, больше не существует, или линк, ведущий на внешний документ, больше неработоспособен. 301 редирект дает пользователю понять, что запрошенный ресурс переместили. В основном он выполняется с помощью файла .htaccess, который доступен на серверах Apache.

 

302 Found (Найден)
Этот код говорит пользователю, что местоположение запрашиваемого веб-документа было временно изменено, а код состояния 302 включает данные о новом размещении, к которому пользователь может делать запрос.

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

 

303 See Other (Смотреть другой)
Он является индикатором того, что искомый ресурс можно найти по URL-адресу, который отличный от того, что указан в запросе. Это не обязательно значит, что ресурс был перемещен. Этот код только предоставляет адрес, который должен запрашиваться при аналогичном ответе.

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

 

304 Not Modified (Не изменен)
304 означает, что пользователь запрашивает документ / ресурс только тогда, когда он был изменен с момента последних обновлений кеша этого документа.

В каких случаях может применяться этот код? Если ответ сервера сообщает вам, что параметры документа If-Modified-Since или If-Match не изменились со времени генерирования последнего кеша. Тогда нет нужды повторно отправлять ресурс на проверку.

 

305 Use Proxy (Использовать прокси)
305 код дает понять пользователю, что доступ к запрашиваемому ресурсу осуществим только через прокси-сервер, указанный в ответе.
Когда он показывается? Он часто отображается в связи с мерами безопасности и обеспечивает доступ к запрашиваемым URL-адресам.

 

306 Switch Proxy (Переключить прокси)
Изначально он означал, что «последующие запросы должны использовать указанный прокси», но в настоящее время не используется.

 

307 Temporary Redirect (Временный редирект)
Такой код отображается, если открываемый ресурс временно используется для другого URL-адреса, который также содержится в ответе. 307 немного отличается от 302 кода – он является его более конкретной версией.

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

 

4хх Ошибка клиента

Класс ответов 4xx указывает на ошибки на стороне клиента или тот факт, что местоположение никогда (или уже) не существовало.

 

400 Bad Request (Плохой запрос)
Запрос не обрабатывается правильно в связи с синтаксической ошибкой.
Для чего предназначен этот код? Если пользователь делает запрос на информацию, но при этом пренебрегает протокольными правилами передачи гипертекста. Запрос не следует делать повторно без надлежащих перемен в синтаксисе.

 

401 Unauthorized (Неавторизирован)
Он имеет отношение к запросу ресурса, который нуждается в авторизации. Код 401 информирует, что предварительную авторизацию отклонили, поскольку переданные пользовательские данные были неверные.

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

 

402 Payment Required (Требуется оплата)
Этот код сервера забронирован на будущее. Но, изначально предполагалось, что такой статус можно будет использовать при расчетах специальными формами электронных денег. Но ему так и не нашлось применения.

Какова сфера применения этого кода? Старый сервис Apple MobileMe сообщал об 402-ошибке, если аккаунт пользователя в MobileMe подозревался в любой форме злоупотреблений его ресурсами. Также видеохостинг Youtube использует этот статус, если некий IP-адрес использует чрезмерно большое количество запросов. Поэтому пользователю приходится ввести CAPTCHA.

 

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

 

404 Not Found (Не найден)
Большинство пользователей знакомо с 404 ошибкой. Она указывает на то, что искомый ресурс невозможно найти, но в будущем – когда он может появиться там – к нему можно получить доступ. Также здесь разрешаются все следующие обращения от клиента. Но в большом количестве таких случаев используется код редиректа класса 3xx, и пользователь перенаправляется на альтернативный ресурс или местоположение.
Когда демонстрируется этот код? Довольно часто, особенно если страницу удалили или переместили. Часто в таких случаях сервер в автоматическом режиме генерирует доступную страницу с ошибкой 404.

 

405 Method Not Allowed (Метод не разрешен)
Метод, посредством которого осуществляется запрос к ресурсу, является недоступным. Иными словами, появляется ошибка при попытке использовать функцию в формате GET, тогда как требуется ввод данных через метод POST (либо с помощью метода PUT с веб-документами только для чтения).

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

 

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

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

 

407 Proxy Authentication Required (Нужна авторизация прокси)
Как и статус-код 401, значение 407 обозначает, что клиенту следует предварительно авторизоваться через прокси-сервер. Для выполнения этого действия и осуществления процесса авторизации, прокси-сервер должен вернуть поле с заголовком Proxy-authenticate, которое отвечает стандартам, предъявляемым сервером.
Когда появляется этот статус-код? В случаях, если сервер «убежден», что запрос данных от клиента является правильным, но получить доступ к веб-ресурсу возможно лишь через авторизацию с помощью прокси-сервера.

 

Коды состояния в HTTP

Коды состояния в HTTP

1992 г.

Это исторический документ, и он больше не точен. За
актуальные сведения о спецификации HTTP, см. последние
Черновики HTTP / 1.1

Значения числового кода состояния для
HTTP-запросы выглядят следующим образом. Данные
могут использоваться разделы сообщений Error, Forward и Redirection.
содержать понятную человеку диагностическую информацию.

Успех 2xx

Эти коды указывают на успех.Раздел body, если присутствует, является возвращаемым объектом
по запросу. Это объект формата MIME. Он находится в формате MIME, и может
быть только в формате text / plain, text / html или в одном из форматов, указанных как допустимые
в запросе.

ОК 200

Запрос был выполнен.

СОЗДАНО 201

После команды POST это означает успех, но текстовая часть
строка ответа указывает URI, по которому должен создаваться новый документ.
быть известным.

Принято 202

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

Неполная информация 203

При получении в ответ на команду GET это означает, что возвращенный
метаинформация не является окончательным набором объекта с сервера с
копия объекта, но с частной наложенной сети. Это может включать
аннотационная информация об объекте, например.

Нет ответа 204

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

Ошибка 4xx, 5xx

Коды 4xx предназначены для случаев, когда клиент ошибся,
и коды 5xx для случаев, когда сервер знает, что сервер
ошибся. Различить эти случаи в целом невозможно, поэтому
разница только информационная.

Раздел body может содержать документ, описывающий ошибку в удобочитаемом
форма. Документ в MIME
формат и может быть только в текстовом / обычном, текстовом / html или одном из указанных форматов
как приемлемо в запросе.

Плохой запрос 400

У запроса был неправильный синтаксис, или его невозможно было удовлетворить.

Несанкционированный 401

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

Требуется оплата 402

Параметр этого сообщения содержит описание схем начисления платы.
приемлемый. Клиент может повторить запрос с подходящим заголовком ChargeTo.

Запрещено 403

Просьба о чем-то запрещенном. Авторизация не поможет.

Не найдено 404

Сервер не нашел ничего, соответствующего указанному URI

Внутренняя ошибка 500

Сервер обнаружил непредвиденное условие, которое помешало ему выполнить
запрос.

Не выполнено 501

Сервер не поддерживает требуемое средство.

Сервис временно перегружен 502 (ОБСУЖДЕНИЕ)

Сервер не может обработать запрос из-за высокой нагрузки (наличие HTTP-обслуживания
или другие запросы). Подразумевается, что это временное состояние.
что может быть облегчено в другое время.

Тайм-аут шлюза 503 (ОБСУЖДЕНИЕ)

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

Примечание: Коды 502 и 503 являются новыми и будут обсуждаться в сентябре.
19 января 1994 г.

Коды в этом разделе указывают действие, которое необходимо предпринять (обычно автоматически)
клиентом для выполнения запроса.

Перемещено 301

Запрошенным данным был присвоен новый URI, изменение является постоянным.(N.B. это оптимизация, которая прагматически должна быть включена в
это определение. Браузеры с возможностью редактирования ссылок должны автоматически
если возможно, сделайте ссылку на новую ссылку)

Ответ содержит одну или несколько строк заголовка в форме

 URI:  String CrLf

 

Которые указывают альтернативные адреса для рассматриваемого объекта. Строка
— необязательное поле для комментариев. Если в ответе указать набор вариантов
каждый из которых соответствует запрошенному URI, затем
составная / альтернативная упаковка
может использоваться для различения разных наборов

Найдено 302

Запрошенные данные на самом деле находятся под другим URL-адресом, однако
перенаправление может быть изменено (при создании ссылок на такие
документа, браузер должен по умолчанию использовать Udi перенаправления
документ, но есть возможность ссылки на окончательный документ) как для «Вперед».

Формат ответа такой же, как и для Moved
.

Метод 303.

 Метод:  
секция тела
 

Примечание: Этот код состояния необходимо указать более подробно. За
на данный момент это только для обсуждения.

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

Раздел body содержит параметры, которые будут использоваться для метода.Эта
позволяет документу быть указателем на сложную операцию запроса.

Телу могут предшествовать следующие дополнительные поля
как указано.

Не изменено 304

Если клиент выполнил условный GET и доступ разрешен, но документ
не был изменен с даты и времени, указанных в
If-Modified-Since
поле, сервер отвечает кодом состояния 304 и не отправляет документ
тело клиенту.

Заголовки ответа выглядят так, как если бы клиент отправил запрос HEAD, но с ограничениями.
только для тех заголовков, которые имеют смысл в данном контексте.Это означает только заголовки
которые имеют отношение к диспетчерам кеша и могут изменяться независимо
даты последнего изменения документа. Примеры включают дату, сервер и
Срок действия истекает.

Цель этой функции — обеспечить эффективное обновление локального кеша.
информация (включая соответствующую метаинформацию) без дополнительных затрат
нескольких HTTP-запросов (например, HEAD, за которым следует GET) и минимизация
передача информации, уже известной запрашивающему клиенту (обычно
кеширующий прокси).

.

HTTP / 1.1: определения кода состояния

HTTP / 1.1: определения кода состояния

часть протокола передачи гипертекста — HTTP / 1.1
RFC 2616 Fielding, et al.

10 Определений кодов состояния

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

10.1 Информационная 1xx

Этот класс кода состояния указывает на предварительный ответ,
состоящий только из строки состояния и дополнительных заголовков, и
заканчивается пустой строкой.Для этого нет обязательных заголовков
класс кода состояния. Поскольку HTTP / 1.0 не определял статус 1xx
коды, серверы НЕ ДОЛЖНЫ отправлять ответ 1xx клиенту HTTP / 1.0
за исключением экспериментальных условий.

Клиент ДОЛЖЕН быть готов принять один или несколько статусных ответов 1xx
до регулярного ответа, даже если клиент не ожидает 100
(Продолжить) статусное сообщение. Неожиданные ответы статуса 1xx МОГУТ быть
игнорируется пользовательским агентом.

Прокси-серверы ДОЛЖНЫ пересылать ответы 1xx, если только соединение между
прокси и его клиент были закрыты, или если сам прокси
запросил генерацию ответа 1xx. (Например, если

прокси добавляет поле «Expect: 100-continue» при пересылке запроса,
тогда ему не нужно пересылать соответствующие 100 (Продолжить)
ответ (ы).)

10.1.1 100 Продолжить

Клиент ДОЛЖЕН продолжить выполнение своего запроса.Этот промежуточный ответ
используется для информирования клиента о том, что в начальной части запроса
было получено и еще не было отклонено сервером. Клиент
СЛЕДУЕТ продолжить, отправив оставшуюся часть запроса или, если
запрос уже выполнен, игнорируйте этот ответ. Сервер
ДОЛЖЕН отправить окончательный ответ после завершения запроса. Видеть
раздел 8.2.3 для подробного обсуждения использования и обработки этого
код состояния.

10.1.2 101 Протоколы коммутации

Сервер понимает и готов выполнять требования клиента
запрос через поле заголовка сообщения Upgrade (раздел 14.42) для
изменение протокола приложения, используемого для этого соединения. В
сервер переключит протоколы на те, которые определены в ответе
Обновите поле заголовка сразу после пустой строки,
завершает ответ 101.

Протокол СЛЕДУЕТ переключать только тогда, когда это выгодно
так.Например, переход на более новую версию HTTP выгоден.
по сравнению с более старыми версиями и переключение на синхронный режим реального времени
протокол может быть выгоден при доставке ресурсов, использующих
такие особенности.

10.2 Успешно 2xx

Этот класс кода состояния указывает, что запрос клиента был
успешно получен, понят и принят.

10.2.1 200 ОК

Запрос выполнен. Информация, возвращенная с ответом
зависит от метода, используемого в запросе, например:

GET сущность, соответствующая запрошенному ресурсу, отправляется в
ответ;

HEAD поля заголовка объекта, соответствующие запрошенному
ресурс отправляется в ответе без тела сообщения;

POST объект, описывающий или содержащий результат действия;

TRACE сущность, содержащая сообщение запроса, полученное
конечный сервер.

10.2.2 201 Создано

Запрос был выполнен и в результате появился новый ресурс.
создан. На вновь созданный ресурс можно ссылаться с помощью URI (ов)
возвращается в сущности ответа с наиболее конкретным URI
для ресурса, заданного полем заголовка Location. Ответ
СЛЕДУЕТ включать объект, содержащий список ресурсов
характеристики и местоположение (а), из которых пользователь или пользовательский агент может
выберите наиболее подходящий.Формат объекта определяется
тип мультимедиа, указанный в поле заголовка Content-Type. Происхождение
сервер ДОЛЖЕН создать ресурс перед возвратом кода состояния 201.
Если действие не может быть выполнено немедленно, серверу СЛЕДУЕТ
вместо этого ответьте ответом 202 (принято).

Ответ 201 МОЖЕТ содержать поле заголовка ответа ETag, указывающее
текущее значение тега объекта для запрошенного варианта просто
создан, см. раздел 14.19.

10.2.3 202 Принято

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

Ответ 202 намеренно ни к чему не обязывает. Его цель —
разрешить серверу принять запрос на какой-либо другой процесс (возможно,
пакетный процесс, который запускается только один раз в день) без
требовать, чтобы соединение пользовательского агента с сервером сохранялось
пока процесс не завершится.Сущность, возвращенная с этим
ответ ДОЛЖЕН включать указание текущего статуса запроса
и либо указатель на монитор состояния, либо некоторая оценка того, когда
пользователь может ожидать, что запрос будет выполнен.

10.2.4 203 Неавторизованная информация

Возвращенная метаинформация в заголовке объекта не является
окончательный набор, доступный с исходного сервера, но собранный
с локальной или сторонней копии. Представленный набор МОЖЕТ быть подмножеством
или надмножество оригинальной версии.Например, включая местные
аннотация информация о ресурсе может привести к надмножеству
метаинформации, известной исходному серверу. Использование этого
код ответа не требуется и подходит только тогда, когда
в противном случае ответ был бы 200 (ОК).

10.2.5 204 Нет содержимого

Сервер выполнил запрос, но ему не нужно возвращать
entity-body и может захотеть вернуть обновленную метаинформацию. В
ответ МОЖЕТ включать новую или обновленную метаинформацию в виде
заголовки объектов, которые, если они присутствуют, ДОЛЖНЫ быть связаны с
запрошенный вариант.

Если клиент является пользовательским агентом, ему НЕ СЛЕДУЕТ изменять вид документа.
от того, что вызвало отправку запроса. Этот ответ
в первую очередь предназначены для ввода данных о действиях без
вызывает изменение активного вида документа пользовательского агента, хотя
любая новая или обновленная метаинформация ДОЛЖНА быть применена к документу
в настоящее время находится в активном представлении пользовательского агента.

Ответ 204 НЕ ДОЛЖЕН включать тело сообщения, и поэтому всегда
заканчивается первой пустой строкой после полей заголовка.

10.2.6 205 Сбросить содержимое

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

10.2.7 206 Частичное содержимое

Сервер выполнил частичный запрос GET для ресурса.
Запрос ДОЛЖЕН содержать поле заголовка диапазона (раздел 14.35).
указывая желаемый диапазон, и МОЖЕТ включать If-Range
поле заголовка (раздел 14.27), чтобы сделать запрос условным.

Ответ ДОЛЖЕН включать следующие поля заголовка:

 - Либо поле заголовка Content-Range (раздел 14.16), указывающее
        диапазон, включенный в этот ответ, или multipart / byteranges
        Content-Type, включая поля Content-Range для каждой части.Если
        Поле заголовка Content-Length присутствует в ответе, его
        значение ДОЛЖНО соответствовать фактическому количеству OCTET, переданных в
        тело сообщения.
 
 - Дата
 
 - ETag и / или Content-Location, если заголовок был бы отправлен
        в ответе 200 на тот же запрос
 
 - Истекает, Cache-Control и / или Vary, если значение поля может
        отличается от ответа, отправленного в любом предыдущем ответе на тот же
        вариант
 

Если ответ 206 является результатом запроса If-Range, который использовал
сильный валидатор кеша (см. раздел 13.3.3), ответ НЕ ДОЛЖЕН
включить другие заголовки сущностей. Если ответ является результатом
Запрос If-Range, использующий слабый валидатор, НЕ ДОЛЖЕН
включить другие заголовки сущностей; это предотвращает несоответствие между
кэшированные тела сущностей и обновленные заголовки. В противном случае ответ
ДОЛЖЕН включать все заголовки объектов, которые были бы возвращены
с ответом 200 (OK) на тот же запрос.

Кэш НЕ ДОЛЖЕН объединять ответ 206 с другими ранее кэшированными
содержимое, если заголовки ETag или Last-Modified не совпадают в точности,
см. 13.5.4.

Кеш, который не поддерживает заголовки Range и Content-Range.
НЕ ДОЛЖНЫ кэшировать 206 (частичных) ответов.

10.3 Перенаправление 3xx

Этот класс кода состояния указывает, что необходимо предпринять дальнейшие действия.
берется пользовательским агентом для выполнения запроса. Действие
требуется МОЖЕТ выполняться пользовательским агентом без взаимодействия
с пользователем тогда и только тогда, когда метод, используемый во втором запросе,
ПОЛУЧИТЬ или ГОЛОВУ.Клиент ДОЛЖЕН обнаруживать бесконечные циклы перенаправления, поскольку
такие петли генерируют сетевой трафик для каждого перенаправления.

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

10.3.1 300 Множественный выбор

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

Если это не запрос HEAD, ответ ДОЛЖЕН включать объект
содержащий список характеристик ресурса и местоположения (а) из
который пользователь или пользовательский агент может выбрать наиболее подходящий. В
формат объекта определяется типом носителя, указанным в Content-
Введите поле заголовка. В зависимости от формата и возможностей

агент пользователя, выбор наиболее подходящего варианта МОЖЕТ быть
выполняется автоматически.Однако эта спецификация не определяет
любой стандарт для такого автоматического выбора.

Если у сервера есть предпочтительный выбор представления, он ДОЛЖЕН
включить конкретный URI для этого представления в Location
поле; пользовательские агенты МОГУТ использовать значение поля Location для автоматического
перенаправление. Этот ответ кэшируется, если не указано иное.

10.3.2 301 Постоянно перемещен

Запрошенному ресурсу был назначен новый постоянный URI и любой
будущие ссылки на этот ресурс ДОЛЖНЫ использовать один из возвращенных
URI.Клиенты с возможностью редактирования ссылок должны автоматически
повторно связать ссылки на Request-URI с одним или несколькими новыми
ссылки, возвращаемые сервером, где это возможно. Этот ответ
кэшируемые, если не указано иное.

Новый постоянный URI ДОЛЖЕН быть указан в поле Location в
ответ. Если метод запроса не был HEAD, сущность
ответ ДОЛЖЕН содержать короткую гипертекстовую заметку с гиперссылкой на
новый URI.

Если код состояния 301 получен в ответ на запрос другой
чем GET или HEAD, пользовательский агент НЕ ДОЛЖЕН автоматически перенаправлять
запрос, если он не может быть подтвержден пользователем, поскольку это может
изменить условия, на которых был оформлен запрос.

 Примечание. При автоматическом перенаправлении запроса POST после
      получение кода состояния 301, некоторые существующие пользовательские агенты HTTP / 1.0
      ошибочно изменит его на запрос GET.

10.3.3 302 Найдено

Запрошенный ресурс временно находится под другим URI.
Поскольку перенаправление может быть изменено при случае, клиенту СЛЕДУЕТ
продолжать использовать Request-URI для будущих запросов. Этот ответ
кэшируется, только если указано в заголовке Cache-Control или Expires
поле.

Временный URI ДОЛЖЕН быть задан полем Location в
ответ. Если метод запроса не был HEAD, сущность
ответ ДОЛЖЕН содержать короткую гипертекстовую заметку с гиперссылкой на
новый URI.

Если код состояния 302 получен в ответ на запрос другой
чем GET или HEAD, пользовательский агент НЕ ДОЛЖЕН автоматически перенаправлять
запрос, если он не может быть подтвержден пользователем, поскольку это может
изменить условия, на которых был оформлен запрос.

 Примечание: RFC 1945 и RFC 2068 указывают, что клиент не разрешен
      для изменения метода перенаправленного запроса. Однако большинство
      существующие реализации пользовательского агента обрабатывают 302, как если бы это был 303
      ответ, выполняющий GET для значения поля Location независимо от
      исходного метода запроса.Коды состояния 303 и 307 имеют
      добавлено для серверов, которые хотят однозначно указать, какие
      ожидается реакция клиента.
 

10.3.4 303 См. Другие

Ответ на запрос можно найти под другим URI и
ДОЛЖЕН быть получен с использованием метода GET для этого ресурса. Этот метод
существует прежде всего для того, чтобы разрешить вывод POST-активированного скрипта на
перенаправить пользовательский агент на выбранный ресурс.Новый URI не является
замените ссылку на первоначально запрошенный ресурс. 303
ответ НЕ ДОЛЖЕН быть кэширован, но ответ на второй
(перенаправленный) запрос может быть кэшируемым.

Другой URI СЛЕДУЕТ указывать в поле Location в
ответ. Если метод запроса не был HEAD, сущность
ответ ДОЛЖЕН содержать короткую гипертекстовую заметку с гиперссылкой на
новый URI.

 Примечание: многие версии до HTTP / 1.1 пользовательские агенты не понимают 303
      статус. Когда возможность взаимодействия с такими клиентами вызывает беспокойство,
      Вместо этого можно использовать код состояния 302, поскольку большинство пользовательских агентов реагируют
      на ответ 302, как описано здесь для 303.
 

10.3.5 304 Без изменений

Если клиент выполнил условный запрос GET и доступ
разрешено, но документ не был изменен, сервер ДОЛЖЕН
ответьте этим кодом состояния. Ответ 304 НЕ ДОЛЖЕН содержать
message-body, и поэтому всегда заканчивается первой пустой строкой
после полей заголовка.

Ответ ДОЛЖЕН включать следующие поля заголовка:

 - Дата, если ее пропуск не требуется согласно разделу 14.18.1
 

Если исходный сервер без часов подчиняется этим правилам, и прокси и
клиенты добавляют свою дату к любому ответу, полученному без нее (как
уже указано в [RFC 2068], раздел 14.19), кеши будут работать
правильно.

 - ETag и / или Content-Location, если заголовок был бы отправлен
        в ответе 200 на тот же запрос
 
 - Истекает, Cache-Control и / или Vary, если значение поля может
        отличается от ответа, отправленного в любом предыдущем ответе на тот же
        вариант
 

Если условный GET использует сильный валидатор кеша (см. Раздел
13.3.3), ответ НЕ ДОЛЖЕН включать другие заголовки объектов.
В противном случае (т.е. условный GET использовал слабый валидатор)
ответ НЕ ДОЛЖЕН включать другие заголовки объектов; это предотвращает
несоответствия между кэшированными телами объектов и обновленными заголовками.

Если ответ 304 указывает на то, что объект в настоящий момент не кэширован, то
кеш ДОЛЖЕН игнорировать ответ и повторять запрос без
условный.

Если кэш использует полученный ответ 304 для обновления записи кэша,
кеш ДОЛЖЕН обновить запись, чтобы отразить любые новые значения полей, указанные в
ответ.

10.3.6 305 Использовать прокси

Доступ к запрошенному ресурсу ДОЛЖЕН быть доступен через прокси, предоставленный
поле Местоположение. В поле Location указывается URI прокси.
Ожидается, что получатель повторит этот единственный запрос через
прокси. 305 ответов ДОЛЖНЫ генерироваться только исходными серверами.

 Примечание. В RFC 2068 не было ясно, что 305 предназначен для перенаправления
      единый запрос, который должен генерироваться только исходными серверами.Не
      соблюдение этих ограничений имеет серьезные последствия для безопасности.
 

10.3.7 306 (Не используется)

Код состояния 306 использовался в предыдущей версии
спецификация, больше не используется, а код зарезервирован.

10.3.8 307 Временное перенаправление

Запрошенный ресурс временно находится под другим URI.
Поскольку перенаправление МОЖЕТ быть изменено при случае, клиенту СЛЕДУЕТ
продолжать использовать Request-URI для будущих запросов.Этот ответ
кэшируется, только если указано в заголовке Cache-Control или Expires
поле.

Временный URI ДОЛЖЕН быть задан полем Location в
ответ. Если метод запроса не был HEAD, сущность
ответ ДОЛЖЕН содержать короткую гипертекстовую заметку с гиперссылкой на
новый URI, поскольку многие пользовательские агенты до HTTP / 1.1 не
понять статус 307. Поэтому примечание ДОЛЖНО содержать
информация, необходимая пользователю для повторения первоначального запроса на
новый URI.

Если код состояния 307 получен в ответ на запрос другой
чем GET или HEAD, пользовательский агент НЕ ДОЛЖЕН автоматически перенаправлять
запрос, если он не может быть подтвержден пользователем, поскольку это может
изменить условия, на которых был оформлен запрос.

10.4 Ошибка клиента 4xx

Код состояния класса 4xx предназначен для случаев, когда
клиент, похоже, ошибся. За исключением ответа на запрос HEAD,
сервер ДОЛЖЕН включать объект, содержащий объяснение
ошибочная ситуация, временная или постоянная
состояние.Эти коды состояния применимы к любому методу запроса.
Пользовательские агенты ДОЛЖНЫ отображать пользователю любую включенную сущность.

Если клиент отправляет данные, реализация сервера с использованием TCP
СЛЕДУЕТ быть осторожным, чтобы убедиться, что клиент подтверждает получение
пакет (ы), содержащий ответ, до того, как сервер закроет
входное соединение. Если клиент продолжает отправлять данные на сервер
после закрытия стек TCP сервера отправит пакет сброса в
клиент, который может стереть неподтвержденные входные буферы клиента
прежде, чем они могут быть прочитаны и интерпретированы приложением HTTP.

10.4.1 400 неверный запрос

Запрос не может быть понят сервером из-за неправильного формата
синтаксис. Клиенту НЕ СЛЕДУЕТ повторять запрос без
модификации.

10.4.2 401 Несанкционированный

Запрос требует аутентификации пользователя. Ответ ДОЛЖЕН содержать
Поле заголовка WWW-Authenticate (раздел 14.47), содержащее запрос
применимо к запрошенному ресурсу. Клиент МОЖЕТ повторить
запрос с подходящим полем заголовка авторизации (раздел 14.8). Если
запрос уже включает учетные данные для авторизации, затем 401
ответ указывает на то, что в авторизации было отказано для тех
учетные данные. Если ответ 401 содержит тот же вызов, что и
предыдущий ответ, и пользовательский агент уже попытался
аутентификации хотя бы один раз, тогда пользователю СЛЕДУЕТ предоставить
объект, который был указан в ответе, поскольку этот объект может
включить соответствующую диагностическую информацию. Аутентификация доступа HTTP
объясняется в разделе «HTTP-аутентификация: базовый и дайджест-доступ»
Аутентификация »[43].

10.4.3 402 Требуется оплата

Этот код зарезервирован для использования в будущем.

10.4.4 403 Запрещено

Сервер понял запрос, но отказывается его выполнить.
Авторизация не поможет, и запрос НЕ ДОЛЖЕН повторяться.
Если метод запроса не был HEAD и сервер хочет сделать
публично, почему запрос не был выполнен, ДОЛЖЕН описать
причина отказа в субъекте.Если сервер не желает
сделать эту информацию доступной для клиента, код состояния 404
Вместо этого можно использовать (Not Found).

10.4.5 404 Не найдено

Сервер не нашел ничего, соответствующего Request-URI. Нет
указывается, является ли состояние временным или
постоянный. Код состояния 410 (Gone) ДОЛЖЕН использоваться, если сервер
через некоторый внутренне настраиваемый механизм знает, что старый
ресурс постоянно недоступен и не имеет адреса пересылки.Этот код состояния обычно используется, когда сервер не желает
точно раскрыть, почему запрос был отклонен, или когда никто
ответ применим.

10.4.6 405 Метод запрещен

Метод, указанный в строке запроса, не разрешен для
ресурс, идентифицированный Request-URI. Ответ ДОЛЖЕН содержать
Разрешить заголовок, содержащий список допустимых методов для запрошенного
ресурс.

10.4.7 406 Неприемлемо

Ресурс, указанный в запросе, может только генерировать
объекты ответа, у которых характеристики содержимого неприемлемы
в соответствии с заголовками accept, отправленными в запросе.

Если это не запрос HEAD, ответ ДОЛЖЕН включать объект
содержащий список доступных характеристик объекта и местоположения (а)
из которых пользователь или пользовательский агент могут выбрать наиболее
подходящее.Формат объекта определяется заданным типом носителя.
в поле заголовка Content-Type. В зависимости от формата и формата
возможности пользовательского агента, выбор наиболее подходящего
выбор МОЖЕТ быть выполнен автоматически. Однако эта спецификация
не определяет никаких стандартов для такого автоматического выбора.

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

Если ответ может быть неприемлемым, пользовательский агент ДОЛЖЕН
временно прекратить получение дополнительных данных и запросить у пользователя
решение о дальнейших действиях.

10.4.8 407 Требуется проверка подлинности прокси

Этот код похож на 401 (Неавторизованный), но указывает, что
клиент должен сначала аутентифицироваться с помощью прокси.Прокси ДОЛЖЕН
вернуть поле заголовка Proxy-Authenticate (раздел 14.33), содержащее
проблема, применимая к прокси для запрошенного ресурса. В
клиент МОЖЕТ повторить запрос с подходящей прокси-авторизацией
поле заголовка (раздел 14.34). Объясняется аутентификация доступа HTTP
в «HTTP-аутентификации: базовая и дайджест-аутентификация доступа»
[43].

10.4.9 408 Тайм-аут запроса

Клиент не отправил запрос в течение времени, которое сервер
был готов ждать.Клиент МОЖЕТ повторить запрос без
модификации в любое время.

10.4.10 409 Конфликт

Запрос не может быть выполнен из-за конфликта с текущим
состояние ресурса. Этот код разрешен только в ситуациях, когда
ожидается, что пользователь сможет разрешить конфликт
и повторно отправьте запрос. Тело ответа ДОЛЖНО включать достаточно

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

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

10.4.11 410 Исчез

Запрошенный ресурс больше недоступен на сервере и нет
адрес пересылки известен. Ожидается, что это состояние будет
считается постоянным. Клиенты с возможностью редактирования ссылок ДОЛЖНЫ
удалить ссылки на Request-URI после утверждения пользователем.Если
сервер не знает или не имеет возможности определить, действительно ли
состояние является постоянным, ДОЛЖЕН быть код состояния 404 (Не найдено)
вместо этого. Этот ответ кэшируется, если не указано иное.

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

10.4.12 411 Требуемая длина

Сервер отказывается принять запрос без определенного Content-
Длина.Клиент МОЖЕТ повторить запрос, если он добавляет действительный
Поле заголовка Content-Length, содержащее длину тела сообщения
в сообщении запроса.

10.4.13 412 Ошибка предварительного условия

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

10.4.14 413 Слишком большой объект запроса

Сервер отказывается обрабатывать запрос, потому что запрос
объект больше, чем сервер хочет или может обработать. В
сервер МОЖЕТ закрыть соединение, чтобы клиент не продолжил
запрос.

Если условие является временным, серверу СЛЕДУЕТ включать команду Retry-
Поле заголовка после, чтобы указать, что это временно и после чего
время клиент МОЖЕТ повторить попытку.

10.4.15 414 Слишком длинный URI запроса

Сервер отказывается обслуживать запрос, потому что Request-URI
длиннее, чем сервер готов интерпретировать. Этот редкий
состояние может возникнуть только тогда, когда клиент неправильно
преобразовал запрос POST в запрос GET с длинным запросом
информации, когда клиент спустился в «черную дыру» URI
перенаправление (например, префикс перенаправленного URI, указывающий на суффикс
сам), или когда сервер подвергается атаке со стороны клиента, пытающегося
использовать дыры в безопасности, имеющиеся на некоторых серверах, с помощью фиксированной длины
буферы для чтения или управления Request-URI.

10.4.16 415 Неподдерживаемый тип носителя

Сервер отказывается обслуживать запрос, потому что объект
формат запроса не поддерживается запрошенным ресурсом
для запрошенного метода.

10.4.17 416 Запрошенный диапазон Не выполняется

Сервер ДОЛЖЕН возвращать ответ с этим кодом состояния, если запрос
включал поле заголовка запроса Range (раздел 14.35), и ни один из
значения спецификатора диапазона в этом поле перекрывают текущий экстент
выбранного ресурса, и запрос не включал If-Range
поле заголовка запроса.(Для байтовых диапазонов это означает, что первый
byte-pos всех значений byte-range-spec были больше, чем
текущая длина выбранного ресурса.)

Когда этот код состояния возвращается для запроса диапазона байтов,
ответ ДОЛЖЕН включать поле заголовка объекта Content-Range
указание текущей длины выбранного ресурса (см. раздел
14.16). Этот ответ НЕ ДОЛЖЕН использовать содержимое multipart / byteranges —
тип.

10.4.18 417 Неудачное ожидание

Ожидание, указанное в поле заголовка запроса Expect (см.
14.20) не может быть встречен этим сервером, или, если сервер является прокси,
у сервера есть недвусмысленные доказательства того, что запрос не может быть выполнен
сервером следующего перехода.

10.5 Ошибка сервера 5xx

Коды статуса ответа, начинающиеся с цифры «5», указывают на случаи в
сервер знает, что допустил ошибку или не может
выполнение запроса.За исключением ответа на запрос HEAD,
сервер ДОЛЖЕН включать объект, содержащий объяснение
ошибочная ситуация, временная или постоянная
состояние. Пользовательские агенты ДОЛЖНЫ отображать любую включенную сущность в
пользователь. Эти коды ответов применимы к любому методу запроса.

10.5.1 500 Внутренняя ошибка сервера

Сервер обнаружил непредвиденное состояние, которое предотвратило его
от выполнения запроса.

10.5.2 501 Не реализовано

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

10.5.3 502 Плохой шлюз

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

10.5.4 503 Служба недоступна

В настоящее время сервер не может обработать запрос из-за
временная перегрузка или обслуживание сервера. Значение
в том, что это временное состояние, которое исчезнет после
некоторая задержка. Если известно, продолжительность задержки МОЖЕТ быть указана в
Заголовок Retry-After. Если Retry-After не указан, клиент ДОЛЖЕН
обрабатывать ответ так же, как и для ответа 500.

 Примечание. Наличие кода состояния 503 не означает, что
      сервер должен использовать его при перегрузке.Некоторые серверы могут пожелать
      просто отказаться от подключения.
 

10.5.5 504 Тайм-аут шлюза

Сервер, выступая в качестве шлюза или прокси, не получил
своевременный ответ от вышестоящего сервера, указанного в URI (например,
HTTP, FTP, LDAP) или какой-либо другой вспомогательный сервер (например, DNS), который ему нужен
для доступа при попытке выполнить запрос.

 Примечание: Примечание для разработчиков: некоторые развернутые прокси известны
      возвращает 400 или 500, когда время поиска DNS истекло.

10.5.6 505 Версия HTTP не поддерживается

Сервер не поддерживает или отказывается поддерживать протокол HTTP.
версия, которая использовалась в сообщении запроса. Сервер
указывая, что он не может или не хочет выполнить запрос
используя ту же основную версию, что и клиент, как описано в разделе
3.1, кроме этого сообщения об ошибке. Ответ ДОЛЖЕН содержать
сущность, описывающая, почему эта версия не поддерживается и какие еще
протоколы поддерживаются этим сервером.

.