полный список ошибок сервера – База знаний Timeweb Community
Умные люди придумали коды, по которым можно определить, что произошло с HTTP-запросом. Успешен ли он, произошло ли перенаправление. Или же все закончилось ошибкой. Как раз об ошибках и будем говорить в этой статье. Вкратце расскажу, какие они бывают и с чем связаны.
А еще тут будет парочка забавных (и не очень) пикч и анимаций на тему описанных ошибок. Хоть какое-то развлечение.
Ошибки со стороны клиента (4xx)Для начала перечислим коды ошибок на стороне клиента. Вина за их появление ложится на плечи обоих участников соединения.
400 Bad RequestТакой ответ от браузера можно получить в том случае, если сервер не смог правильно отреагировать на запрос со стороны пользователя. Часто код 400 возникает при попытке клиента получить доступ к серверу без соблюдения правил оформления синтаксиса протокола передачи гипертекста (HTTP). Повторный запрос не стоит отправлять до тех пор, пока не будет исправлена ошибка (или несколько из них).
401 UnauthorizedКод 401 возникает при попытке клиента получить доступ к серверу, используя неправильные данные для авторизации. По сути, используется, когда пользователь вводит неправильный логин и пароль на ресурсе, где требуется эта информация для входа.
Эта ошибка сообщает клиенту о том, что для успешного выполнения запроса ему необходимо оплатить доступ к серверу. Изначально код 402 должен был стать неким стандартом для цифровой валюты и оплаты контента в сети. Но не срослось. До сих пор нет единого решения по поводу того, как должны выглядеть платежи в сети. Также нет и единого решения по поводу того, как стоит использовать 402.
Все еще считается, что код существует с расчетом на будущее. Сейчас почти не используется и поддерживается не всеми браузерами.
403 ForbiddenПочти то же, что и 401. Сервер снова не разрешает к нему подключиться, хотя с запросом все в порядке. Просто нет доступа. Причем повторная авторизация с другими логином и паролем никак не помогут. Все вопросы к владельцам сервера (но не всегда). Инструкция по устранению ошибки.
Творчество на тему знаменитой киносаги
404 Not FoundЛегендарная ошибка, ставшая популярным мемом. 404 оповещает клиента о том, что его запрос ведет в никуда. Код возникает, когда пользователь пытается попасть на страницу, которой не существует. Например, когда случайно ошибается при вводе ссылки и вводит ее с опечаткой. Или же пытается получить доступ к странице, которой на сайте уже нет.
В отличие от других кодов, страницу с 404 частенько кастомизируют, создавая для нее уникальный дизайн. Мало того, что это выглядит симпатичнее, так еще и полезнее для посетителей. Можно прямо на странице с ошибкой разъяснить, что произошло и как дальше действовать.
И таких вариаций тысячи. Каждый пытается добавить в оформление что-то свое.
405 сообщает клиенту о том, что метод, используемый при запросе, не разрешен. В качестве примера можно привести попытку со стороны клиента ввести данные в форму с помощью GET, когда она работает только с POST. Ну и в таком же духе.
406 Not AcceptableОшибка 406 сообщает о том, что страница передает контент, который не может быть распознан клиентом. Возможно, проблема в методе сжатия или в формате страницы. Иногда сюда же приплетают неправильные настройки кодировки.
Этот код редко используют на практике, так как его появления можно избежать, предоставив пользователю информацию на сайте в том виде, который его браузер способен принять. Посетитель сайта по итогу получит не то, что ожидал, но хотя бы не ошибку.
407 Proxy Authentication RequiredЭтот код тоже похож на 401. Только на этот раз логин и пароль нужны не для основного сервера, а для прокси, который находится между клиентом и сервером. Обычно в теле ошибки содержится информация о том, как можно правильно пройти авторизацию и получить доступ к ресурсу.
408 Request Timeout408 говорит нам о том, что сервер пожелал разорвать соединение с клиентом, потому что оно никак не используется. Происходит это в том случае, если сервер буквально устал ждать, пока наладится соединение с ним. Поэтому такую ошибку часто можно лицезреть после очень долгой и безуспешной загрузки какого-нибудь сайта.
Многие серверы не отправляют никаких сообщений, а просто прерывают соединение по той же причине. На запрос уходит больше времени, чем на то полагается.
В Мистере Роботе частенько называли серии в честь ошибок HTTP (весь четвертый сезон в нумерации 4хх). В честь 408, например, назвали восьмую серию четвертого сезона
409 ConflictСообщение о конфликте возникает, когда запрос со стороны клиента не соответствует тому, чего ожидает сервер. В качестве примера приводят проблемы при проверки версий, когда пользователь пытается с помощью метода PUT загрузить на сервер новый файл, но там уже имеется более новая версия того же файла. Конфликта версий можно легко избежать, загрузив корректную версию.
Своего рода аналог 404. Разница лишь в том, что 410 намекает на перманентность отсутствия страницы. Так что этот код стоит использовать, когда на 100% уверен, что страница ушла в небытие (ну или с текущего адреса) навсегда. В любом другом случае есть универсальный 404.
411 Length Required411 оповещает пользователя о том, что сервер не желает принимать запрос со стороны клиента, потому что в нем не определен заголовок Content-Length. Да, это первый код в подборке, который смогут понять только люди, сведущие в настройке серверов. По-простому уложить сущность HTML-заголовков в этот материал не получится.
412 Precondition FailedЕще один код, сообщающий о том, что сервер отклонил запрос пользователя и не разрешает доступ к выбранному ресурсу. Проблемы возникают при неправильной настройке работы методов, отличающихся от GET и HEAD.
413 Payload Too Large/Request Entity Too LargeКод 413 говорит нам, что запрос, который посылает клиент на сервер, слишком большой. Поэтому сервер отказывается его обрабатывать и разрывает соединение. Обычно это происходит при попытке загрузить на ресурс какой-то файл, превышающий ограничение, выставленное в настройках сервера. Соответственно, решается проблема изменением настроек сервера.
414 URI Too LongЧем-то этот код похож на предыдущий. Здесь тоже идет речь о превышение лимита. Только теперь это касается не запроса со стороны клиента, а длины URI. То есть ссылки. Выходит, что адрес, используемый клиентом, больше, чем тот, что может обработать сервер. Как-то так.
Такая ошибка иногда выскакивает при попытке взломать ресурс. Сайт так реагирует на слишком частые попытки воспользоваться потенциальными дырами в безопасности.
Ошибка 415 возникает, когда клиент пытается загрузить на сервер данные в неподходящем формате. В таком случае сервер просто отказывается принимать посылаемые файлы и разрывает соединение. Как и в случае с 413.
416 Range Not SatisfiableПодобный ответ можно ожидать, если клиент запрашивает у сервера определенные данные, но эти данные на сервере не соответствуют запросу. То есть, грубо говоря, вы просите у сервера какой-то набор данных с заранее заданным размером, а в итоге оказывается, что размер этих данных меньше, чем объем, указанный в запросе. Серверу ничего не остается, кроме как послать вас, ведь он не обучен поведению в таких ситуациях.
417 Expectation FailedТакая ошибка высвечивается, когда ожидания сервера не совпадают с данными в запросе клиента. Сведения об ожиданиях прописываются в заголовке Expect заранее. Так что можно ознакомиться с ними, чтобы выяснить, как решить названную проблему.
418 I’m a teapot Код 418 можно увидеть, если сервер откажется варить кофе, потому что он чайник. Это первоапрельская шутка. Естественно, 418 не используется нигде всерьез и просто существует как дань памяти программистам-юмористам, придумавшим это в 1998 году.У Google получился такой симпатичный чайник
421 Misdirected RequestПоявляется когда запрос клиента переправляется на сервер, который не может дать на него адекватный ответ. Например, если запрос был отправлен на ресурс, который вообще не настроен обрабатывать запросы извне.
Чтобы исправить проблему, можно попробовать переподключиться к ресурсу заново или попробовать другое соединение.
422 Unprocessable EntityКод 422 говорит, что сервер вроде бы принял запрос, понял его, все хорошо, но из-за семантических ошибок корректно обработать не смог. Значит, где-то в запросе затаилась логическая ошибка, мешающая корректному взаимодействию клиента и сервера. Надо ее найти и исправить.
423 LockedОбычно на этот код напарываются, когда запрашиваемый ресурс оказывается под защитой. Используемые клиентом методы блокируются на уровне сервера. Это делается, чтобы обезопасить данные, хранящиеся на защищенной странице. Без логина и пароля выудить информацию с такого сервера не получится.
424 сообщает о том, что для выполнения запроса со стороны клиента успешно должна завершиться еще одна или несколько параллельных операций. Если какая-то из них «провалится», то «помрет» все соединение сразу, и обработать запрос до конца не получится. Аналогичное происходит, если некорректно был обработан один из предыдущих запросов.
425 Too EarlyПоявляется в ответ на запрос, который может быть моментально запущен заново. Сервер не рискует и не берется за его обработку, чтобы не подставиться под так называемую «атаку повторного воспроизведения».
426 Upgrade RequiredТут нам прямо сообщают, что сервер не желает с нами общаться, пока мы не перейдем на более современный протокол. Наткнуться на такую ошибку очень тяжело, но в случае появления, скорее всего, будет достаточно установить браузер посвежее.
428 Precondition Required428 выскакивает, если пользователь отправляет запрос на сервер, но получает некорректные или неактуальные данные. Так ресурс оповещает о необходимости внести в запрос информацию о предварительных условиях обработки данных. Только так он сможет гарантировать получение клиентом нужной информации.
429 Too Many RequestsЗдесь все просто. Ошибка появляется, когда клиент отправляет на сервер слишком много запросов в короткий промежуток времени. Очень похоже на поведение взломщиков. По этой причине запрос моментально блокируется.
431 Request Header Fields Too LargeИз названия понятно, что ошибка с кодом 431 появляется из-за того, что в запросе клиента используются слишком длинные заголовки (неважно, один или несколько из них). Исправляется это с помощью сокращения заголовков и повторной отправки запроса. В теле ошибки обычно отображается краткая информация о том, как пользователь может решить эту проблему самостоятельно.
Этот код вам вряд ли удастся увидеть. Он отображается в лог-файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение.
449 Retry WithКод используется в расширениях компании Microsoft. Он сигнализирует о том, что запрос от клиента не может быть принят сервером. Причиной становятся неверно указанные параметры. Сама 449 ошибка говорит о необходимости скорректировать запрос и повторить его снова, подготовив к работе с сервером.
450 Blocked by Windows Parental Controls450 код увидят дети, попавшие под действие системы «Родительский контроль» компании Microsoft. По сути, ошибка говорит о том, что с компьютера попытались зайти на заблокированный ресурс. Избежать этой ошибки можно изменением параметров родительского контроля.
451 Unavailable For Legal ReasonsЭтот код сообщает клиенту, что он не может попасть на запрашиваемый ресурс из юридических соображений. Скорее всего, доступ был заблокирован из-за каких-нибудь государственных санкций, нового законодательства или цензуры со стороны властей. В общем, все вопросы к государству и провайдеру связи.
Список ошибок на стороне сервера (5xx)Теперь поговорим об ошибках, которые возникают где-то на сервере. Все они связаны с запросами, которые не удается обработать на том конце. Пользователь зачастую в их появлении не виноват.
500 Internal Server ErrorЭтот код возникает, когда сервер сталкивается с непредвиденными обстоятельствами. Такими, которые и сам не может пояснить. Как, собственно, и завершить запрос со стороны пользователя. По факту, эта ошибка говорит нам что-то вроде «Я не могу подобрать более подходящий код ошибки, поэтому лови 500 и делай с этим, что хочешь». Мы писали о нем чуть подробнее тут.
Дело не в тебе, дело во мне (С)
501 Not Implemented501 говорит нам, что функциональность, необходимая для обработки запроса со стороны клиента, попросту не реализована на сервере. Он не сможет корректно обработать используемый метод.
Иногда в теле ошибки еще пишут что-то в духе «Приходите попозже, возможно, в будущем нужная функция появится».
502 Bad GetawayМожно встретить в том случае, если запрашиваемый сервер выступает в роли шлюза или прокси. Возникает из-за несогласования протоколов между вышестоящим серверов и его шлюзом. Рассказываем о том, как ее исправить, в этой статье.
503 Service UnavailableПоявляется, когда сервер не может обработать запрос клиента по одной из двух технических причин:
- Слишком много пользователей в текущий момент пытаются отправить запросы, и у сервера не остается ресурсов, чтобы ответить кому-либо еще.
- На сервере ведутся технические работы, временно блокирующие его работу.
Обычно ошибка 503 носит временный характер, и для ее решения достаточно немного подождать.
504 Gateway TimeoutОшибка похожа на 408. Здесь же прокси-сервер пытается выйти на контакт с вышестоящим сервером, но не успевает это сделать до истечения тайм-аута. Отсюда и ошибка.
505 HTTP Version Not SupportedЭтот код похож на 426. Он тоже связан с неподходящей версией протокола HTTP. В этом случае нужно обеспечить и клиента, и сервер единой версией. Она, как правило, указывается в запросе со стороны пользователя.
506 Variant Also NegotiatesОбычно с такой ошибкой сталкиваются только в том случае, если сервер изначально настроен неправильно. То есть это не сиюминутная проблема, а что-то серьезное на уровне базовой конфигурации. Тут придется потрудиться разработчикам. Выявить проблему и разрешить ее.
507 Insufficient StorageКод 507 встречается в тех ситуациях, когда серверу не хватает пространства в хранилище для обработки запроса со стороны клиента. Проблема решается освобождением места или расширением доступного пространства. Тогда сервер сможет без проблем обработать запрос пользователя.
508 Loop DetectedТаким кодом сервер отзовется в случае, если заметит бесконечный цикл в запросе клиента. Можно расценивать его как провал запроса и выполняемой операции в целом.
509 Bandwidth Limit ExceededВозникает, если сервер начинает потреблять больше трафика, чем ему позволено.
510 Not ExtendedПоявляется, если клиент посылает запрос на использование какого-либо расширения, отсутствующего на сервере. Чтобы исправить проблему, надо убрать декларирование неподдерживаемого расширения из запроса или добавить поддержку на сервер.
511 Network Authentication Required511 код говорит о том, что перед тем как выйти в сеть, надо авторизоваться (ввести логин и пароль). Можно воспринимать это неким PPPoE подключением, когда от клиента требуются данные для авторизации.
Заключение
Закончили. Это все ошибки, которыми отзывается HTTP, если на стороне сервера или клиента что-то пошло не так. Наткнуться на большую их часть довольно тяжело. Особенно, если вы раньше только серфили в интернете, а не занимались разработкой сайтов. А тем, кто входит в эту стезю, полезно знать основные ошибки, так как, скорее всего, придется не раз их исправлять.
Коды ошибок и состояния HTTP: расшифровка ошибок на сайте
Web-сервер в ответ на каждый запрос пользователя выдает код HTTP-статуса ответа. Эти коды состоят из трех цифр и делятся на 5 групп. Первая цифра в коде является показателем статуса ответа. В случае невозможности выполнить запрос из-за ошибки клиента первая цифра в коде будет 4. Если ошибка случилась на стороне сервера, то код будет начинаться с цифры 5. Зная значения основных кодов, можно быстро устранить возникшие сбои.
Основные коды статусов http 4хх – ошибки на стороне клиента
- 400 Bad Request («неверный запрос») – некорректно сформулированный запрос
Этот код означает, что запрос составлен неправильно. Возможно, в нем есть синтаксические ошибки или повреждены cookie.
- 401 Unauthorized («неавторизован») – доступ запрещен
Этот код означает, что пользователь пытается получить доступ к закрытому сайту для чего ему нужно пройти авторизацию.
- 402 Payment Required («Необходима оплата за запрос») – необходимо внести оплату
Этот код означает, что сервис, на который пользователь пытается зайти, платный.
- 403 Forbidden («запрещено») – нет доступа
Этот код означает, что сервер не дает ответ на запрос, так как у пользователя нет прав на файл, к которому он обратился. Возможно, сервер не принимает IP-адрес пользователя из-за его частых обращений.
- 404 Not Found («не найдено») – ресурс не найден
Этот код означает, что сервер не смог найти запрашиваемый ресурс, так как нужный файл удален, перемещен или неправильно введен URL.
- 405 Method Not Allowed («недопустимый метод») – невозможно применить
Этот код означает, что указанный метод не может быть применен к ресурсу.
- 406 Not Acceptable («Неприемлемый запрос») – не приемлемо
Этот код означает, что найденный ресурс не соответствует параметрам, указанным в запросе.
- 408 Request Timeout («Время запроса истекло») – время ожидания истекло
Этот код означает, что превышен временной лимит ожидания ответа от веб-ресурса.
- 409 Conflict («Конфликт») – конфликт
Этот код означает, что запрос пользователя не может быть выполнен, например, из-за одновременной попытки двух пользователей внести изменения в файл.
- 410 Gone («Ресурс недоступен») – ресурс удален
Этот код означает, что запрашиваемый пользователем ресурс удален, а его новое местоположение не указано.
- 413 Request Entity Too Large («Тело запроса превышает допустимый размер») – большой объем запроса
Этот код означает, что клиент ввел настолько большой запрос, что сервер не может его обработать.
- 424 Failed Dependency («Неверная зависимость») – невыполнимая зависимость
Этот код означает, что запрос пользователя не может быть выполнен, пока не будет завершено выполнение какой-то другой операции.
- 426 Upgrade Required («Требуется обновление») – обновить
Этот код означает, что для выполнения запроса необходимо обновить протокол.
Основные коды ошибок сервера 5хх
- 500 Internal Server Error («внутренняя ошибка сервера») – ошибка сервера
Этот код означает, что сервер не может выполнить запрос пользователя по неизвестной внутренней причине. Чаще всего это случается из-за некорректной настройки сервера.
- 502 Bad Gateway («ошибочный шлюз») – неправильный шлюз
Этот код означает, что сервер является шлюзом или прокси сервером и не может получать ответы от страниц, которые могут обработать введенный пользователем запрос.
- 503 Service Unavailable («сервис недоступен») – служба недоступна
Этот код означает, что сервер перегружен запросами или находится на техническом обслуживании.
- 504 Gateway Timeout («шлюз не отвечает») – таймаут шлюза
Этот код означает, что сервер, к которому обратился пользователь, является шлюзом или прокси, истек временной лимит на получение им ответа от back-end сервера.
Услуги, связанные с термином:
Ошибки интернета | Ошибки HTTP | Server error codes
Код состояния HTTP (англ. HTTP status code) является частью первой строки ответа сервера. Он представляет из себя целое число из трех арабских цифр. Первая цифра указывает на класс состояния. За кодом ответа обычно следует отделённая пробелом поясняющая фраза на английском языке, которая разъясняет человеку причину именно такого ответа. Пример:
403 Access allowed only for registered users
Клиент узнаёт по коду ответа о результатах его запроса и определяет, какие действия ему предпринимать дальше. Набор кодов состояния является стандартом, и все они описаны в соответствующих документах RFC. Введение новых кодов должно производится только после согласования с IETF. Клиент может не знать все коды состояния, но он обязан отреагировать в соответствии с классом кода.
В настоящее время выделено пять классов кодов состояния:
1xx: Informational (Информационный) — запрос получен и понят, а обработка продолжается.
2xx: Success (Успешно) — запрос был успешно получен, понят и обработан.
3xx: Redirection (Перенаправление) — для выполнения запроса должны быть предприняты дальнейшие действия.
4xx: Client Error (Ошибка клиента) — запрос имеет плохой синтаксис или не может быть выполнен.
5xx: Server Error (Ошибка сервера) — сервер не в состоянии выполнить допустимый запрос.
Ниже представлены коды ответа из реестра кодов состояния IANA.
Коды 3xx (перенаправление)
Перечень кодов статуса HTTP, использующихся при перенаправлении запроса (коды 3xx)
300 Множественный выбор
Затребованный URL обозначает более одного ресурса, и робот не смог однозначно определить, к какой странице URL относится (получен код 300 Multiple Choices).
Исправьте заголовки или укажите ресурс правильно, и тогда робот сможет проиндексировать страницу.
301 Ресурс перемещен навсегда
Документ уже не используется сервером, а ссылка перенаправляет на другую страницу (получен код 301 Moved Permanently).
Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.
302 Ресурс временно перемещен
Запрошенный ресурс временно находится под другим адресом (получен код 302 Moved Temporarily).
Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.
303 Смотрите другой ресурс
Запрошенный ресурс находится под другим адресом и его следует запрашивать, используя метод GET (получен код 303 See Other). Если вы хотите, чтобы указанная страница находилась в поиске, она должна отвечать кодом 200.
304 Ресурс не изменялся
Получен код 304 Not Modified. Если страница не изменилась с момента последнего обращения робота, рекомендуется выдавать этот код. Это ускорит индексацию и уменьшит трафик.
305 Следует использовать прокси
Доступ к затребованному ресурсу может осуществляться только через прокси-сервер, указанный в заголовке Location (получен код 305 Use Proxy).
307 Временное перенаправление
Затребованный ресурс был временно переведен на другой адрес, который необходимо прописать в Location (получен код 307 Temporary Redirect).
Коды 4xx (ошибка клиента)
Содержит перечень кодов статуса HTTP, использующихся для обозначения возможных ошибок в клиентском запросе (коды 4xx).
400 Неверный запрос
Запрос не может быть понят сервером из-за некорректного синтаксиса (получен код 400 Bad Request).
401 Неавторизованный запрос
Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем (получен код 401 Unauthorized).
402 Необходима оплата за запрос
Внутренняя ошибка или ошибка конфигурации сервера (получен код 402 Payment Required).
403 Доступ к ресурсу запрещен
Доступ к документу запрещен (получен код 403 Forbidden). Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней.
404 Ресурс не найден
Документ не существует (получен код 404 Not Found). Если вы удалили какой-то раздел сайта, можно с помощью robots. txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт.
405 Недопустимый метод
Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса, поэтому робот не смог его проиндексировать (получен код 405 Method Not Allowed).
406 Неприемлемый запрос
Нужный документ существует, но не в том формате (язык или кодировка не поддерживаются роботом). Получен код 406 Not Acceptable.
407 Требуется идентификация прокси, файервола
Необходима регистрация на прокси-сервере (получен код 407 Proxy Authentication Required).
408 Время запроса истекло
Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение (получен код 408 Request Timeout).
409 Конфликт
Запрос конфликтует с другим запросом или с конфигурацией сервера (получен код 409 Conflict).
410 Ресурс недоступен
Затребованный ресурс был окончательно удален с сайта (получен код 410 Gone).
411 Необходимо указать длину
Сервер отказывается принимать запрос без определенного заголовка Content-Length (получен код 411 Length Required). Поправьте заголовки на своем сервере;- тогда в следующий раз робот сможет проиндексировать страницу.
412 Сбой при обработке предварительного условия
При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). Получен код 412 Precondition Failed.
413 Тело запроса превышает допустимый размер
Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер (получен код 413 Request Entity Too Large).
414 Недопустимая длина URI запроса
Сервер отказывается обслуживать запрос, потому что запрашиваемый роботом URI (Request-URI) длиннее, чем сервер может интерпретировать (получен код 414 Request-URI Too Long).
415 Неподдерживаемый MIME тип
Сервер отказывается обрабатывать запрос, потому что тело запроса имеет неподдерживаемый формат (получен код 415 Unsupported Media Type).
416 Диапазон не может быть обработан
Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов (получен код 416 Requested Range Not Satisfiable).
417 Сбой при ожидании
Сервер отказывается обрабатывать запрос, потому что значение поля Expect в заголовке запроса не соответствует ожиданиям (получен код 417 Expectation Failed).
422 Необрабатываемый элемент
Сервер не в состоянии обработать один (или более) элемент запроса (получен код 422 Unprocessable Entity).
423 Заблокировано
Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован (получен код 423 Locked).
424 Неверная зависимость
Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован (получен код 424 Failed Dependency).
426 Требуется обновление
Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом (получен код 426 Upgrade Required).
Коды 5xx (ошибка сервера)
Перечень кодов статуса HTTP, использующихся для обозначения возможных ошибок сервера (коды 5xx)
500 Внутренняя ошибка сервера
Сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос (получен код 500 Internal Server Error).
501 Метод не поддерживается
Сервер не поддерживает функциональные возможности, требуемые для выполнения запроса (получен код 501 Not Implemented). Этот ответ соответствует состоянию, когда сервер не распознает метод запроса и не способен обеспечить его для любого ресурса.
502 Ошибка шлюза
Сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос (получен код 502 Bad Gateway).
503 Служба недоступна
Возникла ошибка из-за временной перегрузки или отключения на техническое обслуживание сервера (получен код 503 Service Unavailable).
504 Время прохождения через межсетевой шлюз истекло
Сервер, при работе в качестве внешнего шлюза или прокси-сервера, своевременно не получил отклик от вышестоящего сервера, к которому он обратился, пытаясь выполнить запрос (получен код 504 Gateway Timeout).
505 Версия НТТР не поддерживается
Сервер не поддерживает или отказывается поддерживать версию HTTP-протокола, которая используется в сообщении запроса робота (получен код 505 HTTP Version Not Supported).
507 Недостаточно места
Сервер не может обработать запрос из-за недостатка места на диске (получен код 507 Insufficient Storage).
510 Отсутствуют расширения
Сервер не может обработать запрос из-за того, что запрашиваемое расширение не поддерживается (получен код 510 Not Extended).
Источник: yandex.ru, wikipedia.org, adamkoford.com
Распространенные ошибки и коды состояния HTTP при тестировании веб-сайтов — TestMatick
Как мы знаем, клиент-серверная архитектура позволяет совершать разнообразные операции на просторах Интернета. В подобной схеме взаимодействия можно выделить 2 базовые стороны: клиент (заказчик) и сервер (поставщик услуг).
Клиентом в данном случае может быть любое программное обеспечение, которое имеет подключение к сети, отправляет сформированные запросы и обрабатывает ответы, исходящие от сервера.
Клиентами могут выступать:
- веб-браузеры;
- мобильное ПО;
- умная встроенная бытовая техника;
- разнообразные серверные приложения.
Сервер – виртуальная машина, которая имеет подключение к сети. Ее базовая задача – получение запросов, их обработка и отправка клиенту данных в определенном формате.
К серверам причисляют:
- Локальный веб-сервер;
- Любой сервер на основе HTTP;
- Специализированные наборы серверных машин.
Веб-браузер начинает диалог с сервером на базе HTTP-протокола, отправляя запрос, в котором указано, какие именно данные и какого типа он ожидает получить на вход. Сервер, сразу же после получения запроса и его обработки, направляет браузеру определенное сообщение (так называемый HTTP-ответ), который содержит запрошенную информацию (как правило, это HTML документ). Подобные сообщения содержат данные и специальные коды текущего состояния, по которым веб-браузеры могут определять, успешно ли был обработан входящий запрос.
Конечный итог обработки запроса, который всегда содержится в 1 строке ответа сервера, именуется кодом ответа или кодом текущего состояния. Данные сообщения отправляются каждый раз при взаимодействии веб-браузера и сервера, даже если пользователю сайта они не видны.
Виды кодов ответов
Все коды ответов можно разделить между собой на определенные классы. Класс состояния обозначается 1 цифрой, которая должна определять состояние веб-страницы, две остальные цифры носят уточняющий характер.
Выделяют 5 классов кодов по состоянию:
- 1хх – группа информационных кодов. Их задача состоит в обработке информации, создании сообщения о том, что текущий запрос принят, и передаче данных.
- 2хх – успешная обработка запроса. Запрос уже получен сервером и успешно выполнен без каких-либо ошибок.
- 3хх – перенаправление (англ. redirect). Данный код сообщает о текущей необходимости отправить запрос по иному адресу при смене расположения нужного файла.
- 4хх – ошибки на стороне пользователя. Такие ошибки могут указывать на то, что данный файл по запрашиваемому адресу не найден.
- 5хх – ошибки на стороне сервера. При выполнении запроса случился сбой сервера.
Для того, чтобы узнать код состояния запроса в веб-браузере нужно открыть панель инструментов веб-разработчика. Значение кода будет доступно в столбце «Status» в специальной вкладке «Network». После того, как консоль будет открыта, нужно обновить страницу.
Коды ответа HTTP
Часто встречающиеся ошибки
Ошибка 400
«Неверный запрос» (Bad request) – неверно сформулированный запрос (допущенная синтаксическая ошибка в теле запроса). Пользовательский клиент может попробовать загрузить очень большой файл. Из-за этого запрос может быть сформирован некорректно, заголовки HTTP могут содержать ошибки и так далее.
Возможные причины:
- Работа веб-браузера блокируется антивирусом;
- Работа веб-браузера блокируется включенным брандмауэром Windows;
- Неверные конфигурации веб-браузера;
- Некачественное интернет-соединение.
Ошибка 403
«Доступ запрещен» (Forbidden) – текущий запрос не может быть обработанным из-за некоторых ограничений доступа к запрашиваемым данным.
Возможные причины:
- Некоторая ошибка внутри индекса файла;
- У сервера нет права доступа к нужной части информации;
- Группа файлов находится в неверно указанной директории.
Ошибка 404
«Файл не найден» (Not Found) – очень часто встречаемая ошибка в сети. Она указывает на то, что определенный файл по текущему адресу не может быть найден. Пользователям чаще всего встречается ошибка 404 при работе с так называемыми «битыми ссылками».
Возможные причины:
- Несуществующий URL;
- На текущем сервере полностью отсутствуют запрашиваемые файлы и конфигурации.
Ошибка 500
«Внутренняя ошибка сервера» (Internal Server Error) – может возникнуть непредвиденная пользователем ситуация на сервере, которая запросто классифицируется в другие известные коды сетевых ошибок.
Причины возникновения:
- Сценарий не запускается сервером;
- Скрипт содержит массу ошибок;
- Некорректный синтаксис файла . htaccess (вписана некорректная конструкция).
Ошибка 502
«Плохой шлюз» (Bad Gateway) – сервер получает ответ о наличии ошибки или полном отсутствии связи от следующего виртуального сервера, к которому он выполнил «сетевое обращение».
Возможные причины:
- Недостаточные возможности ресурсов сервера;
- Неверная работа прокси-сервера.
Ошибка 503
«Сервис временно недоступен» (Service Temporarily Unavailable) – текущая недоступность сервера, которая сопряжена с некоторыми техническими неурядицами.
Возможные причины:
- Сервер находится в перегруженном состоянии;
- Сервер в данный момент находится на техническом обслуживании.
Практически любой тестировщик во время своей повседневной работы, так или иначе, сталкивается с разнообразными проверками запросов и сопряженными с ними ошибками. При тестировании работоспособности URL, важное значение имеет именно код ответа сервера, в особенности тот, который должен вести на несуществующую в природе страницу (ошибка с кодом 404).
Во время тестирования любого программного интерфейса приложения применяют именно запросы HTTP. Сервер, в свою очередь, на все запросы клиента может отправлять разнообразные коды. Данные коды демонстрируют ошибки или информируют пользователя о текущем состоянии сервера.
API (англ. application programming interface) позволяют предоставить клиентам подобные данные. Процесс обмена данными и формат передачи информации четко структурирован, а значит, клиент и сервер точно знают, как им правильно взаимодействовать между собой.
На основе API можно быстро находить и идентифицировать такие баги в ПО, как:
- Неверная работа данных;
- Дублирование или полное отсутствие функционала;
- Некоторые проблемы с безопасностью API;
- Некорректное функционирование системы веб-безопасности;
- Неверно структурированные ответы;
- Некоторые вопросы многопоточности.
В заключение
Не только специалистам из сферы ИТ важно понимать специфику и природу возникновения HTTP-ошибок. Коды в первую очередь связанны с особенностями функциональной работы ресурса и уведомляют клиента о текущем состоянии веб-страниц.
Именно благодаря информации, которую может нести каждый код ошибки после запроса пользователя, сервер может изменять обработку данных. При ситуации, когда появляется ошибка, зная итог запроса, можно собственными силами попробовать устранить проблему.
Дополнительно можно отметить, что подобная диагностика кодов ошибок (при тестировании безопасности) позволяет обнаружить некоторые слабые места в тестируемом программном обеспечении.
HTTP код состояния 0-домен ошибки=NSURLErrorDomain?
Я работаю над проектом iOS.
В этом приложении я загружаю изображения с сервера.
Проблема:
Во время загрузки изображений я получаю тайм- аут запроса . Согласно документации HTTP код состояния тайм-аута запроса равен 408
.
Но в моем приложении я получаю код состояния HTTP 0
со следующей ошибкой
Домен Ошибки=NSURLErrorDomain Код=-1001 «The request timed out.» UserInfo=0xb9af710 {NSErrorFailingURLStringKey= http://xxxx.com/resources/p/PNG/1383906967_5621_63.jpg , NSErrorFailingURLKey= http://xxxx.com/resources/p/PNG/1383906967_5621_63.jpg , NSLocalizedDescription=время ожидания запроса истекло., NSUnderlyingError=0x13846870 » время ожидания запроса истекло.»}
Во время поиска в Интернете я не нашел никакой информации о коде состояния HTTP 0.
Кто-нибудь может мне это объяснить?
http download http-status-codes nserrorПоделиться Источник Irfan DANISH 08 ноября 2013 в 11:40
12 ответов
- Webview didFailLoadWithError код ошибки -999
В этом коде UIWebView не загружается, я видел это: Домен ошибки=NSURLErrorDomain код=-999 The operation couldn’t be completed. (NSURLErrorDomain error -999.) UserInfo=0x1c0e36e0 {NSErrorFailingURLKey= http:/ /…
- Swift Alamofire: как получить код состояния ответа HTTP
Я хотел бы получить код состояния ответа HTTP (например, 400, 401, 403, 503 и т. д.) Для сбоев запроса (и в идеале для успехов тоже). В этом коде я выполняю аутентификацию пользователя с помощью HTTP Basic и хочу иметь возможность сообщить пользователю, что аутентификация не удалась, когда…
97
Нет никакого кода состояния HTTP 0. То, что вы видите, — это 0, возвращаемое библиотекой API/, которую вы используете. Для этого вам придется проверить документацию.
Поделиться Julian Reschke 08 ноября 2013 в 15:23
75
Код состояния 0 в объекте NSHTTPURLResponse
обычно означает, что ответа не было, и может произойти по разным причинам. Сервер никогда не вернет статус 0, так как это неверный код состояния HTTP.
В вашем случае вы, похоже , получаете код состояния 0, потому что запрос истекает по времени, а 0-это просто значение по умолчанию для свойства. Сам тайм-аут может быть вызван различными причинами, такими как сервер просто не отвечает вовремя, блокируется брандмауэром или все ваше сетевое соединение не работает. Обычно в последнем случае телефон достаточно умен, чтобы знать, что у него нет сетевого подключения и он немедленно выйдет из строя. Однако он все равно потерпит неудачу с очевидным кодом состояния 0.
Обратите внимание, что в тех случаях, когда код состояния равен 0, реальная ошибка фиксируется в возвращаемом объекте NSError
, а не в объекте NSHTTPURLResponse
.
HTTP статус 408
довольно необычен в моем опыте. Сам я никогда с ними не сталкивался. Но он, по-видимому, используется в тех случаях, когда клиенту необходимо поддерживать активное соединение сокета с сервером, и сервер ожидает, что клиент отправит больше данных через открытый сокет, но это не происходит в течение заданного промежутка времени, и сервер завершает соединение с кодом состояния 408
, по сути сообщая клиенту «you took too long».
Поделиться devios1 27 апреля 2015 в 23:08
Поделиться VDN 08 ноября 2013 в 11:45
- Каковы все ошибки NSURLErrorDomain с эквивалентными кодами состояния HTTP?
В документации по ошибкам NSURLErrorDomain описание для NSURLErrorBadServerResponse указано следующим образом: Возвращается, когда система загрузки URL получает неверные данные с сервера. Это эквивалентно сообщению “500 Server Error”, отправленному серверами HTTP. Существуют ли другие ошибки…
- Alamofire 4 FAILURE: ошибка домена=NSURLErrorDomain код=-999 «отменено»
Привет, я пытаюсь использовать Alamofire для своего проекта, но выходит ошибка. Вот мой запрашивающий код //Google тестирование Alamofire.request(http://google.com).responseString{ response in debugPrint(response) }.session.invalidateAndCancel() Результат]: FAILURE: Домен Ошибки=NSURLErrorDomain…
10
В iOS SDK, когда ваш API тайм-аут вызова, вы получаете статус 0 для этого.
Поделиться Ankit Kumar Gupta 13 октября 2014 в 10:48
5
Исходя из моего ограниченного опыта, я бы сказал, что следующие два сценария могут вызвать реакцию status code: 0
, имейте в виду; их может быть больше, но я знаю об этих двух:
- ваша связь, возможно, реагирует медленно.
- или, может быть, внутренний сервер недоступен.
дело в том, что status: 0
немного универсален, и их может быть больше вариантов использования, которые вызывают пустое тело ответа.
Поделиться Simple-Solution 17 июня 2015 в 10:57
5
Код состояния ‘0’ может возникнуть по трем причинам
1) клиент не может подключиться к серверу
2) Клиент не может получить ответ в течение периода ожидания
3) запрос был «stopped(aborted)» клиентом.
Но эти три причины не стандартизированы
Поделиться Hariprasath Yadav 14 сентября 2018 в 08:03
4
HTTP ответ 0 не является стандартным HTTP ответом. Но это указывает на то, что клиент не смог соединиться с сервером и, следовательно, произошел четвертый тайм-аут.
Поделиться shuaib ahmad 27 июня 2018 в 03:10
2
Мы получили ошибку:
GET http://localhost/pathToWebSite/somePage.aspx вызвал ошибку http.status: 0
Этот вызов сделан из задачи windows, которая вызывает файл VBS, поэтому, чтобы устранить проблему, указал браузер на url, и мы получаем ошибку конфиденциальности:
Ваше подключение не защищено
Злоумышленники могут попытаться украсть вашу информацию из localhost (например, пароли, сообщения или кредитные карты). NET::ERR_CERT_COMMON_NAME_INVALID
Автоматически сообщайте подробности возможных инцидентов безопасности в Google. Политика конфиденциальности Back to safety этот сервер не смог доказать, что это так localhost; его сертификат безопасности от *. ourdomain.com. Это может быть вызвано неправильной конфигурацией или злоумышленником, перехватывающим ваше соединение. Учить больше.
Это происходит потому, что у нас есть правило перезаписи IIS URL, установленное для принудительного использования соединений https. Это правило перенаправляет http://localhost на https://localhost , но наш сертификат SSL основан на внешнем доменном имени, а не на localhost, поэтому ошибка, которая сообщается как код состояния 0. Таким образом, ошибка конфиденциальности может быть очень неясной причиной для этого кода состояния 0.
В нашем случае решение состояло в том, чтобы добавить исключение к правилу для localhost и разрешить http://localhost/pathToWebSite/somePage.aspx использовать http. Неясно, да, но я столкнусь с этим в следующем году, и теперь я найду свой ответ в поиске google.
Поделиться Jeff Mergler 05 мая 2017 в 23:55
2
Иногда браузер отвечает на обработчик ошибок http объектом Error, который имеет статус 0, даже если вы видите 404, 401, 500 и т. д. Статус ошибки в сети.
Это может произойти, если ваше приложение и API находятся в разных доменах — применяется механизм CORS. Согласно CORS для каждого запроса API браузер отправляет два запроса:
- предполетный запрос OPTIONS, чтобы понять, разрешает ли API фактический / исходный запрос.
- когда API позволяет (OPTIOS запрос отвечает со статусом 204 и правильными заголовками Access-Control-Allow-Origin) — браузер отправляет следующий «Actual/Origin запрос».
В приложении мы обрабатываем ответ на ошибку для «Actual/Origin запроса», и если «preflight OPTIONS request» не удалось-браузер не дает правильный объект HttpError для обработчика ошибки http. Поэтому, чтобы получить правильный статус ответа http-обязательно получите успешный предполетный ответ на запрос OPTIONS.
Поделиться Dmitriy Kusch 18 января 2019 в 06:58
Поделиться olivier 14 августа 2018 в 10:32
Поделиться mike nelson 21 января 2020 в 06:50
-1
При тайм-АУ gate way статус будет равен нулю при обратном вызове ошибки.
.error( function( data,status,headers,config){
console.log(status)
}
HTTP коды состояния
Поделиться Prashobh 15 марта 2017 в 10:51
Похожие вопросы:
Swift Домен Ошибок=NSURLErrorDomain Код=-1012
Я новый студент, работающий над летним проектом после моего первого курса с небольшим опытом, и я получаю ошибку Домен Ошибки=NSURLErrorDomain Код=-1012 (null) UserInfo={NSErrorFailingURLKey=…
Домен Ошибки=NSURLErrorDomain Код=-1202 iPhone
Я получаю следующую ошибку: Error Domain=NSURLErrorDomain Code=-1202 сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, который притворяется “api.linkedin.com”, что…
Домен ошибки=NSURLErrorDomain код=-1000 «bad URL» UserInfo=0x9eaa6b0
Когда start NSURLConnection несколько раз я получаю эти ошибки. Но, не всегда получается эта ошибка. Error Domain=NSURLErrorDomain Code=-1000 bad URL UserInfo=0x9eaa6b0 {NSUnderlyingError=0xae8c730…
Webview didFailLoadWithError код ошибки -999
В этом коде UIWebView не загружается, я видел это: Домен ошибки=NSURLErrorDomain код=-999 The operation couldn’t be completed. (NSURLErrorDomain error -999.) UserInfo=0x1c0e36e0…
Swift Alamofire: как получить код состояния ответа HTTP
Я хотел бы получить код состояния ответа HTTP (например, 400, 401, 403, 503 и т. д.) Для сбоев запроса (и в идеале для успехов тоже). В этом коде я выполняю аутентификацию пользователя с помощью…
Каковы все ошибки NSURLErrorDomain с эквивалентными кодами состояния HTTP?
В документации по ошибкам NSURLErrorDomain описание для NSURLErrorBadServerResponse указано следующим образом: Возвращается, когда система загрузки URL получает неверные данные с сервера. Это…
Alamofire 4 FAILURE: ошибка домена=NSURLErrorDomain код=-999 «отменено»
Привет, я пытаюсь использовать Alamofire для своего проекта, но выходит ошибка. Вот мой запрашивающий код //Google тестирование Alamofire.request(http://google.com).responseString{ response in…
IOS: kCFErrorDomainCFNetwork ошибка -1002. Домен ошибки=NSURLErrorDomain код=-1002 » неподдерживаемый URL»
привет всем я знаю такой вопрос задавался ранее но я не получил от них никакого решения в моем проекте я работаю в режиме входа в систему когда я ставлю код на кнопку входа в систему я получаю…
Домен Ошибки=NSURLErrorDomain Код=-1004
я новичок и сталкиваюсь с проблемой при развертывании своего приложения на телефоне. Приложение отлично работает на симуляторе, но когда я запускаю его на своем телефоне и пытаюсь отправить…
AFNetworking — HTTP ошибка загрузки (код ошибки: -999) swift iOS
Я использую AFNetworking с iOS 11. Я получаю ошибку типа: Задача <2EC9C49F-1889-4BFF-83B4-2047ED6E5F2A>.<1> HTTP загрузка не удалась (код ошибки: -999 [1:89]) Ошибка(countries.php): ошибка…
200 | OK | IIS 7.0 и более поздних версий успешно обработали запрос. |
304 | Не изменено | Браузер клиента запрашивает документ, который уже находится в кэше, и документ не был изменен с момента кэшировать документ. Браузер клиента использует кэшную копию документа вместо загрузки документа с сервера. |
400 | Неудачный запрос | Файл стека протокола передачи гипертекста (Http.sys) блокирует обработку запроса в IIS 7.0 и более поздних версий из-за проблемы в запросе. Как правило, этот код состояния HTTP означает, что запрос содержит символы или последовательности, которые не являются допустимым, или что запрос противоречит настройкам безопасности в Http.sys файле. |
401.1 | Сбой при влиять на себя | Попытка доступа к учетной записи неуспешна, вероятно, из-за того, что имя пользователя или пароль не являются допустимым. |
401.2 | Сбой при доступе к данным из-за конфигурации сервера | Этот код состояния HTTP указывает на проблему в параметрах конфигурации проверки подлинности на сервере. |
401.3 | Неавторизованная из-за ACL для ресурса | Этот код состояния HTTP указывает на проблему в разрешениях файловой системы NTFS. Эта проблема может возникнуть, даже если для файла, к который вы пытаетесь получить доступ, имеются правильные разрешения. Например, эта проблема возникает, если учетная запись IUSR не имеет доступа к C:\Winnt\System32\Inetsrv каталогу. |
401.4 | Сбой авторизации с помощью фильтра | Фильтр ISAPI не дает возможность обрабатывать запрос из-за проблемы авторизации. |
401.5 | Сбой авторизации с помощью приложения ISAPI/CGI | Приложение ISAPI или приложение CGI не могут обрабатывать запрос из-за проблемы авторизации. |
403.1 | Запрещен доступ к выполнению | Соответствующий уровень разрешения «Выполнение» не предоставляется. |
403.2 | Доступ на чтение запрещен | Соответствующий уровень разрешения на чтение не предоставляется. Убедитесь, что вы настроили IIS 7.0 и более поздних версий, чтобы предоставить каталогу разрешение на чтение. Кроме того, при использовании документа по умолчанию убедитесь, что документ по умолчанию существует. |
403.3 | Доступ на записи запрещен | Соответствующий уровень разрешения на записи не предоставляется. Убедитесь, что разрешения IIS 7.0 и более поздних версий и разрешения файловой системы NTFS настроены для предоставления каталогу разрешения на записи. |
403.4 | Требуется SSL | Запрос передается через незасвеченный канал, и веб-приложению требуется SSL-подключение. |
403.5 | Требуется SSL 128 | Для сервера настроено 128-битное SSL-подключение. Однако запрос не отправляется с использованием 128-битного шифрования. |
403.6 | IP-адрес отклонен | Сервер настроен на запрет доступа к текущему IP-адресу. |
403.7 | Требуется сертификат клиента | Сервер настроен так, чтобы для проверки подлинности клиента требовался сертификат. Однако в браузере клиента не установлен соответствующий сертификат клиента. Дополнительные сведения см. в http-ошибке 403.7 при запуске веб-приложения, которое находится на сервере с IIS 7.0. |
403.8 | Доступ к сайту отказано | Сервер настроен на запрет запросов на основе DNS-имени клиентского компьютера. |
403.12 | Mapper denied access | Для страницы, к которую требуется получить доступ, требуется сертификат клиента. Однако доступ к файлу отказано в доступе к ИД пользователя, соединому с сертификатом клиента. |
403.13 | Клиентский сертификат отозван | Браузер клиента пытается использовать клиентский сертификат, который был отозван выдавным органом сертификации. |
403.14 | Отказано в перечне каталогов | Сервер не настроен для отображения списка каталогов контента, а документ по умолчанию не за установлен. see HTTP Error 403.14 — Forbidden when you open an IIS Webpage. |
403.16 | Сертификат клиента недостоверный или недопустимый. | Браузер клиента пытается использовать клиентский сертификат, который не является доверенным для сервера, на сервере с IIS 7.0 и более поздних версий или является недостоверным. Дополнительные сведения см. в http-ошибке 403.16при попытке доступа к веб-сайту, который имеется в IIS 7.0. |
403.17 | Срок действия сертификата клиента истек или еще не действителен. | Браузер клиента пытается использовать сертификат клиента, срок действия которого истек или который еще не действителен. |
403.18 | Не удается выполнить запрашиваемую URL-адрес в текущем пуле приложений. | Настраиваемая страница ошибок настроена, а страница настраиваемой ошибки находится в пуле приложений, который отличается от пула приложений запрашиваемого URL-адреса. |
403.19 | Не удается выполнить приложения CGI для клиентского браузера в этом пуле приложений. | Удостоверение пула приложений не имеет права пользователя на замену маркера на уровне процесса. |
404.0 | Не найдено. | Файл, к который вы пытаетесь получить доступ, был перемещен или не существует. |
404.2 | Ограничение ISAPI или CGI. | На компьютере запрещен доступ к запрашиваемой ресурсу ISAPI или ресурсу CGI. Дополнительные сведения см. в ошибке HTTP 404.2 при посещении веб-страницы, которая находится на компьютере под управлением IIS 7.0. |
404.3 | Ограничение типа MIME. | Текущее сопоставление MIME для запрашиваемого типа расширения не является допустимым или не настроено. |
404.4 | Обработатор не настроен. | Расширение имени файла запрашиваемого URL-адреса не имеет обработка, настроенная для обработки запроса на веб-сервере. |
404.5 | Отклонено конфигурацией фильтрации запросов. | Запрашиваемая последовательность содержит последовательность символов, заблокированную сервером. |
404.6 | Отказано в глаголе. | Запрос сделан с помощью команды HTTP, которая не настроена или не является допустимой. |
404.7 | Расширение файла отклонено. | Запрашиваемая расширение имени файла не разрешена. |
404.8 | Скрытое пространство имен. | Запрашивается URL-адрес, так как каталог скрыт. |
404.9 | Атрибут Files скрыт. | Запрашиваемая папка скрыта. |
404.10 | Слишком длинный заголок запроса. | Запрос отклонен, так как слишком длинные заглавные данные запроса. |
404.11 | Запрос содержит двойную escape-последовательность. | Запрос содержит двойную escape-последовательность. |
404.12 | Запрос содержит высоко битные символы. | Запрос содержит высоко битные символы, и сервер настроен на то, чтобы не разрешались высоко битные символы. |
404.13 | Слишком большая длина содержимого. | Запрос содержит Content-Length заголок. Значение загона превышает допустимый предел Content-Length для сервера. Дополнительные сведения см. в http-ошибке 404.13 CONTENT_LENGTH_TOO_LARGEпри посещении веб-сайта, который находится на сервере с IIS 7.0. |
404.14 | Слишком длинный URL-адрес запроса. | Запрашиваемая URL-адрес превышает ограничение, допустимые для сервера. |
404.15 | Слишком длинная строка запроса. | Запрос содержит строку запроса, которая превышает допустимый предел для сервера. |
404.17 | Динамическое содержимое, соединяемое с статическим обработом файлов. | Дополнительные сведения см. в сообщении об ошибке при посещении веб-сайта, который находится в IIS 7.0: ошибка HTTP 404.17 — не найдена. |
405.0 | Метод не разрешен. | Запрос сделан с помощью не допустимого метода HTTP. Дополнительные сведения см. в ошибке HTTP 405.0при посещении веб-сайта, который находится на сервере под управлением IIS. |
406.0 | Недопустимый тип MIME. | Запрос сделан с использованием Accept загона, который содержит значение MIME, которое не является допустимым. |
412.0 | Сбой предварительного условия. | Запрос сделан с использованием If-Match загона запроса, который содержит значение, которое не является допустимым. |
500 | Внутренняя ошибка сервера. | Этот код состояния HTTP может возникать по многим причинам на стороне сервера. Дополнительные сведения см. в http-ошибке 500.0 —внутренняя ошибка сервера при открываемой веб-странице IIS 7.0. |
500.11 | Приложение выключается на веб-сервере. | Запрос не обрабатывается, так как пул приложений назначения закрывается. Подождите, пока рабочий процесс завершит работу, а затем еще раз попробуйте запрос. Если эта проблема сохраняется, в веб-приложении могут возникнуть проблемы, которые препятствуют корректной остановке веб-приложения. |
500.12 | Приложение занято перезапуском на веб-сервере. | Запрос не обрабатывается из-за перезапуска пула приложений назначения. Этот код состояния HTTP должен исчезнуть при обновлении страницы. Если этот код состояния HTTP появится снова после обновления страницы, проблема может быть вызвана антивирусной программой, которая сканирует файл Global.asa. Если эта проблема сохраняется, в веб-приложении могут возникнуть проблемы, препятствующие корректной перезагрузке веб-приложения. |
500.13 | Веб-сервер занят. | Запрос не обрабатывается, так как сервер занят, чтобы принимать новые входящие запросы. Как правило, этот код состояния HTTP означает, что число входящих одновременно запрашиваемой информации превышает число, которое может обработать веб-приложение IIS 7.0 и более поздних версий. Эта проблема может возникнуть из-за слишком низкого уровня параметров конфигурации производительности, нехватки оборудования или возникновения узкого места в веб-приложении IIS 7.0 и более поздних версий. Распространенный способ устранения неполадок — создание файла дампа памяти процессов IIS 7.0 и более поздних версий при ошибке, а затем отладка файла дампа памяти. |
500.15 | Прямые запросы global.asax не разрешены. | Прямой запрос файла Global.asa или Global.asax. |
500.19 | Недопустимые данные конфигурации. | Этот код состояния HTTP возникает из-за проблемы в связанном applicationhost.config или связанном Web.config файле. Дополнительные сведения см. в http-ошибке 500.19 при открываемой веб-странице IIS. |
500.100 | Внутренняя ошибка ASP. | Ошибка возникает во время обработки страницы ASP (ASP). Чтобы получить более конкретные сведения об ошибке, отключать сообщения об ошибках HTTP в веб-браузере. Кроме того, в журнале IIS может быть номер ошибки ASP, соответствующий ошибке. |
503.0 | Служба недоступна. | Запрос отправляется в пул приложений, который в настоящее время остановлен или отключен. Чтобы устранить эту проблему, убедитесь, что запущен пул приложений назначения. В журнале событий могут быть сведения о том, почему пул приложений остановлен или отключен. |
503.2 | Превышено ограничение одновременного запроса. | Для свойства устанавливается значение, меньшее, чем текущее число одновременно appConcurrentRequestLimit запрашиваемой информации. IIS 7.0 и более поздних версий не позволяют использовать большее количество одновременно запрашиваемого значения, чем значение appConcurrentRequestLimit свойства. |
Сообщения об ошибках и типы ресурсов Microsoft Graph — Microsoft Graph
- Чтение занимает 6 мин
В этой статье
Сообщения об ошибках в Microsoft Graph возвращаются с использованием стандартных кодов состояния HTTP, а также JSON-объекта сообщения об ошибке.Errors in Microsoft Graph are returned using standard HTTP status codes, as well as a JSON error response object.
Коды состояния HTTPHTTP status codes
В приведенной ниже таблице представлен список возможных кодов состояния HTTP и их описаний.The following table lists and describes the HTTP status codes that can be returned.
Код состоянияStatus code | Сообщение о состоянииStatus message | ОписаниеDescription |
---|---|---|
400400 | Неправильный запрос (Bad Request)Bad Request | Не удается обработать запрос, так как он имеет неправильный формат или содержит ошибку.Cannot process the request because it is malformed or incorrect. |
401401 | Не авторизован (Unauthorized)Unauthorized | Требуемые сведения о проверке подлинности отсутствуют или недопустимы для ресурса.Required authentication information is either missing or not valid for the resource. |
403403 | ЗапрещеноForbidden | Доступ к запрошенному ресурсу запрещен. Возможно, у пользователя недостаточно разрешений.Access is denied to the requested resource. The user might not have enough permission. Важно! Если к ресурсу применены политики условного доступа, то, возможно, будет возвращена ошибка HTTP 403; Forbidden error=insufficent_claims.Important: If conditional access policies are applied to a resource, a HTTP 403; Forbidden error=insufficent_claims may be returned. Дополнительные сведения о Microsoft Graph и условном доступе см. в статье Руководство для разработчиков по условному доступу в Azure Active DirectoryFor more details on Microsoft Graph and conditional access see Developer Guidance for Azure Active Directory Conditional Access |
404404 | Не найдено (Not Found)Not Found | Запрашиваемый ресурс не существует.The requested resource doesn’t exist. |
405405 | Недопустимый метод (Method Not Allowed)Method Not Allowed | Метод HTTP в запросе недопустим для ресурса.The HTTP method in the request is not allowed on the resource. |
406406 | Неприемлемо (Not Acceptable)Not Acceptable | Эта служба не поддерживает формат, запрошенный в заголовке Accept.This service doesn’t support the format requested in the Accept header. |
409409 | Конфликт (Conflict)Conflict | Текущее состояние противоречит ожидаемым результатам запроса. Например, может отсутствовать указанная родительская папка.The current state conflicts with what the request expects. For example, the specified parent folder might not exist. |
410410 | Отсутствует (Gone)Gone | Запрошенный ресурс недоступен на сервере.The requested resource is no longer available at the server. |
411411 | Требуется длина (Length Required)Length Required | В запросе нужно указать заголовок Content-Length.A Content-Length header is required on the request. |
412412 | Необходимое условие не выполнено (Precondition Failed)Precondition Failed | Необходимое условие, указанное в запросе (например, заголовок If-Match), не соответствует текущему состоянию ресурса.A precondition provided in the request (such as an if-match header) does not match the resource’s current state. |
413413 | Слишком большой объект запроса (Request Entity Too Large)Request Entity Too Large | Размер запроса превышает максимальное значение.The request size exceeds the maximum limit. |
415415 | Неподдерживаемый тип носителя (Unsupported Media Type)Unsupported Media Type | Тип содержимого запроса имеет формат, который не поддерживает служба.The content type of the request is a format that is not supported by the service. |
416416 | Запрошенный диапазон невыполним (Requested Range Not Satisfiable)Requested Range Not Satisfiable | Указан недопустимый или недоступный диапазон байтов.The specified byte range is invalid or unavailable. |
422422 | Необрабатываемый объект (Unprocessable Entity)Unprocessable Entity | Не удается обработать запрос из-за неправильной семантики.Cannot process the request because it is semantically incorrect. |
423423 | ЗаблокированLocked | Ресурс заблокирован.The resource that is being accessed is locked. |
429429 | Слишком много запросов (Too Many Requests)Too Many Requests | Количество запросов клиентского приложения отрегулировано, оно сможет повторить запрос по истечении некоторого времени.Client application has been throttled and should not attempt to repeat the request until an amount of time has elapsed. |
500500 | Внутренняя ошибка сервера (Internal Server Error)Internal Server Error | При обработке запроса возникла внутренняя ошибка сервера.There was an internal server error while processing the request. |
501501 | Не реализовано (Not Implemented)Not Implemented | Запрашиваемая функция не реализована.The requested feature isn’t implemented. |
503503 | Служба недоступна (Service Unavailable)Service Unavailable | Служба недоступна из-за перегрузки или отключена для проведения технических работ. Вы можете повторить запрос через некоторое время, которое может быть указано в заголовке Retry-After.The service is temporarily unavailable for maintenance or is overloaded. You may repeat the request after a delay, the length of which may be specified in a Retry-After header. |
504504 | Истекло время ожидания шлюза (Gateway Timeout)Gateway Timeout | При попытке выполнить запрос, сервер, выполняя роль прокси-сервера, не получил своевременный ответ от сервера более высокого уровня, необходимый для доступа. Может возникать вместе с ошибкой 503.The server, while acting as a proxy, did not receive a timely response from the upstream server it needed to access in attempting to complete the request. May occur together with 503. |
507507 | Недостаточно места (Insufficient Storage)Insufficient Storage | Достигнута максимальная квота хранилища.The maximum storage quota has been reached. |
509509 | Превышено ограничение пропускной способности (Bandwidth Limit Exceeded)Bandwidth Limit Exceeded | Пропускная способность приложения отрегулирована из-за превышения максимально допустимой пропускной способности. Приложение сможет повторить запрос по истечении некоторого времени.Your app has been throttled for exceeding the maximum bandwidth cap. Your app can retry the request again after more time has elapsed. |
Сообщение об ошибке — это один объект JSON, содержащий одно свойство error. Этот объект включает все сведения об ошибке. Вы можете использовать возвращенные сведения вместо кода состояния HTTP или вместе с ним. Ниже представлен пример полного текста ошибки JSON.The error response is a single JSON object that contains a single property named error. This object includes all the details of the error. You can use the information returned here instead of or in addition to the HTTP status code. The following is an example of a full JSON error body.
{
"error": {
"code": "invalidRange",
"message": "Uploaded fragment overlaps with existing data.",
"innerError": {
"requestId": "request-id",
"date": "date-time"
}
}
}
Тип ресурса ошибкиError resource type
Ресурс ошибки возвращается, если при обработке запроса происходит ошибка.The error resource is returned whenever an error occurs in the processing of a request.
Сообщения об ошибках соответствуют определению в спецификации OData версии 4.Error responses follow the definition in the OData v4 specification for error responses.
Представление JSONJSON representation
Ресурс ошибки состоит из указанных ниже ресурсов.The error resource is composed of these resources:
{
"error": { "@odata.type": "odata.error" }
}
Тип ресурса odata.errorodata.error resource type
Сообщение об ошибке содержит ресурс ошибки, состоящий из следующих свойств:Inside the error response is an error resource that includes the following properties:
{
"code": "string",
"message": "string",
"innererror": { "@odata.type": "odata.error" }
}
Имя свойстваProperty name | ЗначениеValue | ОписаниеDescription |
---|---|---|
codecode | stringstring | Строка с кодом возникшей ошибкиAn error code string for the error that occurred |
messagemessage | stringstring | Сообщение для разработчика о возникшей ошибке. Оно не предназначено для пользователя.A developer ready message about the error that occurred. This should not be displayed to the user directly. |
innererrorinnererror | error objecterror object | Необязательное. Дополнительные объекты ошибки, которые могут быть более информативны, чем сообщение об ошибке верхнего уровня.Optional. Additional error objects that may be more specific than the top level error. |
Свойство codeCode property
Свойство code
содержит одно из перечисленных ниже значений. Приложения должны быть готовы к любой из этих ошибок.The code
property contains one of the following possible values. Your apps should be prepared to handle any one of these errors.
КодCode | ОписаниеDescription |
---|---|
accessDeniedaccessDenied | У вызывающей стороны нет разрешения на выполнение действия.The caller doesn’t have permission to perform the action. |
activityLimitReachedactivityLimitReached | Действия приложения или пользователя превысили ограничения.The app or user has been throttled. |
extensionErrorextensionError | Почтовый ящик расположен в локальной системе, а сервер Exchange Server не поддерживает федеративные запросы Microsoft Graph или политика приложений не позволяет приложению получить доступ к почтовому ящику.The mailbox is located on premises and the Exchange server does not support federated Microsoft Graph requests, or an application policy prevents the application from accessing the mailbox. |
generalExceptiongeneralException | Произошла неуказанная ошибка.An unspecified error has occurred. |
invalidRangeinvalidRange | Указан недопустимый или недоступный диапазон байтов.The specified byte range is invalid or unavailable. |
invalidRequestinvalidRequest | Запрос имеет неправильный формат или содержит ошибку.The request is malformed or incorrect. |
itemNotFounditemNotFound | Не удалось найти ресурс.The resource could not be found. |
malwareDetectedmalwareDetected | В запрошенном ресурсе обнаружена вредоносная программа.Malware was detected in the requested resource. |
nameAlreadyExistsnameAlreadyExists | Элемент с указанным именем уже существует.The specified item name already exists. |
notAllowednotAllowed | Действие запрещено системой.The action is not allowed by the system. |
notSupportednotSupported | Запрос не поддерживается в системе.The request is not supported by the system. |
resourceModifiedresourceModified | Обновляемый ресурс изменился с момента последнего чтения вызывающей стороной. Как правило, не совпадают теги eTag.The resource being updated has changed since the caller last read it, usually an eTag mismatch. |
resyncRequiredresyncRequired | Разностный токен больше не действителен, а приложение должно сбросить состояние синхронизации.The delta token is no longer valid, and the app must reset the sync state. |
serviceNotAvailableserviceNotAvailable | Служба недоступна. Повторите запрос через некоторое время. Возможно, существует заголовок Retry-After.The service is not available. Try the request again after a delay. There may be a Retry-After header. |
syncStateNotFoundsyncStateNotFound | Создание состояния синхронизации не найдено.The sync state generation is not found. Срок действия разностного маркера истек, и данные требуется синхронизировать повторно.The delta token is expired and data must be synchronized again. |
quotaLimitReachedquotaLimitReached | Пользователь превысил квоту.The user has reached their quota limit. |
unauthenticatedunauthenticated | Вызывающая сторона не прошла проверку подлинности.The caller is not authenticated. |
Объект innererror
может рекурсивно содержать дополнительные объекты innererror
с другими, более подробными кодами ошибок. При обработке ошибок приложения должны перебирать все доступные коды ошибок и использовать самый подробный и понятный. В конце этой страницы приведено несколько более подробных кодов.The innererror
object might recursively contain more innererror
objects with additional, more specific error codes. When handling an error, apps should loop through all the error codes available and use the most detailed one that they understand. Some of the more detailed codes are listed at the bottom of this page.
Чтобы убедиться, что объект ошибки представляет собой ожидаемую ошибку, необходимо перебрать объекты innererror
и найти ожидаемые коды ошибок. Например:To verify that an error object is an error you are expecting, you must loop over the innererror
objects, looking for the error codes you expect. For example:
public bool IsError(string expectedErrorCode)
{
OneDriveInnerError errorCode = this.Error;
while (null != errorCode)
{
if (errorCode.Code == expectedErrorCode)
return true;
errorCode = errorCode.InnerError;
}
return false;
}
В примере Обработка кодов ошибок показано, как правильно обрабатывать ошибки.For an example that shows how to properly handle errors, see Error Code Handling.
Свойство message
в корне содержит сообщение об ошибке, предназначенное для разработчика. Сообщения об ошибках не локализованы и не предназначены для пользователя. Приложение не должно обрабатывать значения message
, так как они могут измениться в любое время и часто содержат динамические сведения, связанные с неудачным запросом. Приложение должно обрабатывать только те коды ошибок, которые возвращаются в свойствах code
.The message
property at the root contains an error message intended for the developer to read. Error messages are not localized and shouldn’t be displayed directly to the user. When handling errors, your code should not key off of message
values because they can change at any time, and they often contain dynamic information specific to the failed request. You should only code against error codes returned in code
properties.
Подробные коды ошибокDetailed error codes
Ниже приведено несколько дополнительных ошибок, которые могут возникать при работе приложения во вложенных объектах innererror
. Приложения не обязаны их обрабатывать. Служба в любое время может добавить новые коды ошибок или прекратить возврат старых кодов, поэтому важно, чтобы все приложения могли обрабатывать основные коды ошибок.The following are some additional errors that your app might encounter within the nested innererror
objects. Apps are not required to handle these, but can if they choose. The service might add new error codes or stop returning old ones at any time, so it is important that all apps be able to handle the basic error codes.
КодCode | ОписаниеDescription |
---|---|
accessRestrictedaccessRestricted | Доступ разрешен только владельцу элемента.Access restricted to the item’s owner. |
cannotSnapshotTreecannotSnapshotTree | Не удалось получить согласованный разностный моментальный снимок. Повторите попытку позже.Failed to get a consistent delta snapshot. Try again later. |
childItemCountExceededchildItemCountExceeded | Достигнуто максимальное количество дочерних элементов.Max limit on the number of child items was reached. |
entityTagDoesNotMatchentityTagDoesNotMatch | Тег ETag не соответствует текущему значению элемента.ETag does not match the current item’s value. |
fragmentLengthMismatchfragmentLengthMismatch | Объявленный общий размер этого фрагмента отличается от размера сеанса отправки.Declared total size for this fragment is different from that of the upload session. |
fragmentOutOfOrderfragmentOutOfOrder | Фрагмент передан не по порядку.Uploaded fragment is out of order. |
fragmentOverlapfragmentOverlap | Переданный фрагмент перекрывает существующие данные.Uploaded fragment overlaps with existing data. |
invalidAcceptTypeinvalidAcceptType | Недопустимый тип входных данных.Invalid accept type. |
invalidParameterFormatinvalidParameterFormat | Недопустимый формат параметра.Invalid parameter format. |
invalidPathinvalidPath | Имя содержит недопустимые символы.Name contains invalid characters. |
invalidQueryOptioninvalidQueryOption | Недопустимый параметр запроса.Invalid query option. |
invalidStartIndexinvalidStartIndex | Недопустимый начальный индекс.Invalid start index. |
lockMismatchlockMismatch | Маркер блокировки не соответствует существующей блокировке.Lock token does not match existing lock. |
lockNotFoundOrAlreadyExpiredlockNotFoundOrAlreadyExpired | В данный момент для элемента не задана действительная блокировка.There is currently no unexpired lock on the item. |
lockOwnerMismatchlockOwnerMismatch | Идентификатор владельца блокировки не соответствует указанному идентификатору.Lock Owner ID does not match provided ID. |
malformedEntityTagmalformedEntityTag | Неправильный формат заголовка тега ETag. Теги ETag должны представлять собой строки, заключенные в кавычки.ETag header is malformed. ETags must be quoted strings. |
maxDocumentCountExceededmaxDocumentCountExceeded | Достигнуто максимальное количество документов.Max limit on number of Documents is reached. |
maxFileSizeExceededmaxFileSizeExceeded | Превышен максимальный размер файла.Max file size exceeded. |
maxFolderCountExceededmaxFolderCountExceeded | Достигнуто максимальное количество папок.Max limit on number of Folders is reached. |
maxFragmentLengthExceededmaxFragmentLengthExceeded | Превышен максимальный размер файла.Max file size exceeded. |
maxItemCountExceededmaxItemCountExceeded | Достигнуто максимальное количество элементов.Max limit on number of Items is reached. |
maxQueryLengthExceededmaxQueryLengthExceeded | Превышена максимальная длина запроса.Max query length exceeded. |
maxStreamSizeExceededmaxStreamSizeExceeded | Превышен максимальный размер потока.Maximum stream size exceeded. |
parameterIsTooLongparameterIsTooLong | Превышена максимальная длина параметра.Parameter Exceeds Maximum Length. |
parameterIsTooSmallparameterIsTooSmall | Размер параметра меньше минимального значения.Parameter is smaller then minimum value. |
pathIsTooLongpathIsTooLong | Превышена максимальная длина пути.Path exceeds maximum length. |
pathTooDeeppathTooDeep | Достигнуто максимальное число уровней в иерархии папок.Folder hierarchy depth limit reached. |
propertyNotUpdateablepropertyNotUpdateable | Свойство не поддерживает обновление.Property not updateable. |
resyncApplyDifferencesresyncApplyDifferences | Требуется повторная синхронизация. Замените все локальные элементы элементами сервера (в том числе удаленные), если вы уверены, что в службу были внесены все локальные изменения при последней синхронизации. Отправьте все локальные изменения, не загруженные на сервер.Resync required. Replace any local items with the server’s version (including deletes) if you’re sure that the service was up to date with your local changes when you last sync’d. Upload any local changes that the server doesn’t know about. |
resyncRequiredresyncRequired | Требуется повторная синхронизация.Resync is required. |
resyncUploadDifferencesresyncUploadDifferences | Требуется повторная синхронизация. Отправьте все локальные элементы, которые не возвратила служба, и все файлы, версия которых отличается от версии сервера (сохраняйте обе копии, если вы не знаете, какая из них более актуальна).Resync required. Upload any local items that the service did not return, and upload any files that differ from the server’s version (keeping both copies if you’re not sure which one is more up-to-date). |
serviceNotAvailableserviceNotAvailable | Сервер не может обработать текущий запрос.The server is unable to process the current request. |
serviceReadOnlyserviceReadOnly | Ресурс временно доступен только для чтения.Resource is temporarily read-only. |
throttledRequestthrottledRequest | Слишком много запросов.Too many requests. |
tooManyResultsRequestedtooManyResultsRequested | Запрошено слишком много результатов.Too many results requested. |
tooManyTermsInQuerytooManyTermsInQuery | Запрос содержит слишком много условий.Too many terms in the query. |
totalAffectedItemCountExceededtotalAffectedItemCountExceeded | Операция запрещена, так как количество задействованных элементов превышает пороговое значение.Operation is not allowed because the number of affected items exceeds threshold. |
truncationNotAllowedtruncationNotAllowed | Усечение данных запрещено.Data truncation is not allowed. |
uploadSessionFaileduploadSessionFailed | Ошибка сеанса отправки.Upload session failed. |
uploadSessionIncompleteuploadSessionIncomplete | Сеанс отправки не завершен.Upload session incomplete. |
uploadSessionNotFounduploadSessionNotFound | Сеанс отправки не найден.Upload session not found. |
virusSuspiciousvirusSuspicious | Этот документ подозрительный и может содержать вирус.This document is suspicious and may have a virus. |
zeroOrFewerResultsRequestedzeroOrFewerResultsRequested | Запрошено ноль или меньше результатов.Zero or fewer results requested. |
Коды состояния ответа HTTP — HTTP
-
100 Продолжить
- Этот промежуточный ответ указывает, что пока все в порядке и что клиент должен продолжить запрос или проигнорировать ответ, если запрос уже завершен.
-
101 Протокол переключения
- Этот код отправляется в ответ на заголовок запроса
Upgrade
от клиента и указывает протокол, на который переключается сервер. -
102 Обработка
(WebDAV) - Этот код указывает, что сервер получил и обрабатывает запрос, но ответа еще нет.
-
103 Ранние подсказки
- Этот код состояния в первую очередь предназначен для использования с заголовком
Link
, позволяя пользовательскому агенту начать предварительную загрузку ресурсов, пока сервер готовит ответ.
-
200 ОК
- Запрос выполнен успешно. Смысл успеха зависит от метода HTTP:
-
GET
: ресурс был получен и передан в теле сообщения. -
HEAD
: заголовки объекта находятся в теле сообщения. -
PUT
илиPOST
: ресурс, описывающий результат действия, передается в теле сообщения. -
TRACE
: тело сообщения содержит сообщение запроса, полученное сервером.
-
-
201 Создано
- Запрос был успешно выполнен, и в результате был создан новый ресурс. Обычно это ответ, отправленный после
запросов POST
или нескольких запросовPUT
. -
202 Принято
- Запрос был получен, но еще не обработан. Это не является обязательным, поскольку в HTTP нет возможности позже отправить асинхронный ответ, указывающий на результат запроса. Он предназначен для случаев, когда другой процесс или сервер обрабатывает запрос, или для пакетной обработки.
-
203 Неавторизованная информация
- Этот код ответа означает, что возвращенная метаинформация не совсем такая же, как доступная с исходного сервера, но собрана из локальной или сторонней копии.В основном это используется для зеркал или резервных копий другого ресурса. За исключением этого конкретного случая, этому статусу предпочтительнее ответ «200 OK».
-
204 Без содержания
- Нет содержимого для отправки по этому запросу, но заголовки могут быть полезны. Пользовательский агент может обновлять свои кэшированные заголовки для этого ресурса новыми.
-
205 Сбросить содержимое
- Указывает агенту пользователя сбросить документ, отправивший этот запрос.
-
206 Частичное содержимое
- Этот код ответа используется, когда заголовок
Range
отправляется от клиента для запроса только части ресурса. -
207 Мульти-статус
(WebDAV) - Передает информацию о нескольких ресурсах в ситуациях, когда может потребоваться несколько кодов состояния.
-
208 Уже сообщено
(WebDAV) - Используется внутри элемента ответа
-
226 IM Используется
(HTTP-дельта-кодировка) - Сервер выполнил запрос
GET
для ресурса, и ответ является представлением результата одной или нескольких манипуляций с экземпляром, примененных к текущему экземпляру.
-
300 Множественный выбор
- Запрос имеет более одного возможного ответа. Пользовательский агент или пользователь должен выбрать один из них. (Стандартного способа выбора одного из ответов не существует, но рекомендуются HTML-ссылки на варианты, чтобы пользователь мог выбирать.)
-
301 Переехал на постоянной основе
- URL-адрес запрошенного ресурса изменен навсегда. Новый URL-адрес указан в ответе.
-
302 Найдено
- Этот код ответа означает, что URI запрошенного ресурса был изменен временно .В будущем могут быть внесены дальнейшие изменения в URI. Следовательно, этот же URI должен использоваться клиентом в будущих запросах.
-
303 См. Другие
- Сервер отправил этот ответ, чтобы указать клиенту получить запрошенный ресурс по другому URI с запросом GET.
-
304 Без изменений
- Используется для кэширования. Он сообщает клиенту, что ответ не был изменен, поэтому клиент может продолжать использовать ту же кешированную версию ответа.
-
305 Использовать прокси
Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать. - Определен в предыдущей версии спецификации HTTP, чтобы указать, что запрошенный ответ должен быть доступен прокси. Он устарел из-за проблем с безопасностью, связанных с внутриполосной конфигурацией прокси.
-
306 неиспользованный
- Этот код ответа больше не используется; это просто зарезервировано. Он использовался в предыдущей версии HTTP / 1.1 спецификация.
-
307 Временное перенаправление
- Сервер отправляет этот ответ, чтобы указать клиенту получить запрошенный ресурс по другому URI с тем же методом, который использовался в предыдущем запросе. Он имеет ту же семантику, что и код ответа HTTP
302 Found
, за исключением того, что пользовательский агент не должен изменять используемый метод HTTP: Если в первом запросе использовался POST, должен быть используется во втором запросе.
-
308 Постоянное перенаправление
- Это означает, что ресурс теперь постоянно находится по другому URI, указанному в заголовке
Location:
HTTP Response. Он имеет ту же семантику, что и код ответа HTTP301, перемещен навсегда
, за исключением того, что пользовательский агент не должен изменять используемый метод HTTP: если в первом запросе использовался POST , должен использоваться во втором запросе.
-
400 Неверный запрос
- Сервер не может понять запрос из-за недопустимого синтаксиса.
-
401 Неавторизованный
- Хотя стандарт HTTP определяет «неавторизованный», семантически этот ответ означает «неавторизованный». То есть клиент должен аутентифицироваться, чтобы получить запрошенный ответ.
-
402 Требуется оплата
Это экспериментальный API, который не следует использовать в производственном коде. - Этот код ответа зарезервирован для использования в будущем. Первоначальной целью создания этого кода было использование его для цифровых платежных систем, однако этот код статуса используется очень редко, и стандартного соглашения не существует.
-
403 Запрещено
- У клиента нет прав доступа к контенту; то есть он неавторизован, поэтому сервер отказывается предоставить запрошенный ресурс. В отличие от 401, личность клиента известна серверу.
-
404 Не найдено
- Сервер не может найти запрошенный ресурс. В браузере это означает, что URL-адрес не распознается. В API это также может означать, что конечная точка действительна, но сам ресурс не существует.Серверы также могут отправлять этот ответ вместо 403, чтобы скрыть существование ресурса от неавторизованного клиента. Этот код ответа, вероятно, самый известный из-за его частого появления в Интернете.
-
405 Метод запрещен
- Метод запроса известен серверу, но он отключен и не может использоваться. Например, API может запретить УДАЛЕНИЕ ресурса. Два обязательных метода,
GET
иHEAD
, никогда не должны отключаться и не должны возвращать этот код ошибки. -
406 Неприемлемо
- Этот ответ отправляется, когда веб-сервер после выполнения согласования содержимого, управляемого сервером, не находит никакого содержимого, которое соответствует критериям, заданным пользовательским агентом.
-
407 Требуется аутентификация прокси
- Это похоже на 401, но аутентификация должна выполняться прокси.
-
408 Тайм-аут запроса
- Этот ответ отправляется некоторыми серверами при незанятом соединении, даже без предварительного запроса клиента.Это означает, что сервер хочет закрыть это неиспользуемое соединение. Этот ответ используется гораздо чаще, поскольку некоторые браузеры, такие как Chrome, Firefox 27+ или IE9, используют механизмы предварительного подключения HTTP для ускорения серфинга. Также обратите внимание, что некоторые серверы просто закрывают соединение, не отправляя это сообщение.
-
409 Конфликт
- Этот ответ отправляется, когда запрос конфликтует с текущим состоянием сервера.
-
410 Исчез
- Этот ответ отправляется, когда запрошенное содержимое было окончательно удалено с сервера без адреса пересылки.Ожидается, что клиенты удалят свои кеши и ссылки на ресурс. Спецификация HTTP предполагает, что этот код состояния будет использоваться для «ограниченных по времени рекламных услуг». API не должны чувствовать себя обязанными указывать ресурсы, которые были удалены с этим кодом состояния.
-
411 Требуемая длина
- Сервер отклонил запрос, потому что поле заголовка
Content-Length
не определено и это требуется серверу. -
412 Ошибка предварительного условия
- Клиент указал в своих заголовках предварительные условия, которые сервер не выполняет.
-
413 Слишком большая полезная нагрузка
- Размер запроса превышает ограничения, определенные сервером; сервер может закрыть соединение или вернуть поле заголовка
Retry-After
. -
414 URI слишком длинный
- URI, запрошенный клиентом, длиннее, чем сервер готов интерпретировать.
-
415 Неподдерживаемый тип носителя
- Медиа-формат запрошенных данных не поддерживается сервером, поэтому сервер отклоняет запрос.
-
416 Диапазон Не выполняется
- Диапазон, указанный в поле заголовка
Range
в запросе, не может быть выполнен; возможно, что диапазон выходит за пределы размера данных целевого URI. -
417 Неудачное ожидание
- Этот код ответа означает, что ожидание, указанное в поле заголовка запроса
Expect
, не может быть выполнено сервером. -
418 Я чайник
- Сервер отклоняет попытку заварить кофе с помощью чайника.
-
421 Неверный запрос
- Запрос был направлен на сервер, который не может дать ответ. Это может быть отправлено сервером, который не настроен для создания ответов для комбинации схемы и полномочий, которые включены в URI запроса.
-
422 Необработанная сущность
(WebDAV) - Запрос был правильно сформирован, но его не удалось выполнить из-за семантических ошибок.
-
423 Заблокировано
(WebDAV) - Ресурс, к которому осуществляется доступ, заблокирован.
-
424 Неудачная зависимость
(WebDAV) - Запрос не выполнен из-за сбоя предыдущего запроса.
-
425 Слишком рано
Это экспериментальный API, который не следует использовать в производственном коде. - Указывает, что сервер не желает рисковать обработкой запроса, который может быть воспроизведен.
-
426 Требуется обновление
- Сервер отказывается выполнять запрос с использованием текущего протокола, но может пожелать сделать это после того, как клиент перейдет на другой протокол.Сервер отправляет заголовок
Upgrade
в ответе 426, чтобы указать требуемый протокол (ы). -
428 Требуются предварительные условия
- Исходный сервер требует, чтобы запрос был условным. Этот ответ предназначен для предотвращения проблемы «потерянного обновления», когда клиент ПОЛУЧАЕТ состояние ресурса, изменяет его и отправляет обратно на сервер, когда тем временем третья сторона изменила состояние на сервере, что привело к конфликту.
-
429 Слишком много запросов
- Пользователь отправил слишком много запросов за заданный промежуток времени («ограничение скорости»).
-
431 Поля заголовка запроса слишком велики
- Сервер не желает обрабатывать запрос, потому что его поля заголовка слишком велики. Запрос может быть отправлен повторно после уменьшения размера полей заголовка запроса.
-
451 Недоступно по юридическим причинам
- Пользователь-агент запросил ресурс, который не может быть предоставлен по закону, например веб-страницу, подвергнутую цензуре правительством.
-
500 Внутренняя ошибка сервера
- Сервер столкнулся с ситуацией, которую не знает, как с ней справиться.
-
501 Не реализовано
- Метод запроса не поддерживается сервером и не может быть обработан. Единственные методы, которые серверы должны поддерживать (и, следовательно, не должны возвращать этот код), — это
GET
иHEAD
. -
502 Плохой шлюз
- Этот ответ с ошибкой означает, что сервер, работая в качестве шлюза для получения ответа, необходимого для обработки запроса, получил недопустимый ответ.
-
503 Служба недоступна
- Сервер не готов обработать запрос.Распространенные причины — это сервер, который не работает на техническое обслуживание или перегружен. Обратите внимание, что вместе с этим ответом должна быть отправлена удобная страница с объяснением проблемы. Эти ответы следует использовать для временных условий, а HTTP-заголовок
Retry-After:
должен, если возможно, содержать расчетное время до восстановления службы. Веб-мастер также должен позаботиться о заголовках, связанных с кешированием, которые отправляются вместе с этим ответом, поскольку эти временные ответы условий обычно не должны кэшироваться. -
504 Тайм-аут шлюза
- Этот ответ об ошибке выдается, когда сервер действует как шлюз и не может получить ответ вовремя.
-
505 Версия HTTP не поддерживается
- Версия HTTP, используемая в запросе, не поддерживается сервером.
-
506 Вариант также оговаривается
- На сервере произошла внутренняя ошибка конфигурации: выбранный вариант ресурса настроен для участия в согласовании прозрачного содержимого и, следовательно, не является надлежащей конечной точкой в процессе согласования.
-
507 Недостаточно памяти
(WebDAV) - Метод не может быть выполнен для ресурса, потому что сервер не может сохранить представление, необходимое для успешного выполнения запроса.
-
508 Обнаружен цикл
(WebDAV) - Сервер обнаружил бесконечный цикл при обработке запроса.
-
510 Не расширенный
- Для выполнения запроса сервером требуются дополнительные расширения.
-
511 Требуется сетевая аутентификация
- Код состояния 511 указывает, что клиенту необходимо пройти аутентификацию, чтобы получить доступ к сети.
Таблицы BCD загружаются только в браузере
http-ошибок — npm
С легкостью создавайте ошибки HTTP для Express, Koa, Connect и т. Д.
Установить
Это модуль Node.js, доступный через
реестр npm. Установка выполняется с помощью npm install
команда:
$ npm установить http-ошибки
Пример
var createError = require ('http-errors')
var express = require ('express')
var app = express ()
app.use (function (req, res, next) {
if (! req.user) return next (createError (401, 'Пожалуйста, войдите, чтобы просмотреть эту страницу.'))
next ()
})
API
Это текущий API, извлеченный из Koa и подлежащий изменению.
Свойства ошибки
-
expose
— может использоваться, чтобы сигнализировать, чтосообщение
должно быть отправлено клиенту, по умолчаниюfalse
пристатус
> = 500 -
заголовков
— может быть объектом имен заголовков для значений, которые будут отправлены в client, по умолчаниюundefined
.После определения все ключевые имена должны быть нижним -
сообщение
— традиционное сообщение об ошибке, которое должно быть кратким и все однострочная -
status
— код состояния ошибки, зеркальное отображениеstatusCode
для общего совместимость -
statusCode
— код состояния ошибки, по умолчанию500
createError ([статус], [сообщение], [свойства])
Создать новый объект ошибки с данным сообщением msg
.Объект ошибки наследуется от createError.HttpError
.
var err = createError (404, 'Это видео не существует!')
-
status: 500
— код статуса в виде числа -
сообщение
— сообщение об ошибке, по умолчанию текст узла для этого кода состояния. -
properties
— настраиваемые свойства для присоединения к объекту
createError ([статус], [ошибка], [свойства])
Расширьте данный объект error
с помощью createError.HttpError
характеристики. Это не повлияет на наследование данного error
объект, а модифицированный error
объект является
возвращаемое значение.
fs.readFile ('foo.txt', function (err, buf) {
if (err) {
if (err.code === 'ENOENT') {
var httpError = createError (404, err, {expose: false})
} else {
var httpError = createError (500, err)
}
}
})
-
status
— код статуса в виде числа -
ошибка
— объект ошибки расширяется -
properties
— настраиваемые свойства для присоединения к объекту
createError.isHttpError (значение)
Определите, является ли предоставленное значение val
HttpError
. Это вернет true
если ошибка наследуется от конструктора HttpError
этого модуля или
соответствует «типу утки» для ошибки, создаваемой этим модулем. Все выходы из
фабрика createError
вернет true
для этой функции, включая
если в фабрику было передано не HttpError
.
new createError [код || имя] ([сообщение]))
Создать новый объект ошибки с данным сообщением msg
.Объект ошибки наследуется от createError.HttpError
.
var err = new createError.NotFound ()
-
код
— код статуса в виде числа -
name
— название ошибки в виде «неровного дела», т.е.NotFound
илиInternalServerError
.
Список всех конструкторов
Код состояния | Имя конструктора |
---|---|
400 | BadRequest |
401 | Неавторизованный |
402 | Требуется оплата |
403 | Запрещено |
404 | NotFound |
405 | MethodNotAllowed |
406 | Недопустимо |
407 | Требуется проверка подлинности прокси |
408 | RequestTimeout |
409 | Конфликт |
410 | Исчез |
411 | Требуемая длина |
412 | PreconditionFailed |
413 | PayloadTooLarge |
414 | URITooLong |
415 | UnsupportedMediaType |
416 | RangeNotSatisfiable |
417 | ExpectationFailed |
418 | ImATeapot |
421 | MisdirectedRequest |
422 | UnprocessableEntity |
423 | Заблокировано |
424 | FailedDependency |
425 | UnorderedCollection |
426 | Требуется обновление |
428 | Требуется предварительное условие |
429 | TooManyRequests |
431 | RequestHeaderFieldsTooLarge |
451 | Недоступно по юридическим причинам |
500 | InternalServerError |
501 | Не реализовано |
502 | BadGateway |
503 | Служба недоступна |
504 | GatewayTimeout |
505 | HTTPVersionNotSupported |
506 | VariantAlsoNegotiates |
507 | Недостаточное хранение |
508 | Обнаружена петля |
509 | BandwidthLimitExceeded |
510 | NotExtended |
511 | Требуется сетевая аутентификация |
Лицензия
MIT
HTTP / 1.1: Определения кода состояния
HTTP / 1.1: Определения кода состояния часть протокола передачи гипертекста — HTTP / 1.1RFC 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 Слишком большой объект запроса
Сервер отказывается обрабатывать запрос, потому что запрос объект больше, чем сервер хочет или может обработать. В сервер МОЖЕТ закрыть соединение, чтобы клиент не продолжил запрос.
Если условие является временным, серверу СЛЕДУЕТ включить повторную попытку. После поля заголовка, чтобы указать, что это временно и после чего время клиент МОЖЕТ повторить попытку.
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, кроме этого сообщения об ошибке. Ответ ДОЛЖЕН содержать сущность, описывающая, почему эта версия не поддерживается и какие еще протоколы поддерживаются этим сервером.
Коды состояния HTTP
Код состояния 511 указывает, что клиенту необходимо пройти аутентификацию, чтобы получить доступ к сети.
Представление ответа ДОЛЖНО содержать ссылку на ресурс, который позволяет пользователю отправлять учетные данные (например, с помощью HTML-формы).
Обратите внимание, что ответ 511 НЕ ДОЛЖЕН содержать запрос или сам интерфейс входа в систему, потому что браузеры будут отображать интерфейс входа в систему как связанный с первоначально запрошенным URL-адресом, что может вызвать путаницу.
Статус 511 НЕ ДОЛЖЕН генерироваться исходными серверами; он предназначен для использования путем перехвата прокси, которые вставляются как средство контроля доступа к сети.
Ответы с кодом состояния 511 НЕ ДОЛЖНЫ храниться в кэше.
Код состояния 511 разработан для смягчения проблем, вызванных «перехватывающими порталами» для программного обеспечения (особенно агентов, не являющихся браузерами), которое ожидает ответа от сервера, к которому был сделан запрос, а не от промежуточной сетевой инфраструктуры.Он не предназначен для поощрения развертывания скрытых порталов, он предназначен только для ограничения наносимого ими ущерба.
Сетевой оператор, желающий потребовать аутентификации, принятия условий или другого взаимодействия с пользователем перед предоставлением доступа, обычно делает это путем идентификации клиентов, которые этого не сделали («неизвестные клиенты»), используя свои MAC-адреса.
Неизвестные клиенты затем блокируют весь трафик, за исключением TCP-порта 80, который отправляется на HTTP-сервер («сервер входа в систему»), предназначенный для «входа в систему» неизвестных клиентов и, конечно же, трафика на сам сервер входа в систему.
Обычно ответ, содержащий код состояния 511, не приходит от исходного сервера, указанного в URL-адресе запроса. Это создает множество проблем с безопасностью; например, атакующий посредник может вставлять файлы cookie в пространство имен исходного домена, может наблюдать файлы cookie или учетные данные HTTP-аутентификации, отправленные пользовательским агентом, и так далее.
Однако эти риски не уникальны для кода состояния 511; Другими словами, адаптивный портал, который не использует этот код состояния, вызывает те же проблемы.
Также обратите внимание, что связанные порталы, использующие этот код состояния в соединении SSL или TLS (обычно порт 443), будут генерировать ошибку сертификата на клиенте.
Википедия
Клиент должен пройти аутентификацию, чтобы получить доступ к сети. Предназначен для использования путем перехвата прокси-серверов, используемых для управления доступом к сети (например, «перехватывающие порталы», используемые для запроса согласия с Условиями обслуживания перед предоставлением полного доступа в Интернет через точку доступа Wi-Fi).
Полное руководство и список кодов ошибок (2021)
Коды состояния HTTPпохожи на короткие заметки с сервера, которые прикрепляются к веб-странице.На самом деле они не являются частью содержания сайта. Вместо этого они представляют собой сообщения от сервера, сообщающие вам, как все прошло, когда он получил запрос на просмотр определенной страницы.
Сообщения такого типа возвращаются каждый раз, когда ваш браузер взаимодействует с сервером, даже если вы их не видите. Если вы владелец или разработчик веб-сайта, очень важно знать коды статуса HT TP . Когда они появляются, коды состояния HTTP являются бесценным инструментом для диагностики и исправления ошибок конфигурации веб-сайта.
В этой статье представлены несколько кодов состояния сервера и ошибок, а также объясняется, что они говорят о том, что происходит на сервере за кулисами.
Давайте нырнем!
Что такое коды состояния HTTP?
Каждый раз, когда вы нажимаете ссылку или вводите URL-адрес и нажимаете Введите , ваш браузер отправляет запрос на веб-сервер для сайта, к которому вы пытаетесь получить доступ. Сервер получает и обрабатывает запрос, а затем отправляет обратно соответствующие ресурсы вместе с HTTP-заголовком.
Коды статуса HTTPдоставляются вашему браузеру в заголовке HTTP. Хотя коды состояния возвращаются каждый раз, когда ваш браузер запрашивает веб-страницу или ресурс, в большинстве случаев вы их не видите.
Обычно ошибка отображается в браузере только тогда, когда что-то идет не так. Это способ сказать серверу: «Что-то не так. Вот код, объясняющий, что пошло не так «.
Код статуса HTTP 404 Google
Если вы хотите видеть коды состояния, которые ваш браузер обычно не отображает, существует множество различных инструментов, которые упростят эту задачу.Расширения браузера доступны для удобных для разработчиков платформ, таких как Chrome и Firefox, и существует множество веб-инструментов для извлечения заголовков, таких как Web Sniffer.
Чтобы просмотреть коды состояния HTTP с помощью одного из этих инструментов, найдите строку в верхней части отчета с надписью «Состояние: HTTP / 1.1». За этим последует код состояния, возвращенный сервером.
Общие сведения о классах кода состояния HTTP
Коды статуса HTTPделятся на 5 «классов».Это группы ответов, которые имеют схожие или связанные значения. Знание того, что они собой представляют, может помочь вам быстро определить общее содержание кода состояния , прежде чем вы начнете искать его конкретное значение.
Пять классов включают:
- 100s: Информационные коды, указывающие, что запрос, инициированный браузером, продолжается.
- 200s: Коды успеха возвращены, когда запрос браузера был получен, понят и обработан сервером.
- 300s: Коды перенаправления возвращаются, когда новый ресурс заменен запрошенным.
- 400s: Коды ошибок клиента, указывающие на проблему с запросом.
- 500s: Коды ошибок сервера, указывающие, что запрос был принят, но ошибка на сервере помешала его выполнению.
В каждом из этих классов существует множество кодов сервера, которые могут быть возвращены сервером.Каждый отдельный код имеет особое и уникальное значение, которое мы рассмотрим в более подробном списке ниже.
Почему коды статуса и ошибки HTTP имеют значение для поисковой оптимизации (SEO)
Роботы поисковых систем видят коды статуса HTTP во время сканирования вашего сайта. В некоторых случаях эти сообщения могут повлиять на то, будут ли ваши страницы проиндексированы и как, а также на то, как поисковые системы воспринимают состояние вашего сайта.
Вообще говоря, 100- и 200-уровневые коды состояния HTTP не сильно повлияют на ваше SEO.Они сигнализируют о том, что на вашем сайте все работает должным образом, и позволяют ботам поисковых систем продолжать свой путь. Однако они не повысят ваш рейтинг.
По большей части для SEO важны коды более высокого уровня. Ответы на уровне 400 и 500 могут помешать ботам сканировать и индексировать ваши страницы. Слишком большое количество этих ошибок также может указывать на низкое качество вашего сайта, что может снизить ваш рейтинг.
300-уровневые коды имеют немного более сложные отношения с SEO.Главное, что вам нужно знать, чтобы понять их влияние, — это разница между постоянной и временной переадресацией, о которой мы расскажем более подробно в соответствующем разделе ниже.
Вкратце, однако, постоянные перенаправления долей ссылок на обратные ссылки, а временные — нет. Другими словами, когда вы используете временную переадресацию для перемещенных страниц, вы теряете преимущество SEO, связанное с построением ссылок.
Подпишитесь на информационный бюллетень
Мы увеличили наш трафик на 1187% с помощью WordPress.
Присоединяйтесь к более чем 20 000 других людей, которые получают нашу еженедельную рассылку с инсайдерскими советами по WordPress!
Подпишитесь сейчасПроверка кодов состояния HTTP в консоли поиска Google
Одним из способов отслеживания того, как Google воспринимает коды состояния HTTP на вашем сайте, является использование консоли поиска Google. Вы можете просмотреть коды состояния на уровне 300, 400 и 500 в отчете Покрытие :
Отчет об охвате Google Search Console
В этой области панели инструментов отображаются четыре типа контента на вашем сайте:
- Страницы, возвращающие ошибки.
- Допустимые страницы с предупреждениями.
- Действительные ресурсы.
- Контент исключен из индекса.
Вы можете найти страницы с кодами состояния HTTP 300, 400 и 500 в разделах Excluded , Error или Valid с предупреждениями разделов, в зависимости от типа кода. Например, переадресация 301 может быть указана в списке Исключено как страница с переадресацией :
Страница с переадресацией в отчете об охвате Google Search Console.
Коды состояния с 400 и 500 уровнями, скорее всего, появятся под Ошибка .
Другой способ просмотреть коды состояния HTTP — использовать инструмент URL Inspection . Если Google не может проиндексировать конкретную страницу из-за ошибки, вы увидите это здесь:
Ошибка 404 в инструменте проверки URL в Google Search Console
Дополнительные советы по использованию Google Search Console см. В нашем подробном руководстве по платформе.
Полное руководство и список кодов состояния HTTP
Хотя существует более 40 различных кодов состояния серверов, вы, вероятно, будете встречать менее десятка на регулярной основе.Ниже мы рассмотрели наиболее распространенные, а также несколько малоизвестных кодов, с которыми вы все еще можете столкнуться.
100 кодов состояния
100-уровневый код состояния сообщает вам, что запрос, который вы отправили на сервер, по какой-то причине все еще обрабатывается. Это не обязательно проблема, это просто дополнительная информация, чтобы вы знали, что происходит.
- 100: «Продолжить». Это означает, что рассматриваемый сервер получил заголовки запроса вашего браузера и теперь готов к отправке тела запроса.Это делает процесс запроса более эффективным, поскольку не позволяет браузеру отправлять запрос тела, даже если заголовки были отклонены.
- 101: «Протоколы переключения». Ваш браузер попросил сервер изменить протоколы, и сервер выполнил.
- 103: «Ранние подсказки». Это возвращает некоторые заголовки ответа до того, как остальная часть ответа сервера будет готова.
200 Коды состояния
Это лучший вид кода состояния HTTP для получения.Ответ на 200 уровней означает, что все работает именно так, как должно.
- 200: «Все в порядке». Это код, который доставляется, когда веб-страница или ресурс действуют именно так, как от них ожидается.
- 201: «Создано». Сервер выполнил запрос браузера и в результате создал новый ресурс.
- 202: «Принято». Сервер принял запрос вашего браузера, но все еще обрабатывает его. Запрос в конечном итоге может привести или не привести к завершенному ответу.
- 203: «Неавторизованная информация». Этот код состояния может появиться, когда прокси-сервер используется. Это означает, что прокси-сервер получил код состояния 200 «Все в порядке» от исходного сервера, но изменил ответ, прежде чем передать его в ваш браузер.
- 204: «Нет содержимого». Этот код означает, что сервер успешно обработал запрос, но не собирается возвращать какое-либо содержимое.
- 205: «Сбросить содержимое.Как и код 204, это означает, что сервер обработал запрос, но не собирается возвращать какой-либо контент. Однако для этого также требуется, чтобы ваш браузер сбрасывал представление документа.
- 206: «Частичное содержимое». Вы можете увидеть этот код состояния, если ваш HTTP-клиент (также известный как ваш браузер) использует «заголовки диапазона». Это позволяет вашему браузеру возобновлять приостановленные загрузки, а также разделять загрузку на несколько потоков. Код 206 отправляется, когда заголовок диапазона заставляет сервер отправлять только часть запрошенного ресурса.
300 кодов состояния
Перенаправление — это процесс, используемый для сообщения о том, что ресурс был перемещен в новое место. Есть несколько кодов статуса HTTP, которые сопровождают перенаправления, чтобы предоставить посетителям информацию о том, где найти контент, который они ищут.
- 300: «Множественный выбор». Иногда может быть несколько возможных ресурсов, которыми сервер может ответить для выполнения запроса вашего браузера. Код состояния 300 означает, что теперь вашему браузеру необходимо выбрать между ними.Это может произойти, когда доступно несколько расширений типов файлов или если сервер испытывает неоднозначность смысла слов.
- 301: «Запрошенный ресурс был перемещен навсегда». Этот код доставляется, когда веб-страница или ресурс постоянно заменяются другим ресурсом. Он используется для постоянного перенаправления URL.
- 302: «Запрошенный ресурс перемещен, но найден». Этот код используется, чтобы указать, что запрошенный ресурс был найден, но не в том месте, где он ожидался.Он используется для временного перенаправления URL-адресов.
- 303: «См. Другое». Для понимания кода состояния 303 необходимо знать разницу между четырьмя основными методами HTTP-запроса. По сути, код 303 сообщает вашему браузеру, что он нашел ресурс, запрошенный вашим браузером с помощью POST, PUT или DELETE. Однако, чтобы получить его с помощью GET, вам необходимо сделать соответствующий запрос на другой URL-адрес, чем тот, который вы использовали ранее.
- 304: «Запрошенный ресурс не изменялся с момента последнего обращения к нему.Этот код сообщает браузеру, что ресурсы, хранящиеся в кеше браузера, не изменились. Он используется для ускорения доставки веб-страниц за счет повторного использования ранее загруженных ресурсов.
- 307: «Временное перенаправление». Этот код состояния заменил 302 «Найдено» как соответствующее действие, когда ресурс был временно перемещен на другой URL-адрес. В отличие от кода состояния 302, он не позволяет изменять метод HTTP.
- 308: «Постоянное перенаправление». Код состояния 308 является преемником кода 301 «Перемещен навсегда».Он не позволяет изменять метод HTTP и указывает, что запрошенный ресурс теперь постоянно находится по новому URL-адресу.
400 Коды состояния
На уровне 400 коды состояния HTTP начинают вызывать проблемы. Это коды ошибок, указывающие на неисправность вашего браузера и / или запроса.
- 400: «Неверный запрос». Сервер не может вернуть ответ из-за ошибки на стороне клиента. См. Наше руководство по устранению этой ошибки.
- 401: «Неавторизовано» или «Требуется авторизация.Это возвращается сервером, когда у целевого ресурса отсутствуют действительные учетные данные для аутентификации. Вы можете увидеть это, если настроили базовую HTTP-аутентификацию с помощью htpasswd.
Ошибка авторизации Nginx 401 в Chrome
- 402: «Требуется оплата». Первоначально этот код создавался для использования в составе системы электронных денег. Однако этот план так и не был реализован. Вместо этого он используется различными платформами, чтобы указать, что запрос не может быть выполнен, обычно из-за нехватки необходимых средств.Общие случаи включают:
- 403: «Доступ к этому ресурсу запрещен». Этот код возвращается, когда пользователь пытается получить доступ к тому, что у него нет разрешения на просмотр. Например, попытка получить доступ к защищенному паролем содержимому без входа в систему может привести к ошибке 403.
- 404: «Запрошенный ресурс не найден». Это наиболее частое сообщение об ошибке из всех. Этот код означает, что запрошенный ресурс не существует, и сервер не знает, существовал ли он когда-либо.
- 405: «Метод запрещен». Он создается, когда хост-сервер (исходный сервер) поддерживает полученный метод, а целевой ресурс — нет.
- 406: «Неприемлемый ответ». Запрошенный ресурс может генерировать только контент, который неприемлем в соответствии с заголовками принятия, отправленными в запросе.
- 407: «Требуется проверка подлинности прокси». Прокси-сервер используется и требует, чтобы ваш браузер прошел аутентификацию, прежде чем продолжить.
- 408: «Истекло время ожидания сервера, ожидая оставшейся части запроса от браузера». Этот код генерируется, когда сервер истекает в ожидании полного запроса от браузера. Другими словами, сервер не получил полного запроса, отправленного браузером. Одной из возможных причин может быть перегрузка сети, приводящая к потере пакетов данных между браузером и сервером.
- 409: «Конфликт». Код состояния 409 означает, что сервер не может обработать запрос вашего браузера из-за конфликта с соответствующим ресурсом.Иногда это происходит из-за одновременного редактирования нескольких файлов.
- 410: «Запрошенный ресурс исчез и больше не будет возвращаться». Это похоже на код 404 «Не найдено», за исключением того, что 410 указывает, что состояние является ожидаемым и постоянным.
- 411: «Требуемая длина». Это означает, что запрашиваемый ресурс требует, чтобы клиент указывал определенную длину, а это не так.
- 412: «Ошибка предварительного условия». Ваш браузер включил определенные условия в заголовки запросов, и сервер не соответствовал этим требованиям.
- 413: «Слишком большая полезная нагрузка» или «Слишком большой объект запроса». Ваш запрос больше, чем сервер может или готов обработать.
- 414: «Слишком длинный URI». Обычно это результат запроса GET, который был закодирован как строка запроса, которая слишком велика для обработки сервером.
- 415: «Неподдерживаемый тип носителя». Запрос включает тип мультимедиа, который сервер или ресурс не поддерживает.
- 416: «Недопустимый диапазон.«Ваш запрос был на часть ресурса, которую сервер не может вернуть.
- 417: «Ожидание не выполнено». Сервер не может удовлетворить требования, указанные в поле заголовка expect запроса.
- 418: «Я чайник». Этот код возвращают чайники, которые получают запросы на заваривание кофе. Это еще и первоапрельская шутка 1998 года.
418 Код статуса «Я чайник»
- 422: «Необработанная сущность.«Клиентский запрос содержит семантические ошибки, и сервер не может их обработать.
- 425: «Слишком рано». Этот код отправляется, когда сервер не желает обрабатывать запрос, потому что он может быть воспроизведен.
- 426: «Требуется обновление». Из-за содержимого поля заголовка запроса обновления клиент должен переключиться на другой протокол.
- 428: «Требуется предварительное условие». Сервер требует, чтобы перед обработкой запроса были указаны условия.
- 429: «Слишком много запросов». Это генерируется сервером, когда пользователь отправил слишком много запросов за заданный промежуток времени (ограничение скорости). Иногда это может происходить из-за того, что боты или скрипты пытаются получить доступ к вашему сайту. В этом случае вы можете попробовать изменить URL-адрес для входа в WordPress. Вы также можете ознакомиться с нашим руководством по исправлению ошибки 429 «Слишком много запросов».
429 слишком много запросов
- 431: «Поля заголовка запроса слишком велики.»Сервер не может обработать запрос, потому что поля заголовка слишком велики. Это может указывать на проблему с одним полем заголовка или со всеми ими вместе.
- 451: «Недоступно по юридическим причинам». Оператор сервера получил требование запретить доступ к запрошенному вами ресурсу (или к набору ресурсов, включая тот, который вы запросили). Интересный факт: этот код является отсылкой к роману Рэя Брэдбери: Фаренгейта 451 .
- 499: «Клиент закрыл запрос.”Это возвращается NGINX, когда клиент закрывает запрос, в то время как Nginx все еще обрабатывает его.
500 кодов состояния
Коды состояния с 500 уровнями также считаются ошибками. Однако они означают, что проблема на стороне сервера. Это может затруднить их решение.
- 500: «На сервере произошла ошибка, и запрос не может быть выполнен». Это общий код, который просто означает «внутреннюю ошибку сервера». Что-то пошло не так на сервере, и запрошенный ресурс не был доставлен.Этот код обычно создается сторонними плагинами, неисправным PHP или даже нарушением соединения с базой данных. Ознакомьтесь с нашими руководствами о том, как исправить ошибку при установке соединения с базой данных и о других способах устранения внутренней ошибки сервера 500.
Ошибка при установлении соединения с базой данных
- 501: «Не реализовано». Эта ошибка указывает на то, что сервер не поддерживает функции, необходимые для выполнения запроса. Это почти всегда проблема самого веб-сервера и обычно должна решаться хостом.Ознакомьтесь с нашими рекомендациями по устранению невыполненной ошибки 501.
- 502: «Плохой шлюз». Этот код ошибки обычно означает, что один сервер получил недопустимый ответ от другого, например, когда используется прокси-сервер. В других случаях запрос или запрос занимает слишком много времени, поэтому он отменяется или прерывается сервером, и соединение с базой данных прерывается. Для получения дополнительных сведений см. Наше подробное руководство о том, как исправить ошибку 502 Bad Gateway.
- 503: «Сервер сейчас недоступен для обработки этого запроса.”Запрос не может быть выполнен на данный момент. Этот код может быть возвращен перегруженным сервером, который не может обрабатывать дополнительные запросы. У нас есть полное руководство по исправлению ошибки 503 Service Unavailable.
- 504: «Сервер, выступающий в качестве шлюза, истекло время ожидания ответа от другого сервера». Этот код возвращается, когда в обработке запроса задействованы два сервера, и время ожидания первого сервера истекает, пока второй сервер не ответит. Вы можете узнать больше о том, как исправить ошибку 504, в нашем специальном руководстве.
- 505: «Версия HTTP не поддерживается». Сервер не поддерживает версию HTTP, которую клиент использовал для запроса.
- 511: «Требуется сетевая аутентификация». Этот код состояния отправляется, когда сеть, которую вы пытаетесь использовать, требует некоторой формы аутентификации перед отправкой вашего запроса на сервер. Например, вам может потребоваться принять Условия использования общедоступной точки доступа Wi-Fi.
- 521: «Веб-сервер не работает». Ошибка 521 — это сообщение об ошибке, относящееся к Cloudflare.Это означает, что ваш веб-браузер смог успешно подключиться к Cloudflare, но Cloudflare не смог подключиться к исходному веб-серверу.
- 525 : «Подтверждение связи SSL не удалось». Ошибка 525 означает, что установление связи SSL между доменом, использующим Cloudflare, и исходным веб-сервером не удалось. Если у вас возникли проблемы, вы можете попытаться легко исправить ошибку 525 пятью способами.
Где узнать больше о кодах состояния HTTP
Помимо кодов состояния HTTP, которые мы рассмотрели в этом списке, есть еще несколько малоизвестных, о которых вы, возможно, захотите узнать.Есть несколько ресурсов, с которыми вы можете ознакомиться, чтобы узнать об этих более редких кодах, в том числе:
Знание этих кодов состояния может помочь вам решить некоторые уникальные проблемы, поддерживая ваш собственный веб-сайт или даже когда вы сталкиваетесь с ними на других сайтах.
Сначала они могут показаться устрашающими, но коды состояния HTTP важны для понимания того, что происходит на вашем сайте. Вот подробный список тех, с которыми вам стоит познакомиться! 📟🌐Нажмите, чтобы написать твитРезюме
На первый взгляд коды состояния HTTP могут показаться запутанными или устрашающими, но на самом деле они очень информативны.Изучив некоторые из распространенных, вы сможете быстрее устранять проблемы на своем сайте.
В этом посте мы определили более 40 кодов статуса HTTP, с которыми вы можете столкнуться. От более мягких кодов 100 и 200 уровней до более сложных ошибок 400 и 500 уровней, понимание этих сообщений имеет решающее значение для поддержания вашего веб-сайта и обеспечения его доступности для пользователей.
Если вам понравилась эта статья, то вам понравится хостинговая платформа Kinsta WordPress. Ускорьте свой сайт и получите круглосуточную поддержку от нашей опытной команды WordPress.Наша инфраструктура на базе Google Cloud ориентирована на автоматическое масштабирование, производительность и безопасность. Позвольте нам показать вам разницу в Kinsta! Ознакомьтесь с нашими планами
кодов состояния HTTP [SEO 2021]
Что такое коды состояния HTTP?
Код состояния HTTP — это ответ сервера на запрос браузера. Когда вы посещаете веб-сайт, ваш браузер отправляет запрос на сервер сайта, а затем сервер отвечает на запрос браузера трехзначным кодом: кодом состояния HTTP.
Эти коды состояния являются эквивалентом диалога между вашим браузером и сервером в Интернете.Они сообщают, все ли между ними в порядке, на ощупь, или что-то не так. Понимание кодов состояния и того, как их использовать, поможет вам быстро диагностировать ошибки сайта и свести к минимуму время простоя вашего сайта. Вы даже можете использовать некоторые из этих кодов состояния, чтобы помочь поисковым системам и людям получить доступ к вашему сайту; переадресация 301, например, сообщит ботам и людям, что страница навсегда переместилась в другое место.
Первая цифра каждого трехзначного кода состояния начинается с одной из пяти цифр от 1 до 5; вы можете увидеть, что это выражается как 1xx или 5xx, чтобы указать коды состояния в этом диапазоне.Каждый из этих диапазонов включает отдельный класс ответа сервера.
Классы общих кодов состояния HTTP:
1xxs — Информационные ответы: Сервер обдумывает запрос.
2xxs — Успех! Запрос был успешно завершен, и сервер дал браузеру ожидаемый ответ.
3xxs — Перенаправление: Вы были перенаправлены в другое место. Запрос получен, но есть какое-то перенаправление.
4xxs — Ошибки клиента: Страница не найдена. Сайт или страница недоступны. (Запрос был сделан, но страница недействительна — это ошибка на стороне веб-сайта беседы и часто появляется, когда страница не существует на сайте.)
5xxs — Ошибки сервера: Отказ. Клиент сделал правильный запрос, но серверу не удалось его выполнить.
Наиболее важные коды статуса для оптимизаторов поисковой оптимизации
Каждому профессиональному оптимизатору поисковых систем и владельцу веб-сайта важно понимать, какие коды статуса оказывают наибольшее влияние на поисковую оптимизацию.
Представьте, что вы работаете над сайтом, на котором отображается много ошибок 5xx; вы должны знать, что это проблема сервера. Ошибки 4xx влияют на восприятие посетителями, поэтому вы можете сразу подумать о любых изменениях, которые вы внесли в свои URL, или о том, удалили ли вы какие-либо страницы. Как только вы поймете причину проблемы, вы можете взглянуть на реализацию настраиваемой страницы 404 или изучить использование всемогущего перенаправления 301 для отправки посетителей в нужное место.
Стоит выучить и запомнить самые важные коды состояния, которые должен знать каждый оптимизатор поисковых систем:
Код состояния HTTP 200 — ОК
Это ваш идеальный код состояния для вашей обычной, повседневной, правильно работающей страницы.Посетители, боты и ссылочный капитал проходят через связанные страницы, как во сне. Вам не нужно ничего делать, и вы можете спокойно проводить свой день, зная, что все так, как должно быть.
Код состояния HTTP 301 — постоянное перенаправление
Перенаправление 301 следует использовать каждый раз, когда один URL-адрес необходимо перенаправить на другой навсегда . Редирект 301 означает, что посетители и боты, попавшие на эту страницу, будут перенаправлены на новый URL. Кроме того, ссылочная стоимость — сила, передаваемая всеми этими с трудом заработанными ссылками на ваш контент — также передается на новый URL через редирект 301.Несмотря на заявления Google о том, что все перенаправления 3xx обрабатываются одинаково, тесты показали, что это не совсем так. Редирект 301 остается предпочтительным методом выбора для постоянных перенаправлений страниц.
Код состояния HTTP 302 — временное перенаправление
Перенаправление 302 похоже на перенаправление 301 в том, что посетители и боты переходят на новую страницу, но ссылочный вес не может передаваться. Мы не рекомендуем использовать 302 редирект для постоянных изменений. Использование 302 приведет к тому, что поисковые роботы будут рассматривать перенаправление как временное, что означает, что он не может передавать значение ссылки, как это делает волшебный 301.
Код состояния HTTP 404 — не найден
Это означает, что файл или страница, которые запрашивает браузер, не были найдены сервером. Ошибки 404 не указывают на то, что страница или ресурс отсутствуют навсегда или временно. Вы можете увидеть, как это выглядит на вашем сайте, введя несуществующий URL. Это как удариться о кирпичную стену. Как и вы, ваши посетители попадут на страницу с ошибкой 404 и либо попробуют еще раз (если вам повезет), либо уйдут на другой сайт, на котором есть информация, которую они ищут.
На каждом сайте есть страницы, возвращающие 404 кода статуса. Эти страницы не всегда нужно перенаправлять; Есть и другие варианты. Распространенное заблуждение состоит в том, что оптимальной практикой поисковой оптимизации является простое перенаправление 301 страниц, возвращающих код статуса 404, на домашнюю страницу данного домена. На самом деле это плохая идея для большинства случаев, потому что это может сбить с толку пользователей, которые могут не осознавать, что веб-страница, к которой они пытались получить доступ, не существует.
Если страницы, возвращающие коды 404, являются страницами с высоким авторитетом и большим объемом трафика или имеют очевидный URL-адрес, для которого предназначены посетители или ссылки, вам следует использовать 301 редирект на наиболее релевантную страницу.Например, если ваша страница о кексах без сахара больше не существует, вы можете перенаправить этот URL-адрес с 301 на страницу с категорией рецептов без сахара.
Вне этих случаев может потребоваться, чтобы URL-адрес специально возвращал 404 — это предотвратит их индексирование и повторное сканирование поисковыми системами. Предложите своим посетителям максимально удобную пользовательскую страницу 404, как это предлагается в этом руководстве по Google Search Console. Например, сайты электронной коммерции часто создают страницы 404, когда товары заканчиваются, поэтому эти сайты являются отличными кандидатами для создания настраиваемой страницы 404 электронной коммерции.
Код состояния HTTP 410 — Исчез
410 более постоянный, чем 404; это означает, что страница исчезла. Страница больше не доступна с сервера, и адрес пересылки не настроен. Любые ссылки на вашем сайте, которые указывают на страницу 410, отправляют ботов и посетителей на мертвый ресурс, поэтому, если вы их видите, удалите любые ссылки или ссылки на них из своего контента.
Код состояния HTTP 500 — внутренняя ошибка сервера
Вместо проблемы с отсутствующими или не найденными страницами этот код состояния указывает на проблему с сервером.500 — это классическая ошибка сервера, которая повлияет на доступ к вашему сайту. Будут потеряны как посетители, так и боты, и ваша ссылочная стоимость никуда не денется. Поисковые системы предпочитают хорошо обслуживаемые сайты, поэтому вам нужно изучить эти коды статуса и исправить их, как только вы с ними столкнетесь.
Код состояния HTTP 503 — служба недоступна
Другой вариант ответа 500, ответ 503 означает, что сервер недоступен. Всех (людей или других) просят вернуться позже.Это могло произойти из-за временной перегрузки сервера или обслуживания сервера. Код состояния 503 гарантирует, что поисковые системы будут знать, что скоро вернутся, потому что страница или сайт будут недоступны только на короткое время.
Продолжайте учиться
Попробовать
MozBar — панель инструментов MozBar SEO позволяет вам видеть соответствующие показатели в вашем браузере при просмотре веб-страниц.
Link Explorer — ваш универсальный инструмент для создания ссылок. Быстро находите возможности для построения ссылок, отслеживайте обнаруженные и потерянные ссылки с течением времени и создавайте списки отслеживания ссылок, чтобы узнать, когда вы получили ссылку.Мощные данные о ссылках для более разумного построения ссылок.
Стандартный список ошибок HTTP
Стандартный список ошибок HTTP
Ошибки перенаправления (3xx)300 Несколько вариантов выбора — указывает несколько вариантов ресурса, которым может следовать клиент.
301 перемещен навсегда — этот и все последующие запросы должны быть направлены на указанный URL-адрес
302 Найдено — клиенту требуется выполнить временное перенаправление (исходная описывающая фраза была «Перемещено временно»)
303 См. Другое — Ответ на запрос можно найти по другому URL-адресу с помощью метода GET.
304 Not Modified — указывает, что ресурс не был изменен с версии, указанной в заголовках запроса If-Modified-Since или If-Match
306 Switch Proxy — Больше не используется. Первоначально означало «Последующие запросы должны использовать указанный прокси».
307 Временное перенаправление (начиная с HTTP / 1.1) — в этом случае запрос следует повторить с другим URL-адресом; однако в будущих запросах по-прежнему должен использоваться исходный URL.
308 Постоянное перенаправление — запрос и все будущие запросы должны повторяться с использованием другого URL-адреса.
Ошибки клиента (4xx)400 Bad Request — запрос не может быть выполнен из-за неправильного синтаксиса.
401 Неавторизовано — аналогично 403 Запрещено, но специально для использования, когда требуется аутентификация, но она не удалась или еще не была предоставлена.
402 Требуется оплата — зарезервировано для использования в будущем.
403 Запрещено — запрос был действительным, но сервер отказывается отвечать на него.
404 Not Found — запрошенный ресурс не может быть найден, но может быть снова доступен в будущем.
405 Метод запрещен — был сделан запрос ресурса с использованием метода запроса, не поддерживаемого этим ресурсом
406 Not Acceptable — запрошенный ресурс может только генерировать контент, неприемлемый в соответствии с заголовками Accept, отправленными в запросе.
407 Требуется аутентификация прокси-сервера — клиент должен сначала аутентифицировать себя с помощью прокси.
408 Тайм-аут запроса — время ожидания запроса сервером истекло.
409 Конфликт — указывает, что запрос не может быть обработан из-за конфликта в запросе, такого как конфликт редактирования в случае нескольких обновлений.
410 Gone — указывает, что запрошенный ресурс больше не доступен и больше не будет доступен.
411 Требуется длина — в запросе не указана длина его содержимого, необходимая для запрашиваемого ресурса.
412 Ошибка предварительного условия — сервер не соответствует одному из предварительных условий, которые инициатор запроса поставил для запроса.
413 Request Entity Too Large — запрос больше, чем сервер может или может обработать.
414 Request-URI Too Long — предоставленный URI слишком длинный для обработки сервером.
415 Неподдерживаемый тип носителя — объект запроса имеет тип носителя, который сервер или ресурс не поддерживает.
416 Запрошенный диапазон не выполняется — клиент запросил часть файла, но сервер не может предоставить эту часть.
417 Ошибка ожидания — сервер не может удовлетворить требованиям поля заголовка запроса Expect.
418 Я чайник — этот код был определен в 1998 году как одна из традиционных первоапрельских шуток IETF в RFC 2324, протокол управления гипертекстовым кофейником, и не ожидается, что он будет реализован на реальных HTTP-серверах.
419 Тайм-аут аутентификации — не является частью стандарта HTTP, 419 Тайм-аут аутентификации означает, что истек срок действия ранее действующей аутентификации.
420 Ошибка метода — не является частью стандарта HTTP, но определено Spring в классе HttpStatus для использования при сбое метода.
420 Enhance Your Calm — не является частью стандарта HTTP, но возвращается версией 1 API поиска и трендов Twitter, когда скорость клиента ограничена.
422 Unprocessable Entity — запрос был правильно сформирован, но не мог быть выполнен из-за семантических ошибок.
423 Заблокировано — ресурс, к которому осуществляется доступ, заблокирован.
424 Failed Dependency — запрос не удался из-за сбоя предыдущего запроса.
425 Неупорядоченная коллекция — определена в черновиках «Протокола расширенных коллекций WebDAV», но отсутствует в «Протоколе упорядоченных коллекций WebDAV (WebDAV)».
426 Требуется обновление — клиент должен переключиться на другой протокол, например TLS / 1.0.
428 Требуется предварительное условие — исходный сервер требует, чтобы запрос был условным.
429 Too Many Requests — пользователь отправил слишком много запросов за заданный промежуток времени.
431 Поля заголовка запроса слишком велики — сервер не желает обрабатывать запрос, потому что либо отдельное поле заголовка, либо все поля заголовка в совокупности слишком велики.
440 Тайм-аут входа — расширение Microsoft. Указывает, что срок вашего сеанса истек.
444 Нет ответа — используется в журналах Nginx, чтобы указать, что сервер не вернул информацию клиенту и закрыл соединение.
449 Retry With — расширение Microsoft. Запрос следует повторить после выполнения соответствующего действия.
450 Заблокировано родительским контролем Windows — расширение Microsoft.Эта ошибка возникает, когда родительский контроль Windows включен и блокирует доступ к данной веб-странице.
451 Недоступно по юридическим причинам — определено в интернет-проекте «Новый код состояния HTTP для ресурсов с ограниченным законодательством».
451 Redirect — используется в Exchange ActiveSync, если есть более эффективный сервер для использования или сервер не может получить доступ к почтовому ящику пользователей.
494 Заголовок запроса слишком большой — Внутренний код Nginx похож на 431, но был представлен ранее.
495 Ошибка сертификата — Внутренний код Nginx, используемый при возникновении ошибки сертификата клиента SSL, чтобы отличить его от 4XX в журнале и перенаправлении страницы с ошибкой.
496 Нет сертификата — внутренний код Nginx используется, когда клиент не предоставил сертификат, чтобы отличить его от 4XX в журнале и перенаправлении страницы с ошибкой.
497 HTTP на HTTPS — внутренний код Nginx, используемый для простых HTTP-запросов, отправляемых на порт HTTPS, чтобы отличить его от 4XX в журнале и перенаправлении страницы с ошибкой.
499 Client Closed Request — используется в журналах Nginx, чтобы указать, когда соединение было закрыто клиентом, пока сервер все еще обрабатывает свой запрос, что делает сервер неспособным отправить код состояния обратно.
Ошибки сервера (5xx)500 Внутренняя ошибка сервера — общее сообщение об ошибке, которое выдается, когда возникло непредвиденное состояние, и более конкретное сообщение не подходит.
501 Не реализовано — сервер либо не распознает метод запроса, либо не может выполнить запрос.
502 Плохой шлюз — сервер действовал как шлюз или прокси и получил недопустимый ответ от вышестоящего сервера.
503 Служба недоступна — сервер в настоящее время недоступен (потому что он перегружен или отключен для обслуживания).
504 Тайм-аут шлюза — сервер действовал как шлюз или прокси и не получил своевременного ответа от вышестоящего сервера.
505 Версия HTTP не поддерживается — сервер не поддерживает версию протокола HTTP, используемую в запросе.
506 Вариант также согласовывает — согласование прозрачного содержимого для запроса приводит к циклической ссылке.
507 Недостаточно памяти — сервер не может сохранить представление, необходимое для выполнения запроса.
508 Обнаружен цикл — сервер обнаружил бесконечный цикл при обработке запроса.
509 Превышен предел пропускной способности — этот код состояния не указан ни в каких RFC. Его использование неизвестно.
510 Не расширенный — для его выполнения сервером требуются дальнейшие расширения запроса.