Информационные | |||
---|---|---|---|
100 | Continue | «Продолжить». Этот промежуточный ответ указывает, что запрос успешно принят и клиент может продолжать присылать запросы либо проигнорировать этот ответ, если запрос был завершён. | Только HTTP/1.1 |
101 | Switching Protocol | «Переключение протокола». Этот код присылается в ответ на запрос клиента, содержащий заголовок Upgrade: , и указывает, что сервер переключился на протокол, который был указан в заголовке. Эта возможность позволяет перейти на несовместимую версию протокола и обычно не используется. | Только HTTP/1.1 |
102 | Processing | «В обработке». Этот код указывает, что сервер получил запрос и обрабатывает его, но обработка ещё не завершена. | Только HTTP/1.1 |
103 | Early Hints | «Ранние подсказки». | Только HTTP/1.1 |
Успешные | |||
200 | OK | «Успешно». Запрос успешно обработан. Что значит «успешно», зависит от метода HTTP, который был запрошен:
| HTTP/0.9 и выше |
201 | Created | «Создано». Запрос успешно выполнен и в результате был создан ресурс. Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ». | HTTP/0.9 и выше |
202 | Accepted | «Принято». Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки. | HTTP/0.9 и выше |
203 | Non-Authoritative Information | «Информация не авторитетна». Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK. | HTTP/0.9 и 1.1 |
204 | No Content | «Нет содержимого». Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются. Клиент может использовать их для обновления кешированных заголовков полученных ранее для этого ресурса. | HTTP/0.9 и выше |
205 | Reset Content | «Сбросить содержимое». Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос. | Только HTTP/1.1 |
206 | Partial Content | «Частичное содержимое». Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков. | Только HTTP/1.1 |
Сообщения о перенаправлениях | |||
300 | Multiple Choice | «Множественный выбор». Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов. И User-agent или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов. | HTTP/1.0 и выше |
301 | Moved Permanently | «Перемещён на постоянной основе». Этот код ответа значит, что URI запрашиваемого ресурса был изменён. Возможно, новый URI будет предоставлен в ответе. | HTTP/0.9 и выше |
302 | Found | «Найдено». Этот код ответа значит, что запрошенный ресурс временно изменён. Новые изменения в URI могут быть доступны в будущем. Таким образом, этот URI, должен быть использован клиентом в будущих запросах. | HTTP/0.9 и выше |
303 | See Other | «Просмотр других ресурсов». Этот код ответа присылается, чтобы направлять клиента для получения запрашиваемого ресурса в другой URI с запросом GET. | HTTP/0.9 и 1.1 |
304 | Not Modified | «Не модифицировано». Используется для кеширования. Это код ответа значит, что запрошенный ресурс не был изменён. Таким образом, клиент может продолжать использовать кешированную версию ответа. | HTTP/0.9 и выше |
305 | Use Proxy | «Использовать прокси». Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности. | Только HTTP/1.1 |
306 | Switch Proxy | Больше не использовать. Изначально подразумевалось, что » последующие запросы должны использовать указанный прокси.» | Только HTTP/1.1 |
307 | Temporary Redirect | «Временное перенаправление». Сервер отправил этот ответ, чтобы клиент получил запрошенный ресурс на другой URL-адрес с тем же методом, который использовал предыдущий запрос. Данный код имеет ту же семантику, что код ответа 302 Found , за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST , то во втором запросе также должен использоваться POST . | Только HTTP/1.1 |
308 | Permanent Redirect | «Перенаправление на постоянной основе». Это означает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке Примечание: Это экспериментальный код ответа, Спецификация которого в настоящее время находится в черновом виде. | draft-reschke-http-status-308 |
Клиентские | |||
400 | Bad Request | «Плохой запрос». Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса. | HTTP/0.9 и выше |
401 | Unauthorized | «Неавторизованно». Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна. | HTTP/0.9 и выше |
402 | Payment Required | «Необходима оплата». Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платёжных систем(на данный момент не используется). | HTTP/0.9 и 1.1 |
403 | Forbidden | «Запрещено». У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ. | HTTP/0.9 и выше |
404 | Not Found | «Не найден». Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе. | HTTP/0.9 и выше |
405 | Method Not Allowed | «Метод не разрешён». Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован. Два обязательных метода, GET и HEAD , никогда не должны быть деактивированы и не должны возвращать этот код ошибки. | Только HTTP/1.1 |
406 | Not Acceptable | Этот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent. | Только HTTP/1.1 |
407 | Proxy Authentication Required | Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера. | Только HTTP/1.1 |
408 | Request Timeout | Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения сёрфинга (смотрите баг 634278, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений. | Только HTTP/1.1 |
409 | Conflict | Этот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера. | Только HTTP/1.1 |
410 | Gone | Этот ответ отсылается, когда запрашиваемый контент удалён с сервера. | Только HTTP/1.1 |
411 | Length Required | Запрос отклонён, потому что сервер требует указание заголовка | Только HTTP/1.1 |
412 | Precondition Failed | Клиент указал в своих заголовках условия, которые сервер не может выполнить | Только HTTP/1.1 |
413 | Request Entity Too Large | Размер запроса превышает лимит, объявленный сервером. Сервер может закрыть соединение, вернув заголовок | Только HTTP/1.1 |
414 | Request-URI Too Long | URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработать | Только HTTP/1.1 |
415 | Unsupported Media Type | Медиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонён | Только HTTP/1.1 |
416 | Requested Range Not Satisfiable | Диапазон указанный заголовком запроса Range | Только HTTP/1.1 |
417 | Expectation Failed | Этот код ответа означает, что ожидание, полученное из заголовка запроса Expect , не может быть выполнено сервером. | Только HTTP/1.1 |
Серверные | |||
500 | Internal Server Error | «Внутренняя ошибка сервера». Сервер столкнулся с ситуацией, которую он не знает как обработать. | HTTP/0.9 и выше |
501 | Not Implemented | «Не выполнено». Метод запроса не поддерживается сервером и не может быть обработан. Единственные методы, которые сервера должны поддерживать (и, соответственно, не должны возвращать этот код) — GET и HEAD . | HTTP/0.9 и выше |
502 | Bad Gateway | «Плохой шлюз». Эта ошибка означает что сервер, во время работы в качестве шлюза для получения ответа, нужного для обработки запроса, получил недействительный (недопустимый) ответ. | HTTP/0.9 и выше |
503 | Service Unavailable | «Сервис недоступен». Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы. Этот ответ должен использоваться для временных условий и Retry-After: HTTP-заголовок должен, если возможно, содержать предполагаемое время до восстановления сервиса. Веб-мастер также должен позаботиться о заголовках, связанных с кешем, которые отправляются вместе с этим ответом, так как эти ответы, связанные с временными условиями, обычно не должны кешироваться. | HTTP/0.9 и выше |
504 | Gateway Timeout | Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя. | Только HTTP/1.1 |
505 | HTTP Version Not Supported | «HTTP-версия не поддерживается». HTTP-версия, используемая в запросе, не поддерживается сервером. | Только HTTP/1.1 |
Код HTTP 302 Found
Код 302 Found не является ошибкой, это информационное сообщение, которое возвращается в ответ на запрос к временно перемещенному ресурсу. Код Found должен содержать в себе информацию о новом месторасположении.
О чем свидетельствует ошибка 302
Код 302 устанавливает системный администратор ресурса. При этом в заголовке сообщения Location должен быть указан новый адрес. Браузер автоматически перенаправляется по указанному url, но при этом поисковые системы не обновляют ссылки так, как это происходит в случае использования кода 301 Redirect. Вес ссылки в поисковой системе при этом также не изменяется и не переносится на новый адрес, указанный в заголовке Location.
Рекомендуется применять этот способ перенаправления в качестве ответа только для некоторых поисковых методов, в частности:
- GET, при котором все данные передаются в строке запроса;
- HEAD, при котором сервер запрашивает информацию о заголовке искомого ресурса или файла.
Что делать пользователю, когда в браузере появляется код ошибки 302
Если вы увидели сообщение 302 Found, прежде всего, посмотрите заголовки, в которых должно содержаться перенаправление. Если в заголовке нет перенаправления, напишите в техническую поддержку ресурса или хостинг-провайдера — бывает, что его настраивают по ошибке.
Причины возникновения кода 302 found
Его не настраивают для тех url, которые изменены на постоянной основе. Основная причина использования — техническое обслуживание сайта, во время которого контент может быть размещен на временном домене. Главная цель, которую преследует при этом системный администратор — чтобы поисковые системы не начали индексацию по новому адресу. Иногда не совсем добросовестные администраторы интернет-магазинов настраивают код 302 для товаров, которых в данный момент нет в наличии.
Коды ответов сервера и ошибки. HTTP 200, 301, 404, 302, 500, 503, 550 и др.
Может сейчас эта тема не особо вас волнует, однако протяжении существования вашего сайта вы будете сталкиваться с кодами ответов сервера или «списком кодов состояния HTTP», связанных с различными элементами функциональной составляющей вашего сайта. Довольно часто встречаются такие ошибки, как 404 и 301, но существует огромное множество других ошибок, с которыми вы, возможно, не знакомы. Прежде чем паниковать, лучше прочтите эту статью, призванную рассказать вам о значения кодов различных ошибок, которые могут встретиться на вашем пути.
Некоторые из них напрямую связаны с сервером или с клиентской стороной, а некоторые уже не актуальны, поэтому вы вряд ли их увидите в реальной жизни, но ради интереса и фоновых знаний я включил и их.
Ниже представлена удобная таблица, при помощи которой вы сможете быстро и просто перейти к интересующей вас ошибке, и узнать ее значение:
1xx Информационные коды
100 Continue означает «работу в штатном режиме». Он означает, что пользователем был сделан хороший запрос, и сервер принялся к обработке. Это временный код ответа, имеющий место лишь тогда, когда пользователь ожидает финального ответа от сервера, который происходит только после того, как будет отослан последний пакет данных.
Когда этот код может использоваться? Это внутренний код, и иногда он даже не генерируется, если пользователь уже получил какие-то данные от сервера. Это нечто вроде послания к серверу о том, что соединение было установлено успешно, и двери открыты. Высылай данные, но не забудь закрыть дверь, когда закончишь дела (имеется в виду код финального ответа).
Вернуться в начало
Это, наверное, один из самых простых серверных кодов, который означает, что пользователь сделал запрос на переключение типа протокола, используемого на веб-сервере, и сервер дал согласие на это.
Когда этот код может использоваться? При переключении на новую версию HTTP с протокола старого типа. Этот запрос выполняется только при наличии более подходящего протокола (иными словами, при наличии более свежей версии HTTP).
Вернуться в начало
Так как WebDAV-запрос (протокол передачи) может содержать не только один запрос, но также множество подзапросов, включая операции с файлами, он зачастую может затребовать более длительного времени для завершения запроса.
Когда этот код может использоваться? Этот код генерируется для того, чтобы оповестить пользователя и необходимости сбросить таймер и ожидать следующей команды в обычном режиме, так как процесс обработки запроса может занять длительное время.
Вернуться в начало
2xx Success
Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения. Иначе говоря, данная классификация кодов обозначает, что действие, запрошенное клиентом, было успешно принято в обработку.Этот код, вероятно, является самым популярным, но при этом самым незаметным ввиду его характера. Он означает, что обмен между пользователем и сервером завершен, и все прошло так, как должно было.
Когда этот код может использоваться? В идеале – постоянно!
Вернуться в начало
В результате успешного выполнения запроса был создан новый ресурс. Например, запрос пользователя привел к созданию нового ресурса вроде новой страницы. Сервер-источник должен создать ресурс перед тем, как отправлять код 201. Если ресурс не может быть создан в данный момент, то сервер вместо этого должен отобразить код 202 (accepted).
Вернуться в начало
Запрос был принят на обработку, но она не завершена по каким-либо причинам. Запрос может и не быть выполнен до конца, в зависимости от того, был ли он отклонен в процессе обработки.
Когда этот код может использоваться? Когда сервер не может выполнить запрос в тот момент, в который он был сделан. Запрос изначально не рассчитан на обязательное исполнение, и клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс.
Вернуться в начало
- 203 Non-Authoritative Information
Сервер успешно обработал запрос, но передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. По сути, этот код очень похож на 200, но указывает на то, что информация была получена не из первоисточника.
Когда этот код может использоваться? Этот код может быть использован вместо 200, когда у отправителя есть причина полагать, что заголовки ответа от постороннего источника могут отличаться от того, что предоставил бы исходный сервер.
Вернуться в начало
Этот код представляет собой ответ, посланный сервером для того, чтобы сообщить, что запрос был получен и понят, но отсутствуют данные, которые можно было отправить пользователю. Это, главным образом, используется для того, чтобы разрешить запуск скриптов, не меняя при этом документ. Данный код не должен содержать тело сообщения, и включается в первую пустую строку кода сразу после заголовка.
Когда этот код может использоваться? Этот код, главным образом, используется для того, чтобы позволить осуществить ввод или какие-либо действия без необходимости обновлять документ (страницу).
Вернуться в начало
Сервер успешно обработал запрос, но при этом не возвращает какой-либо контент. В отличие от 204, этот ответ требует от запрашиваемого обновить документ.
Когда этот код может использоваться? Обычно он используется тогда, когда пользователь заполняет форму, а сервер посылает браузеры запрос на очистку формы. Он схож с кодом 204, но просит пользователя сбросить документ после завершения – например, очистить HTML-форму после подтверждения.
Вернуться в начало
Сервер возвращает лишь часть контента, соответствующего заголовку, посланному клиентом. Обычно он используется расширенными инструментами кэширования, когда пользователь запрашивает лишь небольшую часть контента на странице, и сервер в своем ответе предоставляет данные лишь для этой области на странице.
Когда этот код может использоваться? Этот кода обычно используется вследствие запрос If-Range, который применяется в мощных валидаторах кэша. Запрос также должен включать заголовки области, которые используется в качестве параметров диапазона возвратной информации.
Вернуться в начало
Сервер передаёт результаты выполнения сразу нескольких независимых операций, которые помещают в тело сообщения в виде XML-документа.
Вернуться в начало
3хх Перенаправление
Этот класс кодов состояния указывает на дальнейшие действия, которые должны быть предприняты агентом пользователя для того, чтобы завершить запрос. Действия могут производиться пользователей, либо могут включать в себя различные запросы к серверу.
В основном, этот код сообщает пользователю о том, что ресурс был перемещен, и сервер отвечает списком доступных альтернативных вариантов, среди которых пользователь может выбрать наиболее подходящий ему ресурс.
Когда этот код может использоваться? Обычно этот код можно увидеть, когда сервер считает, что предоставленный пользователем (другими словами, браузером пользователя) URL имеет недостаточно точный указатель, и предлагает дальнейший выбор. Обычно это происходит тогда, когда пользователь использует URL на директорию не самого последнего уровня, и сервер предлагает ему выбор имеющихся файлов или директорий последующего уровня.
Вернуться в начало
Это довольно распространенный пользовательский запрос. Он означает, что запросы для данного ресурса (а также все последующие запросы) должны быть перенаправлены на заданный URL.
Когда этот код может использоваться? Когда страница более не существует, либо ссылка, ведущая на сторонний источник, уже не работает. 301 редирект сообщает пользователю о том, что запрашиваемый ресурс был перемещен (обычно это реализуется при помощи файла .htaccess, доступного на серверах Apache).
Вернуться в начало
Этот код сообщает пользователю, что расположение запрашиваемого ресурса временно изменено, и 302 код состояния должен содержать информацию о новом месторасположении, которое пользователь и должен запросить.
Когда этот код может использоваться? У этого кода есть несколько применений, многие из которых не являются тем, для чего код был изначально предназначен. Изначально он представлял собой основной способ создания временного перенаправления. Тем не менее, сегодня существуют и другие – этичные, и неэтичные – способы его применения.
Вернуться в начало
Этот код указывает пользователю на то, что запрашиваемый ресурс можно найти по URL, который отличается от указанного в запросе. Это не обязательно означает, что что-то было перемещено, это код лишь предоставляет адрес, по которому следует запрашивать подобный ответ.
Когда этот код может использоваться? Этот метод главным образом существует для того, чтобы позволить выводу данных POST-активированного скрипта перенаправить агента пользователя к выбранному ресурсу.
Вернуться в начало
Этот код означает, что пользователь запрашивает документ/ресурс только в том случае, если он подвергался изменениям с момента последнего обновления кэша данного документа.
Когда этот код может использоваться? Если в ответе от сервера сообщается о том, что параметры документа If-Modified-Since или If-Match не менялись с момента создания последнего кэша, то нет необходимости в повторной отправке ресурса.
Вернуться в начало
Этот код сообщает пользователю, что доступ к запрашиваемому ресурсу возможен только посредством прокси, указанного в ответе.
Когда этот код может использоваться? Этот код часто отображается в связи с мерами безопасности, и предоставляет доступ к запрашиваемым URL-ресурсам.
Вернуться в начало
Этот код изначально означал «последующие запросы должны использовать указанный прокси», но в данный момент не используется и зарезервирован.
Вернуться в начало
Этот код возвращается, если ресурс на данный момент временно доступен по другому URL, который также предоставляется в ответе. Этот код немного отличается от кода 302 – он представляет собой более определенную версию кода 302.
Когда этот код может использоваться? Он используется практически в тех же случаях, что и 302, но пользователь должен продолжить запросы по исходному URL при следующих запросах, либо до тех пор, пока не будет применен новых код ответа.
Вернуться в начало
4хх Ошибка клиента
Класс кодов 4xx предназначен для указания ошибок со стороны клиента, либо на то, что локации никогда (или уже) не существовало. Эти коды состояния применимы к любому методу запроса.
Запрос не может быть исполнен ввиду синтаксической ошибки.
Когда этот код может использоваться? Когда пользователь запрашивает информацию, но делает это, пренебрегая правилами протокола передачи гипертекста. Запрос не следует повторять без изменения синтаксиса.
Вернуться в начало
Этот код связан с запросом к ресурсу, который требует авторизации. Ответ 401 указывает на то, что попытка авторизации была отклонена по тем данным, которые предоставил пользователь.
Когда этот код может использоваться? Когда пользователь совершает запрос к серверу, используя неправильные данные авторизации (имя пользователя и/или пароль).
Вернуться в начало
Зарезервирован на будущее. Тем не менее, исходное предназначение заключалось в том, что данный код мог использоваться в некоторой форме электронных денег для проведения трансакций, но этого не случилось, и коду не нашлось применения.
Когда этот код может использоваться? Старый сервис MobileMe от Apple выдавал ошибку 402, если аккаунт пользователя в MobileMe подозревался в злоупотреблении сервисом. Кроме того, Youtube использует это состояние, если конкретный IP-адрес уличен в совершении чрезмерного числа запросов, и тогда пользователю необходимо ввести CAPTHA.
Вернуться в начало
Пользователь пытается осуществить доступ к ресурсу, к которому у него нет доступа, и авторизация не изменит положения.
Когда этот код может использоваться? Когда сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Обычно такое случается, когда ресурс не предназначен для публичного доступа.
Вернуться в начало
Все знакомы с этим кодом, не так ли? Он означает, что запрошенный ресурс не может быть найден, но в будущем – когда он, возможно, там появится, – к нему можно будет осуществить доступ. Также здесь допустимы последующие запросы от клиента. Тем не менее, в большинстве таких случаев применяется код перенаправления из семейства 3хх, и пользователя перенаправляют на альтернативный ресурс или локацию.
Когда этот код может использоваться? Довольно часто, особенно если страницу переместили или удалили. Зачастую в подобных случаях сервер автоматически генерирует направляющую страницу с ошибкой 404.
Вернуться в начало
Метод, при помощи которого совершается запрос к ресурсу, не доступен. Другими словами, ошибка возникает при попытке использовать GET на форме, которая требует ввод данных посредством POST, либо использовании метода PUT на ресурсе, который предназначен только для чтения.
Когда этот код может использоваться? Ошибки 405 встречаются в связи с конкретными объектами на веб-странице, для которых был совершен запрос. Например, когда строка запроса в скрипте отличается от пользовательского запроса, в котором подразумевается использование этого скрипта.
Вернуться в начало
Запрошенный ресурс способен генерировать только тот контент, который не применим к Accept-заголовкам в самом запросе. Браузер способен указывать серверу характеристики данных, которые данные будут принимать от сервера
Когда этот код может использоваться? Если форма файла запрошенного ресурса не совпадает с форматом, который пользователь способен распознать. Мы говорим сейчас о языке программирования, а не о французском!
Вернуться в начало
- 407 Proxy Authentication Required
Как и код состояния 401, код 407 означает, что клиент сначала должен авторизоваться через прокси. Чтобы сделать это и авторизоваться, прокси должен вернуть поле с заголовком proxy-authenticate, который отвечает требованиям, представленным сервером.
Когда этот код может использоваться? Когда сервер думает, что запрос данных от клиента корректным, но доступ к ресурсу возможен только посредством авторизации через прокси-сервер.
Вернуться в начало
Время ожидания сервером передачи от клиента истекло.
Когда этот код может использоваться? Руководствуясь спецификацией W3 HTTP: «Клиент не сделал запрос в отведенный промежуток времени, который сервер был готов ждать. Клиент МОЖЕТ повторить запрос когда угодно».
Вернуться в начало
Указывает на то, что запрос не может быть выполнен из-за конфликтного обращения к ресурсу.
Когда этот код может использоваться? Вы можете получить такой код при загрузке файла на веб-сервер, где уже имеется более свежая версия этого файла, что приводит к конфликту в системе контроля версий.
Вернуться в начало
Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Пользователю не следует повторять идентичный запрос.
Когда этот код может использоваться? Если более невозможно осуществить доступ к ресурсу посредством данного запроса, и сервер не владеет информацией о возможном месте расположения ресурса. Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404.
Вернуться в начало
Запрос не указывает длину контента, и это было затребовано в совершенном запросе.
Когда этот код может использоваться? Когда браузер не определяет длину запрашиваемого контента в заголовке запроса. Сервер не примет запрос без валидного поля заголовка content-length.
Вернуться в начало
Сервер не отвечает одному из предварительных условий, которые отправитель указал в запросе. Другими словами, один или более заголовок запроса был возвращен с атрибутом false.
Когда этот код может использоваться? Если заголовок запроса, который совершает валидный запрос к ресурсу, сообщает, что этот конкретный запрос не применим к этому конкретному ресурсу.
Вернуться в начало
- 413 Request Entity Too Large
Код 413 отображается в тех случаях, когда сервер отказывается обработать запрос по причине слишком большого размера тела запроса.
Когда этот код может использоваться? При использовании в форме метода POST с контентом, по размеру большим, нежели сервер способен обработать.
Вернуться в начало
Этот код отображается, когда сервер не может обработать запрос из-за слишком длинного указанного URL.
Когда этот код может использоваться? Когда POST-запрос конвертируется в GET-запрос. POST-запрос поддерживает отправку безграничного объема данных, связывая их с самим запросом. Тем не менее, если запрос должен быть конвертирован в GET-запрос, то запрос позволяет привязать данные формы к URL, что позволяет проводить информацию в больших размерах, чем это было доступно.
Вернуться в начало
- 415 Unsupported Media-Type
Ответ 415 отправляется для указания о том, что сервер заметил, что часть запроса была сделана в неподдерживаемом формате.
Когда этот код может использоваться? Когда в запросе не указываются какие-либо типы медиа, которые поддерживаются ресурсом или сервером. Например, пользователь запрашивает изображение с расширением файла, которое не поддерживается сервером. Сервер знает о том, что было запрошено, но не понимает формат, в котором был запрошен ресурс.
Вернуться в начало
- 416 Requested Range Not Satisfiable
Этот ответ приходит пользователю, когда тот запрашивает часть запрашиваемого ресурса, когда эта часть не может быть предоставлена.
Когда этот код может использоваться? Когда у сервера запрашивают XXX-YYY байтов какого-либо ресурса, но ресурс имеет меньший размер, чем указано в запросе.
Вернуться в начало
Этот ответ может быть получен, когда по каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса.
Когда этот код может использоваться? Все вполне и так понятно. Когда один из заголовков запроса, заголовок «Expect», имеет запрос, на который сервер не может предоставить ответ.
Вернуться в начало
Этот код был создан в 1998 году как одна из традиционных первоапрельских шуток IETF, в RFC 2324, Hyper Text Coffee Pot Control Protocol, и вряд ли будет обрабатываться современными HTTP-серверами.
Когда этот код может использоваться? Лет 15 назад, ради смеха.
Вернуться в начало
Запрос был принят и понят, но не может быть выполнен ввиду наличия семантических ошибок.
Когда этот код может использоваться? Когда сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом.
Вернуться в начало
Целевой ресурс из запроса заблокирован от применения к нему указанного метода. Чтобы ресурс стал доступным, необходимо снять блокировку или предоставить правильные данные авторизации.
Когда этот код может использоваться? Когда ресурс… закрыт. Обычно это случается из соображений безопасности.
Вернуться в начало
Указывает на то, что реализация текущего запроса может зависеть от успешности выполнения другой операции, и если она не будет успешно проведена, вся обработка запроса будет прервана.
Вернуться в начало
Этот код отображается, когда ресурс определен в черновиках «WebDAV Advanced Collections Protocol», но не присутствует в «Web Distributed Authoring and Versioning Ordered Collections Protocol».
Вернуться в начало
Этот код отображается, когда сервер указывает клиенту на необходимость обновить (переключиться на другой, более новый) протокол. Когда этот код может использоваться? Обычно когда браузер использует устаревшие протоколы.
Вернуться в начало
- 428 Precondition Required
Сервер-источник требует, чтобы в запросе были указаны предварительные условия. Этот код предназначен для того, чтобы избежать конфликта версий ресурса в тех случаях, когда клиент получает (GET) состояние ресурса, изменяет его, и отправляет (PUT) обратно на сервер, и в то же время какая-то третья сторона также изменяет положение ресурса прямо на севере, что приводит к конфликту.
Когда этот код может использоваться? Запрашивая указание условий, сервер как бы гарантирует клиентам то, что они используют корректные актуальные копии ресурс. Если же это не соответствует действительно, пользователь получит ошибку 428.
Вернуться в начало
Этот ответ посылается, если клиент попытался отправить слишком много запросов за короткое время.
Когда этот код может использоваться? Когда пользователь посылает слишком много запросов за короткий промежуток времени.
Вернуться в начало
- 431 Request Header Fields Too Large
Происходит, когда сервер не собирается обрабатывать запрос, так как какое-то из полей заголовка (или все поля заголовков) слишком большое.
Когда этот код может использоваться? В основном тогда, когда заголовок запроса от пользователя больше, чем сервер способен обработать. Запрос может быть повторен после того, как будет уменьшен размер полей заголовков в запросе.
Вернуться в начало
Использовался в лог-файлах Nginx для указания того, что сервер не вернул информацию пользователю и закрыл соединение.
Когда этот код может использоваться? Обычно использовался в качестве сдерживающего фактора против вредоносного ПО.
Вернуться в начало
- 449 Retry With (Microsoft)
Расширение Microsoft, которое указывает на то, что запрос должен быть повторен после применения подходящего действия.
Когда этот код может использоваться? Этот код зачастую генерируется, когда выставленные параметры запроса не соответствуют тем, что может принять сервер.
Вернуться в начало
- 450 Blocked by Windows Parental Controls (Microsoft)
Расширение Microsoft. Эта ошибка выдается, когда параметры Windows Parental Controls выставлены на блокировку доступ к определенным веб-страницам.
Когда этот код может использоваться? Когда родители (зная об этой функции) используют родительский контроль, и id-доступа запросил доступ к заблокированному ресурсу.
Вернуться в начало
- 451 Unavailable For Legal Reasons
Новый HTTP-код состояния для ресурсов, которые заблокированы из юридических соображений. Используется для указания на то, что доступ к запрашиваемому ресурсу был заблокирован из юридических соображений: например, цензурой, или правительством.
Вернуться в начало
5xx Ошибка сервера
Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.
Эти серверные ответы зачастую отображаются, когда пользователь делает запрос, который сервер не в состоянии обработать по той или иной причине. Сервер должен включать сообщение для браузера, которое должно быть показано пользователю – в нем сообщается, что сервер (и по каким причинам) не способен обработать запрос.
- 500 Internal Server Error
Данная ошибка говорит о любой внутренней ошибке сервера, которая не входит в рамки остальных ошибок класса.
Когда этот код может использоваться? Когда ресурс или ссылка создаются на сервере (вроде календаря в системе бронирования), которые технически не существуют в виде ссылки или доступного ресурса, но показывается пользователю в виде ссылки.
Вернуться в начало
Сервер либо не понимает метод в запросе, либо не поддерживает возможностей, необходимых для обработки запроса
Когда этот код может использоваться? Вы можете столкнуться с этим, когда сервер не поддерживает нормальные протоколы запроса, вроде GET, OPTIONS, HEAD, POST и т.д.
Вернуться в начало
Ответ 502 отображается, когда сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера.
Когда этот код может использоваться? Обычно, когда вышестоящий сервер и прокси-сервер/шлюз не согласовывают между собой протоколы, представленные в запросе, и в результате получается ошибка при обмене данных.
Вернуться в начало
Сервер временно не имеет возможности обрабатывать запросы по техническим причинам. В основном, это состоянии является временным.
Когда этот код может использоваться? Когда сайт пользуется чрезмерным спросом, и сервер не в состоянии обработать все запросы.
Вернуться в начало
Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса.
Когда этот код может использоваться? Когда для передачи данных используется прокси-сервер/шлюз, и два сервера ждут ответов.
Вернуться в начало
- 505 HTTP Version Not Supported
Сервер не поддерживает указанную в запросе версию протокола HTTP.
Когда этот код может использоваться? В случаях, описанных выше! Когда HTTP-протокол более старый, нежели требуется серверу, и следовательно не поддерживается.
Вернуться в начало
- 506 Variant Also Negotiates
Такой ответ посылается, когда в результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается.
Когда этот код может использоваться? Когда сервер настроен некорректно, и не способен обработать запрос.
Вернуться в начало
Когда сервер не способен разместить данные, так как не хватает места для выполнения текущего запроса.
Когда этот код может использоваться? Когда сервер уже полностью загружен, и пользователь совершает запрос на ресурс, который сервер уже имеет в запасе. Проблема заключается в том, что на сервере нет места для того, чтобы поместить данные, которые посылаются в запросе, чтобы затем выслать запрашиваемый ресурс.
Вернуться в начало
- 509 Bandwidth Limit Exceeded
Этот код ответа используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика.
Когда этот код может использоваться? Когда на сервере Apache выполняется корректное расширение, и в ISP установлен уровень пропускного канала, который скоро может быть превышен. Существует несколько опций предела.
Вернуться в начало
Когда на сервере отсутствует расширение, которое желает использовать клиент. Когда этот код может использоваться? Когда сервер требует больше информации в совершаемом запросе.
Вернуться в начало
- 511 Network Authentication Required
Данный код состояния отображается в случае, если клиент должен сначала авторизоваться в сети, например, ввести пароль для платной точки доступа к Интернету.
Когда этот код может использоваться? Когда пользователь предварительно должен дать свое согласие на условия использования, перед тем, как он получит доступ к интернету (например, к Wi-fi точке доступа).
Итак, надеюсь, что данный список хоть как-то окажется вам полезным. Если я упустил что-то из виду, пожалуйста, допишите информацию в комментариях, и я обязательно включу ее в статью. Пожалуйста, не забудьте поделиться этой статье с друзьями, чтобы они также были в курсе.
Вернуться в начало
400 | Неверный запрос/Bad Request | Запрос не может быть понят сервером из-за некорректного синтаксиса. |
401 | Неавторизованный запрос/Unauthorized | Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем. |
402 | Необходима оплата за запрос/Payment Required | Внутренняя ошибка или ошибка конфигурации сервера. |
403 | Доступ к ресурсу запрещен/Forbidden | Доступ к документу запрещен. Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней. |
404 | Ресурс не найден/Not Found | Документ не существует. Если вы удалили какой-то раздел сайта, можно с помощью robots.txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт. |
405 | Недопустимый метод/Method Not Allowed | Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса, поэтому робот не смог его проиндексировать. |
406 | Неприемлемый запрос/Not Acceptable | Нужный документ существует, но не в том формате (язык или кодировка не поддерживаются роботом). |
407 | Требуется идентификация прокси, файервола/Proxy Authentication Required | Необходима регистрация на прокси-сервере. |
408 | Время запроса истекло/Request Timeout | Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение. |
409 | Конфликт/Conflict | Запрос конфликтует с другим запросом или с конфигурацией сервера. |
410 | Ресурс недоступен/Gone | Затребованный ресурс был окончательно удален с сайта. |
411 | Необходимо указать длину/Length Required | Сервер отказывается принимать запрос без определенного заголовка Content-Length. Поправьте заголовки на своем сервере;— тогда в следующий раз робот сможет проиндексировать страницу. |
412 | Сбой при обработке предварительного условия/Precondition Failed | При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). |
413 | Тело запроса превышает допустимый размер/Request Entity Too Large | Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер. |
414 | Недопустимая длина URI запроса/Request-URI Too Long | Сервер отказывается обслуживать запрос, потому что запрашиваемый роботом URI (Request-URI) длиннее, чем сервер может интерпретировать. |
415 | Неподдерживаемый MIME тип/Unsupported Media Type | Сервер отказывается обрабатывать запрос, потому что тело запроса имеет неподдерживаемый формат. |
416 | Диапазон не может быть обработан/Requested Range Not Satisfiable | Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов. |
417 | Сбой при ожидании/Expectation Failed | Сервер отказывается обрабатывать запрос, потому что значение поля |
422 | Необрабатываемый элемент/Unprocessable Entity | Сервер не в состоянии обработать один (или более) элемент запроса. |
423 | Заблокировано/Locked | Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован. |
424 | Неверная зависимость/Failed Dependency | Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован. |
426 | Требуется обновление/Upgrade Required | Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом. |
429 | Слишком много запросов/Too Many Requests | Отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS-атаки. Ответ может сопровождаться заголовком Retry-After, который указывает, через какое время можно повторить запрос. Яндекс не учитывает этот заголовок. |
Ответы сервера — подробная инструкция
Роботы поисковых систем при проверке страницы вначале смотрят на код ответа сервера, а затем уже приступают к проверке содержимого документа. Например, несуществующие страницы всегда должны отдавать 404 код. Почему? Google утверждает, что страницы с кодом ответа, отличным от 404 и 410, будут сканироваться. Так что, если вы не знаете, какие коды отдают страницы вашего сайта и как это проверить, то ставите под угрозу будущее всего проекта.
О том, что означают коды ответов сервера, — в новом выпуске «Азбуки SEO».
Что такое «код ответа сервера»
Это трехзначное число, которое отдает сервер на запрос посетителя и благодаря которому корректируется дальнейшая обработка запрашиваемого документа. За числом всегда идет краткое пояснение кода на английском языке, отделенное пробелом, — первичная инструкция клиенту при посещении страницы или документа сайта.
Код ответа сервера при обращении к странице в первую очередь проверяют и браузеры, и роботы поисковых систем.
Как проверить код ответа сервера
Чтобы увидеть код при работе в Google Chrome, воспользуйтесь вкладкой Network на панели инструментов разработчика. После открытия панели обновите страницу.
Для массовой проверки по списку URL можно использовать Netpeak Spider, Netpeak Checker или онлайн-инструмент Urlitor (анализ до 150 URL-адресов).
Что такое «классы состояния»
Это группы кодов, объединенных определенными признаками. На класс состояния указывает первая цифра в коде.
Выделяют пять классов:
- 1xx — информационные коды. Они отвечают за процесс передачи данных. Это временные коды, они информируют о том, что запрос принят и обработка будет продолжаться.
- 2xx — успешная обработка. Запрос был получен и успешно обработан сервером.
- 3xx — перенаправление (редирект). Эти ответы сервера гласят, что нужно предпринять дальнейшие действия для выполнения запроса. Например, сделать запрос по другому адресу.
- 4xx — ошибка пользователя. Это значит, что запрос не может быть выполнен по его вине.
- 5xx — ошибка сервера. Эти коды возникают из-за ошибок на стороне сервера. В данном случае пользователь всё сделал правильно, но сервер не может выполнить запрос. Для кодов этого класса сервер обязательно показывает сообщение, что не может обработать запрос и по какой причине.
{«0»:{«lid»:»1573230077755″,»ls»:»10″,»loff»:»»,»li_type»:»em»,»li_name»:»email»,»li_ph»:»Email»,»li_req»:»y»,»li_nm»:»email»},»1″:{«lid»:»1596820612019″,»ls»:»20″,»loff»:»»,»li_type»:»hd»,»li_name»:»country_code»,»li_nm»:»country_code»}}
Истории бизнеса и полезные фишки
Основные ответы сервера
200 ОК
Самый популярный и важный статус. Означает, что запрос выполнен успешно в соответствии с ожиданиями пользователя — запрошенные данные или страница существуют и доступны для просмотра. Все страницы, которые мы хотим видеть в индексе поисковых систем, должны отдавать код 200 OK.
301 Moved Permanently
Этот ответ гласит, что документ или страница были перемещены на другой адрес навсегда. Если у страницы, которая уже была в выдаче поисковых систем, изменился адрес, для сохранения трафика и ссылочного веса рекомендуется настраивать 301 редирект со старого URL-адреса на новый. В конечном итоге поисковик «склеит» эти адреса.
302 Found
Документ временно перенесен на другой адрес. Этот код — сигнал о том, что удалять эту страницу из индекса не надо. По заявлению Gary Illyes из Google, ссылочный вес при этом передается.
304 Not Modified
Важный код с точки зрения нагрузки на сервер и количества передаваемых данных. Сервер возвращает 304 код, если в HTTP-заголовке дата последнего обновления (Last-Modified) старее, чем в запросе с заголовком If-Modified-Since. То есть, если документ не менялся с указанной даты, сервер возвращает код 304 Not Modified. В таком случае роботам поисковиков нет необходимости загружать документ повторно: он не изменился с момента их последнего визита. Фактически они получают только http-заголовки и двигаются дальше.
403 Forbidden
Отказано в доступе. Этот ответ возвращается, если пользователю запрещен доступ к данному документу. В данном случае речь не идет об HTTP-аутентификации (для таких случаев используются 401 и 407 коды). 403 код выводится, например, при входе с запрещенных IP или попытке просмотра системного файла .htaccess.
404 Not Found
Наверное, каждый пользователь сталкивался с этим ответом. Он означает, что по данному URL ничего не найдено — документ не существует. Этот код нужно отдавать при попытке попасть на несуществующие документы. Если страница по запрашиваемому адресу существовала, но была удалена и вы хотите об этом сообщить, используйте код 410.
Страница с сообщением 404 File Not Found не всегда отдает код 404. Многие вебмастера не уделяют этому внимание, что в результате может негативно сказаться на ранжирования всего сайта. Это так называемые страницы «Soft 404». Они возникают, если несуществующая страница отдает код ответа, отличный от 404 и 410. К «Soft 404» могут быть причислены страницы, которые должны отдавать код 200, но на них нет контента (пустая страница). Решение вопроса — найти такие страницы и обязательно настроить для них 404 код.
В искусстве оформления 404 страниц многие преуспели. Отвлекитесь и зацените:
Смотрите также другие интересные примеры дизайна страниц с 404 ошибкой.
410 Gone
Этот ответ говорит, что документ был окончательно удален и более недоступен. Хотя коды 404 и 410 одинаково указывают на то, что страница недоступна, в их обработке есть отличия. Обращаясь к 404 странице, поисковый робот не будет помечать её как удаленную и спустя время снова к ней обратится для уточнения информации. Чего не скажешь про 410 код. В этом случае робот точно отметит, что эта страница или документ навсегда удалены с сервера. Доверясь вебмастеру, бот не будет проверять эту страницу снова.
В последнее время этот код встречается все чаще. Он означает, что доступ к серверу закрыт из-за его запрета на государственном уровне или по решению суда в случае нарушения авторских прав. Ошибка 451 — уточняющий вариант кода 403.
500 Internal Server Error
Это любая внутренняя ошибка сервера, которая не описана в остальных ошибках этого класса. Происходит, если сервер столкнулся с проблемой, которая не позволяет выполнить запрос. Например, эта ошибка может возникнуть из-за ошибок в настройке файла конфигурации.
Сервер временно не может обрабатывать запросы по техническим причинам. Если на сервер идет слишком много запросов и он не в состоянии с ними справиться, мы увидим именно этот ответ.
504 Gateway Timeout
Шлюз не отвечает. Ответ появляется, если сервер работал в качестве прокси и не дождался ответа от вышестоящего сервера для завершения запроса.
Для предотвращения появления страниц в индексе поисковых систем рекомендуется использовать на странице метатег robots с атрибутом noindex: <meta name=»robots» content=»noindex»>.
Если необходимо удалить документ из результатов поиска, можно настроить 404 или 410 код. При использовании метатега noindex страница будет регулярно повторно сканироваться, а при использовании кода ответа 410 роботы сочтут, что страницы больше нет и её сканировать не нужно.
Выводы
- Существуют пять групп кодов ответа сервера — классы состояния, указывающие на разные этапы процесса передачи данных: от успешной обработки до ошибки сервера.
- Все страницы, которые мы хотим видеть в индексе поисковых систем, должны отдавать код 200 OK.
- Если у страницы, которая уже была в выдаче поисковых систем, изменился адрес, рекомендуется настраивать 301 редирект со старого URL-адреса на новый.
- Если несуществующая страница отдает код ответа, отличный от 404 и 410, возникает ошибка страниц «Soft 404». К ним могут быть причислены страницы, которые должны отдавать код 200, но на них нет контента.
Правильное распределение ответов сервера позволяет поисковым системам экономить ресурсы на работу с сайтом. Поисковые роботы будут получать только необходимую информацию — это очень важно для SEO.
Напоследок вопрос на общую эрудицию: почему для ответа сервера Unavailable For Legal Reasons выбрали число 451?
Коды ошибок HTTP
При посещении сайта клиентское приложение подключается к веб-серверам по сетевому протоколу HTTP. Подобные сетевые соединения поддерживают отправку данных ответа от серверов к клиентам, в том числе содержимого веб-страниц, а также HTTP коды.
Включаемые в ответ HTTP-сервера данные представляют собой код, указывающий на результат обработки запроса. Эти коды ответов HTTP состоят из трех цифр, разделенных на категории:
- 100-199: информационный статус;
- 200-299: статус успешного запроса;
- 300-399: статус редиректа;
- 400-499: ошибки клиента;
- 500-599: ошибки сервера.
В интернете или локальных сетях отображается только несколько кодов ошибок и состояний. Коды, связанные с ошибками, отображаются на веб-странице, выводимой в результате неудачного запроса, в то время как другие коды не показываются пользователям вовсе.
HTTP код ответа 200 возникает, когда сервер успешно обработал запрос и передал контент обратно в браузер. Большинство HTTP-запросов завершается этим статусом. Пользователи редко видят этот код на экране, поскольку браузеры обычно отображают коды HTTP, если возникает какая-либо проблема.
Сервер не смог найти запрошенную страницу, файл или другой ресурс. Ошибка HTTP 404 указывает на то, что сетевое соединение между клиентом и сервером было успешно выполнено. Возникает, когда пользователь ввел в браузере неправильный URI, или администратор сервера удалил файл, не настроив редирект на новое местоположение. Чтобы устранить эту проблему, пользователи должны набрать правильный URL-адрес.
Сервер получил от клиента действительный запрос, но не смог обработать его. Ошибка HTTP 500 возникает, когда сервер сталкивается с каким-либо техническим сбоем. Например, нехваткой памяти или дискового пространства. Администратор сервера должен исправить эту проблему.
Этот код указывает, что сервер не может обработать входящий запрос. Некоторые серверы используют код ошибки HTTP 503 для указания ожидаемых сбоев, связанных с высоким потреблением ресурсов. Например, при превышении количества одновременно подключенных пользователей или лимита мощности центрального процессора, о которых обычно сообщается с помощью HTTP-500.
Указанный клиентом URI был перемещен в другое место с помощью HTTP-редиректа, который позволяет клиенту получить ресурс с нового местоположения. Браузеры автоматически следуют HTTP-редиректу 301 без необходимости вмешательства со стороны пользователя.
Код ошибки 302 предназначен для случаев, когда ресурс перемещен временно, а не постоянно. Администратор сервера должен использовать HTTP status code 302 только в течение коротких периодов обновления (изменения) контента. Браузеры автоматически выполняют редирект 302, как и для кода 301. В версии HTTP 1.1 для указания временных редиректов был добавлен новый код 307.
Сервер обнаружил ошибку в данных протокола, полученных от клиента. Обычно это указывает на технический сбой на стороне клиента или повреждением данных в самой сети.
HTTP Error 401 возникает, когда клиенты запрашивают защищенный ресурс на сервере, но не аутентифицированы для доступа. Чтобы исправить ее, клиент должен войти на сервер с использованием логина и пароля.
Добавленный в версию 1.1 протокола код HTTP ответа 100 был разработан для более эффективного использования пропускной способности сети. Он позволяет серверам подтверждать готовность принимать большие запросы. Протокол Continue позволяет клиенту HTTP 1.1 отправлять небольшое специально сконфигурированное сообщение, запрашивающее ответ сервера с кодом 100, а затем дожидаться ответа до отправки запроса на дальнейшие действия. Клиенты и серверы HTTP 1.0 не используют этот код.
Сервер отправил ответ на запрос клиента, который содержит только информацию заголовка (то есть не содержит тела сообщения). Клиенты могут использовать HTTP код 204 для более эффективной обработки ответов сервера, избегая, например, ненужного обновления страниц.
Ошибка, возникающая в сети между клиентом и сервером, приводит к выводу этого кода ошибок HTTP. Это может быть связано с ошибками конфигурации в сетевом брандмауэре, маршрутизаторе или другом сетевом шлюзе.
Дайте знать, что вы думаете по этой теме материала в комментариях. За комментарии, отклики, дизлайки, подписки, лайки огромное вам спасибо!
Данная публикация является переводом статьи «HTTP Error and Status Codes Explained» , подготовленная редакцией проекта.
Коды ошибок сервера, их исправление
Что такое коды ответов и ошибок сервера?
Данные коды (их еще называют http-статусы) посылаются веб-сервером хостинга в ответ на запрос пользователя, который идет через его браузер. Говоря проще, пользователь хочет зайти на определенный сайт и клацает ссылку в браузере. Браузер посылает запрос на сервер хостинг-провайдера, а тот ему в ответ посылает код, исходя из которого браузер делает определенное действие (показывает сайт\показывает ошибку\показывает не то, что запросил пользователь).
Важно! Нельзя считать все ответы сервера ошибками, далее показано о чем они сообщают:
- Коды 100-199 — Запрос браузера принят, и обрабатывается
- Коды 200-299 — Запрос обработан, и браузеру отправили то, что он хотел
- Коды 300-399 — Сервер отправит пользователю не то, что он хотел
- Коды 400-499 — Ошибка на стороне пользователя
- Коды 500-599 — Ошибка на стороне сервера
Коды 100-199
100 Continue
Сообщает о том, что сервер принял первую часть запроса, и можно продолжать посылать остальные части.
101 Switching Protocols
Сервер (по требованию браузера) переключил протоколы. Это задание передается серверу в заголовке Upgrade.
Коды 200-299
200 Ok
Сервер обработал запрос браузера (пользователя) и передал ему то, что он хотел. А пользователь должен увидеть сайт или файл, который запрашивал.
201 Created
Код сообщает, что сервером создан новый идентификатор URI. В ответе сервера (заголовок Location) можно найти место куда именно были помещены созданные данные.
202 Accepted
Сервер принял запрос, но будет обрабатывать его позже. К тому же, в конечном счете нельзя быть уверенным на 100%, что сервер обработает Ваш запрос. Ищите детальную информацию о причинах в сообщении, которое приходит вместе с кодом ошибки.
203 Non-Authoritative Information
Сервер передал запрашиваемую информацию, но сообщает о том, что взял ее на другом сервере или же из собственной копии.
204 No Content
Этот код показывает браузеру, что его запрос принят, но ответ на него пустой, и браузеру не нужно ничего делать. Чаще всего это происходит, когда пользователь клацает по пустому месту страницы или по картинке (без ссылки).
205 Reset Content
Сообщает о том, что нужно очистить одну или несколько форм, в которые могли быть заполнены данные. Чаще всего используется для очистки форм сообщений или любых других форм ввода информации.
206 Partial Content
Сервер принял запрос и вернул только определенную часть данных, которые были запрошены. Какую именно часть нужно вернуть серверу, указывается в заголовке запроса пользователя Range. А сервер указывает это в своем ответе (смотрите заголовок Content-Range).
Коды 300-399
300 Multiple Choices
Код показывает, что один и тот же URL ведет к нескольким документам или страницам. Примером может служить одна и та же страница переведенная на несколько языков. Более подробно о причине ошибки, нужно узнавать в теле ответа сервера. Но чаще всего проблема кроется в заголовках или адресах объектов, и если указать их правильно, то ошибка исчезнет. Важно знать, что данная ошибка может вредить правильной индексации Вашего сайта поисковиками.
301 Moved Permanently
Пользователь запросил объект (страницу), который уже не используется сервером. А сервер в свою очередь перенаправляет пользователя на другую страницу, которая и отображается в браузере. Важно понимать, что поисковый робот перестанет индексировать исходную страницу, и вместо нее будет индексировать ту, на которую идет перенаправление. Этот способ чаще всего используется для редиректа — перенаправленния с одной страницы на другую. Для этого в файле .htaccess прописываем:
Redirect 301 /page1.html http://вашсайт.ru/page2.html
302 Moved Temporarily
Данный код похож по своему смыслу на код 301, но лишь с тем отличием, что старый объект временно недоступен, и вместо него показывается новый. Чаще всего этот отображается в случае если с текущей страницей ведутся работы, и вместо нее подставляется ее дубликат, но с другим адресом.
303 See Other
Сообщение говорит о том, что запрошенный пользователем объект (страница) находится по другому адресу, и доступ к нему нужно получать GET-запросом. Новый адрес указывается в заголовке Location.
304 Not Modified
Этот код показывает, что страница не изменялась с определенного времени и браузер может использовать старую версию (которая скорее всего сохранена в его памяти). Это позволяет не загружать заново страницы, которые не подвергались изменению, что ускоряет время их загрузки. Также это позволяет ускорить индексацию сайта поисковыми роботами, сократить трафик и нагрузку на сервер.
305 Use Proxy
Доступ к объекту (странице сайта) может быть разрешен только с помощью proxy-сервера, адрес которого указывается в заголовке Location.
307 Temporary Redirect
Код почти идентичен 302 Moved Temporarily, но более валидный.
Коды 400-499
400 Bad Request
Как исправить?
Сервер не понял запрос браузера пользователя из-за синтаксической ошибки.
401 Unauthorized
Как исправить?
Эта ошибка сообщает, что для доступа к запрашиваемой странице нужно быть авторизованным.
402 Payment Required
Данный код очень редко используется, и означает скорее проблемы с конфигурацией сервера, чем проблемы с оплатой услуг.
403 Forbidden
Как исправить?
Ошибка сообщает о том, что доступ к данной странице запрещен, или же сервер не может его предоставить.
404 Not Found
Как исправить?
Объект (страница сайта), который хочет увидеть пользователь не найден. Обычна причина в том, что случайно удалена запрашиваемая страница, или же ее адрес введен не правильно.
405 Method Not Allowed
В запросе (строка Request-Line) указан такой метод, который не поддерживается сервером. Часто это происходит при отправке POST-данных на неправильную страницу. Соответственно, чтобы решить эту проблему проверьте правильность указанного пути (атрибут action).
406 Not Acceptable
Пользователь пытается посмотреть документ, который существует на сервере, но имеет кодировку\язык\формат, которые не поддерживаются у пользователя. В итоге нужно искать причину в заголовках Content-Language, Content-Encoding или Content-Type.
407 Proxy Authentication Required
Сообщает о том, что запрос proxy-сервера должен быть санкционирован (заголовок Proxy-Authenticate).
408 Request Time-out
Пользователь не передал полный запрос в течении какого-то времени (задается на сервере). И из-за этого сервер разорвал соединение с пользователем, передав ему ошибку 408. В данном случае нужно проверить настройки браузера и файервола, т.к. в большинстве случаев именно они являются корнем проблемы.
409 Conflict
Запросы, который посылает пользователь конфликтует с сервером или другим запросом. Данная проблема имеет множество причин, описывать которые не имеет смысла. Для ее решения лучше сразу обратиться к хостинг-провайдеру, чтобы сэкономить время.
410 Gone
Пользователь пытается посмотреть объект (страницу сайта), который не существует. Но раньше он существовал, и был навсегда удален с сервера.
411 Length Required
Запрос не будет принят сервером, пока не определится заголовок Content-Length.
413 Request Entity Too Large
Запрос передаваемый на сервер очень большой, поэтому сервер его не может обработать. Все подробности нужно смотреть в содержании ответа, т.к. там и кроется причина данной ошибки.
414 Request URL Too Long
URL который запрашивает пользователь слишком длинный, поэтому сервер не может его обработать. Для решения проблемы проверьте правильность URL и его длинну, а также обратите внимание на атрибут Request-URI.
415 Unsupported Media Type
Сервер не поддерживает формат запроса пользователя, поэтому не может его обработать.
416 Requested Range Not Satisfiable
Сервер не сможет выполнить запрос, пока значение поля Range не станет корректным (задается в байтах).
417 Expectation Failed
Обычно эта ошибка возникает из-за того, что значение поля запроса Expect является некорректным.
422 Unprocessable Entity
Одна или несколько частей не могут быть обработаны сервером.
423 Locked
Запрашиваемый объект (страница сайта) заблокирован.
424 Failed Dependency
Один из ресурсов (зависимых) недоступен или блокирован, поэтому сервер не может дать доступ к нему.
426 Upgrade Required
Сервер принял запрос по стандартному соединению, но запрашивает SSL-соединение, которое не поддерживается клиентом. В итоге сервер выдает ошибку 426.
Коды 500-599
500 Internal Server Error
Как исправить?
Данный код сообщает, что на сервере произошла внутренняя непредвиденная ошибка или аварийный отказ.
501 Not Implemented
Сервер не смог понять запрос, который ему передали. Причин этой ошибки множество, поэтому сразу обращайтесь в службу поддержки хостинга.
502 Bad Gateway
Как исправить?
Браузер пользователя послал запрос к серверу, но тот связан с еще несколькими серверами, между которому происходит цепочка переадресации запроса. Где-то в этой цепочке сервер не смог обработать запрос, и первый в цепочке сервер (который принял Ваш запрос) послал Вам код ошибки 502.
Как исправить?
Эта ошибка означает, что сервер временно перестал работать. Как правило это происходит если он находится в состоянии перезагрузки или отключен на временное обслуживание. Если вместе с сообщением об ошибке пришел параметр Retry-After, то его значение и будет тем временем, через которое сервер должен восстановить работу.
504 Gateway Time-out
Как исправить?
Сервер (который принял запрос от пользователя) может находиться в цепочке серверов и передает запросы к конечному серверу, который их обрабатывает. В случае с ошибкой 504 первый сервер не получил ответ от вышестоящего сервера и отправил Вам сообщение об этом.
505 HTTP Version not supported
Как исправить?
Пользователь отправил серверу запрос с версией http-протокола, который не поддерживается.
507 Insufficient Storage
Места на диске недостаточно, и сервер не может обработать запрос пользователя. Или освободите место самостоятельно, или обратитесь в службу поддержки, т.к. в случае с виртуальным хостингом (или VPS) на Вашем сервере находятся еще и сайты других пользователей, удалить которые Вы не сможете.
510 Not Extended
Расширение запрашиваемого файла не поддерживается или отсутствует.
Что это такое и как это исправить
Сообщение 302 Найдено — это код состояния ответа HTTP
, указывающий, что запрошенный ресурс был временно перемещен на другой URI
. Поскольку директива местоположения или текущего перенаправления может быть изменена в будущем, клиент, который получает код ответа 302 Found
, должен продолжать использовать исходный URI для будущих запросов.
К сожалению, бывает сложно различить все возможные коды ответа HTTP и определить точную причину ошибок, например, кода 302 Found
.Существует десятков возможных кодов состояния HTTP, используемых для представления сложных отношений между клиентом, веб-приложением, веб-сервером и множеством сторонних веб-служб, которые могут использоваться, таким образом определяя причину конкретной код состояния может быть сложной задачей. В этой статье мы рассмотрим код 302 Found
, ознакомившись с несколькими советами по устранению неполадок, а также с некоторыми потенциальными исправлениями для типичных проблем, которые могут вызывать эту проблему в ваших собственных веб-приложениях, так что давайте приступим к делу!
Проблема на стороне сервера
Все коды состояния ответа HTTP, относящиеся к категории 3xx
, считаются сообщениями перенаправления
.Такие коды указывают пользовательскому агенту (то есть вашему веб-браузеру), что для выполнения запроса и доступа к желаемому ресурсу требуется дополнительное действие. В отличие от ответов клиента об ошибках
, обнаруженных в кодах 4xx
, таких как ошибка 404 Not Found
, которую мы недавно исследовали и которая может быть связана с проблемой на стороне клиента или сервера, код 302 Found
обычно указывает на проблему с фактический веб-сервер, на котором размещено ваше приложение.
Тем не менее, появление 302 Found
обычно не требует большого вмешательства пользователя.Все современные браузеры автоматически обнаруживают код ответа 302 Found
и автоматически обрабатывают действие временного перенаправления. Веб-сервер, на котором размещено приложение, обычно включает специальный заголовок Location
как часть ответа, который он отправляет клиенту. Этот заголовок Location
указывает новый URL-адрес, по которому можно найти запрошенный ресурс. Например, если поступает запрос на доступ к URL-адресу https://airbrake.io
, но веб-сервер настроен на принудительное перенаправление на безопасную версию с использованием https
, ответ сервера будет включать Location: https : // воздушный тормоз.Заголовок io
. Это сообщает браузеру, что он должен перенаправить этот единственный запрос с на https://airbrake.io
на защищенный URL-адрес https://airbrake.io
. В большинстве случаев браузер автоматически обнаруживает этот код ответа 302 Found
, считывает новый URL-адрес Location
и перенаправляет запрос в это новое местоположение.
Однако важно помнить, что код ответа 302 Found
используется для совершенно иных целей, чем код 301 Moved Permanently
, который мы рассматривали на прошлой неделе.В первом случае перенаправление должно быть временным (т.е. только для текущего единственного запроса) — браузер должен «запомнить» исходный URI и обрабатывать любые будущие запросы, используя тот же URI. Однако с кодом 301 Moved Permanently
браузеру сообщается, что исходный URI больше недействителен, поэтому все будущие запросы должны использовать новый URI, предоставленный заголовком Location
.
Поскольку 302 Найдено
указывает, что что-то пошло не так на сервере
вашего приложения, мы можем в значительной степени игнорировать сторону клиента
.Если вы пытаетесь диагностировать проблему в собственном приложении, вы можете немедленно игнорировать большую часть клиентского кода и компонентов, таких как HTML, каскадные таблицы стилей (CSS), клиентский JavaScript и т. Д. Это также не относится только к и к веб-сайтам. Многие приложения для смартфонов с современным пользовательским интерфейсом фактически работают за кулисами с помощью обычного веб-приложения; тот, который просто скрыт от пользователя. Если вы используете такое приложение и появляется 302 Found
, проблема не будет связана с приложением, установленным на вашем телефоне или локальном тестовом устройстве.Вместо этого это будет что-то на стороне сервера, которое выполняет большую часть логики и обработки за кулисами, за пределами компетенции локального интерфейса, представленного пользователю.
Если ваше приложение генерирует неожиданные коды ответов 302 Found
, вы можете предпринять несколько шагов для диагностики проблемы.
Начните с тщательного резервного копирования приложений
Как и все, лучше сначала перестраховаться, чем что-то напортачить и потом пожалеть об этом.Таким образом, критически важно , чтобы вы выполнили полное резервное копирование вашего приложения, базы данных и т. Д. Перед попыткой каких-либо исправлений или изменений в системе. Еще лучше, если у вас есть такая возможность, создайте полную копию приложения на вторичном промежуточном сервере
, который не является «активным» или иным образом не является активным и общедоступным. Это даст вам чистую площадку для тестирования, на которой можно протестировать все возможные исправления для решения проблемы, не ставя под угрозу безопасность или неприкосновенность вашего действующего приложения.
Диагностика 302 Найдено Код ответа
A 302 Found Код ответа
указывает, что к запрошенному ресурсу следует временно получить доступ по другому URI. Однако вполне возможно, что сервер настроен неправильно, что приводит к неправильному ответу с кодами 302 Найдено
вместо стандартного и ожидаемого кода 200 OK
нормального функционального запроса. Таким образом, большая часть диагностики проблемы будет проходить через процесс двойной проверки того, какие ресурсы / URL-адреса генерируют коды ответов 302 Found
, и определение того, являются ли эти коды подходящими или нет.
Если ваше приложение отвечает с кодами 302 Found
, которые не должно выдавать , это проблема, с которой могут столкнуться и многие другие посетители, что значительно ограничивает способность вашего приложения обслуживать пользователей. Мы рассмотрим несколько советов и приемов по устранению неполадок, которые помогут вам решить эту проблему. Если здесь ничего не работает, не забывайте, что Google — ваш друг. Попробуйте выполнить поиск по конкретным терминам, связанным с вашей проблемой, например по названию CMS вашего приложения или программного обеспечения веб-сервера, а также по запросу 302 Found
.Скорее всего, вы найдете других, кто столкнулся с этой проблемой и нашел решение.
Устранение неполадок на стороне сервера
Вот несколько дополнительных советов, которые помогут вам устранить причину появления 302 Найдено
на стороне сервера:
Подтвердите конфигурацию сервера
Ваше приложение, скорее всего, работает на сервере, который использует одно из двух самых популярных программных веб-серверов, Apache
или nginx
.На момент публикации оба этих веб-сервера составляют более 84%
мирового программного обеспечения веб-серверов! Таким образом, один из первых шагов, которые вы можете предпринять, чтобы определить, что может быть причиной этих кодов ответов 302 Found
, — это проверить файлы конфигурации программного обеспечения вашего веб-сервера на предмет инструкций по непреднамеренному перенаправлению.
Чтобы определить, какой веб-сервер использует ваше приложение, вам нужно найти ключевой файл. Если ваш веб-сервер — Apache, найдите файл .htaccess
в корневом каталоге файловой системы вашего веб-сайта. Например, если ваше приложение размещено на общем хосте, у вас, скорее всего, будет имя пользователя, связанное с учетной записью хостинга. В таком случае корневой каталог приложения обычно находится по пути / home /
, поэтому файл .htaccess
будет по адресу /home/
.
Если вы нашли файл .htaccess
, откройте его в текстовом редакторе и найдите строки, в которых используются директивы RewriteXXX
, которые являются частью модуля mod_rewrite
в Apache.Подробное описание того, как работают эти правила, выходит далеко за рамки данной статьи, однако основная концепция заключается в том, что директива RewriteCond
определяет текстовый шаблон, который будет сопоставляться с введенными URL-адресами. Если соответствующий URL-адрес запрашивается посетителем сайта, директива RewriteRule
, следующая за одной или несколькими директивами RewriteCond
, используется для выполнения фактического перенаправления запроса на соответствующий URL-адрес.
Например, вот простая комбинация RewriteCond
и RewriteRule
, которая сопоставляет все входящие запросы к примеру .(. *) $ http://www. Contemporary-example.com/$1 [R = 302]
Обратите внимание на дополнительный флаг в конце правила RewriteRule
, который явно указывает, что код ответа должен быть 302
, указывая для пользовательских агентов (браузеров), что это временное перенаправление. Таким образом, если вы обнаружите какие-либо странные директивы RewriteCond
или RewriteRule
в файле .htaccess
, которые кажутся ненужными, попробуйте временно закомментировать их (используя префикс символов #
) и перезапустите веб-сервер, чтобы посмотрите, решит ли это проблему.
С другой стороны, если ваш сервер работает на nginx
, вам нужно будет искать совершенно другой файл конфигурации. По умолчанию этот файл называется nginx.conf
и находится в одном из нескольких общих каталогов: / usr / local / nginx / conf
, / etc / nginx
или / usr / local / etc / nginx.
. После обнаружения откройте nginx.conf
в текстовом редакторе и найдите директивы rewrite
, которые используют флаг redirect
./ $ http://www. Contemporary-example.com перенаправление;
}
Директивы Rewrite
в nginx
аналогичны директивам RewriteCond
и RewriteRule
, найденным в Apache
, поскольку они, как правило, содержат более сложные текстовые шаблоны для поиска. В любом случае просмотрите файл nginx.conf
на предмет любых ненормальных директив rewrite
, которые включают флаг redirect
(альтернативный постоянный флаг
вместо этого выдаст коды ответов 301
).Закомментируйте любые отклонения перед перезапуском сервера, чтобы увидеть, была ли проблема решена.
Проверить наличие устаревшего программного обеспечения
В документе спецификации RFC для HTTP 1.0 указано, что целью кода ответа 302 Found
было указать, что клиент должен выполнить временное перенаправление. Однако многие новые браузеры будут обрабатывать код 302
, полученный через запрос POST
, как ошибочный запрос GET
, что вызывало проблемы и путаницу для некоторых программ веб-серверов, пытающихся заставить браузеры выполнять правильную задачу при временном перенаправлении. требовалось.Чтобы решить эту проблему, в документ спецификации HTTP 1.1 RFC были добавлены коды ответов 303 See Other
и 307 Temporary Redirect
, которые являются явным средством для обработки POST-to-GET
и временных прямых ответов соответственно.
Очистить бревна
Почти каждое веб-приложение ведет журналы на стороне сервера в той или иной форме. Журналы приложений
обычно представляют собой историю того, что приложение делало, например, какие страницы были запрошены, к каким серверам оно подключалось, какие результаты базы данных предоставляет и т. Д. Журналы сервера
относятся к фактическому оборудованию, на котором запущено приложение, и часто предоставляют подробную информацию о работоспособности и статусе всех подключенных служб или даже самого сервера. Google «ведет журнал [PLATFORM_NAME]», если вы используете CMS, или «журналы [PROGRAMMING_LANGUAGE]» и «журналы [OPERATING_SYSTEM]», если вы запускаете собственное приложение, чтобы получить дополнительную информацию о поиске соответствующих журналов.
Отладка кода вашего приложения
Если все остальное не помогает, возможно, проблема в каком-то настраиваемом коде в вашем приложении.Попытайтесь определить причину возникновения проблемы, отладив приложение вручную и проанализировав журналы приложений и серверов. В идеале сделать копию всего приложения на локальном компьютере разработки и выполнить пошаговый процесс отладки, который позволит вам воссоздать точный сценарий, в котором произошло 302 Найдено
, и просмотреть код приложения в данный момент. что-то идет не так.
Независимо от причины появление 302 Найдено
в вашем собственном веб-приложении является убедительным признаком того, что вам может потребоваться инструмент управления ошибками, который поможет вам автоматически обнаруживать такие ошибки в будущем.Лучшие из этих инструментов могут даже сразу предупредить вас и вашу команду при возникновении ошибки. Программное обеспечение Airbrake для мониторинга ошибок обеспечивает мониторинг ошибок в реальном времени и автоматическую отчетность об исключениях для всех ваших проектов разработки. Современная веб-панель управления Airbrake гарантирует, что вы будете получать круглосуточную информацию о состоянии вашего приложения и количестве ошибок. Независимо от того, над чем вы работаете, Airbrake легко интегрируется со всеми наиболее популярными языками и фреймворками. Кроме того, Airbrake упрощает настройку параметров исключений, давая вам полный контроль над активной системой фильтрации ошибок, так что вы собираете только самые важные ошибки.
Ознакомьтесь с программным обеспечением Airbrake для мониторинга ошибок сегодня и убедитесь сами, почему так много лучших инженерных команд мира используют Airbrake, чтобы революционизировать свои методы обработки исключений!
Перенаправление— что именно означает HTTP / 1.1 302?
Этот вопрос был задан давно, когда еще витал RFC 2616. Некоторые ответы на этот вопрос основаны на таком документе, который в настоящее время уже не актуален. Цитата Марка Ноттингема, который на момент написания статьи является сопредседателем рабочих групп IETF HTTP и QUIC:
Не используйте RFC2616 .Удалите его со своих жестких дисков, закладки и сожгите (или утилизируйте) все распечатанные копии.
Старый RFC 2616 был заменен следующими документами, которые вместе определяют протокол HTTP / 1.1:
Итак, я стремлюсь дать ответ на основе RFC 7231, который является текущим справочником для кодов состояния HTTP / 1.1.
Код состояния
302
Ответ с 302
— это обычный способ выполнения перенаправления URL.Наряду с кодом состояния 302
ответ должен включать заголовок Location
с другим URI. Такой заголовок будет проанализирован пользовательским агентом, а затем выполнит перенаправление:
Веб-браузеры могут измениться с POST
на GET
в последующем запросе. Если такое поведение нежелательно, вместо него можно использовать код состояния 307
(временное перенаправление).
Вот как код состояния 302
определяется в RFC 7231:
6.4.3. 302 Найдено
Код состояния
302
(Найдено) указывает, что целевой ресурс временно находится под другим URI. Поскольку перенаправление может быть изменен при случае, клиент должен продолжать использовать действующий URI запроса для будущих запросов.Серверу СЛЕДУЕТ генерировать поле заголовка
Location
в ответе. содержащий ссылку на URI для другого URI. Пользовательский агент МОЖЕТ используйте значение поляLocation
для автоматического перенаправления.Сервер полезная нагрузка ответа обычно содержит короткую гипертекстовую заметку с гиперссылка на другой URI.Примечание: По историческим причинам пользовательский агент МОЖЕТ изменить запрос метод от
POST
доGET
для последующего запроса. Если это поведение нежелательное, код состояния307
(временное перенаправление) можно использовать вместо этого.
Согласно веб-документации MDN от Mozilla, типичный вариант использования 302
:
Веб-страница временно недоступна по непредвиденным причинам.Таким образом, поисковые системы не обновляют свои ссылки.
Другие коды состояния для перенаправления
RFC 7231 определяет следующие коды состояния для перенаправления:
-
301
(Постоянно перемещен) -
302
(Найдено) -
307
(временное перенаправление)
RFC 7238 был создан для определения другого кода состояния для перенаправления:
См. Этот ответ для получения дополнительных сведений.
Что это такое + его влияние на SEO
Если вы какое-то время проводили в Интернете, скорее всего, вы столкнулись с кодом состояния HTTP.
Проще говоря, коды состояния HTTP — это стандартные коды ответов, которые показывают взаимосвязь между всем, что происходит в фоновом режиме, когда вы переходите с веб-страницы на веб-страницу. Такие вещи, как пользовательский агент (то есть ваш веб-браузер), сервер, веб-страница, которую вы пытаетесь загрузить, и любые сторонние веб-приложения, которые вы можете запускать.
Из-за сложности взаимодействия всех этих элементов существует множество возможных кодов состояния HTTP, с которыми вы можете столкнуться.
Коды состоянияHTTP идентифицируют и диагностируют конкретный блокировщик, препятствующий загрузке ресурса, и могут предоставить вам информацию о пути, который вы совершили на пути к странице.
В этой статье мы расскажем, что вам нужно знать о коде состояния HTTP 302 — без жаргона.
Что такое HTTP 302?
Код состояния 302 — это сообщение о перенаправлении, которое возникает, когда ресурс или страница, которую вы пытаетесь загрузить, были временно перемещены в другое место.Обычно это вызывается веб-сервером и не влияет на работу пользователя, поскольку перенаправление происходит автоматически.
Для начала полезно знать, что все сообщения HTTP с 3xx являются сообщениями перенаправления.
Скажем, blog.hubspot.com больше не существует, и его контент теперь постоянно размещается на blogging.hubspot.com. Это вызовет код состояния 301, который указывает на постоянное перенаправление из одного места в другое.
Редирект 302, с другой стороны, носит временный характер.Хороший пример того, когда использовать код состояния 302, — это локализация и языковые цели.
Например, если вы посещаете веб-сайт одежды в Великобритании, но находитесь в США. Редирект 302 отправит вас на версию сайта для США, чтобы убедиться, что валюта и другой контент отображаются правильно в соответствии с вашим местоположением.
Вы также можете использовать код состояния 302, когда:
- Изменение дизайна страницы — Вы можете отправить пользователей во временное расположение, пока другая страница находится в стадии разработки.
- Проведение A / B-тестов — Хотите протестировать новую страницу и получить отзывы о ее производительности? Вы можете сделать это с помощью редиректа 302 без ущерба для вашего рейтинга.
- Запуск рекламной акции — Чтобы привлечь трафик к определенному предложению, вы можете настроить временное перенаправление для страницы, которая обычно включает другой контент.
- Продукт продан — В случае распроданного или временно недоступного продукта вы можете перенаправить пользователей на соответствующую страницу, пока она снова не станет доступной.
Хотя этот список не является исчерпывающим, следует помнить о золотом правиле: используйте перенаправление 302 только в том случае, если изменение носит временный характер.
Кроме того, код состояния 302 появляется на стороне сервера и не должен быть замечен пользователями, если он настроен правильно. Веб-сервер, обслуживающий переадресацию 302, немедленно укажет новое местоположение страницы вашему браузеру (и поисковым системам) и сразу же отправит туда пользователей.
Как код состояния 302 влияет на SEO
С точки зрения SEO важно понимать, как код статуса 302 может повлиять на ваш рейтинг и когда вам следует его использовать.
Во-первых, если местоположение страницы изменилось и не было настроено перенаправление, это может привести к ошибке статуса 404 (т.е. ваша страница не может быть найдена) и повлияет на ваш рейтинг. В конце концов, Google не захочет отправлять пользователей на страницу, которая никуда не ведет.
Одним из преимуществ использования подобного перенаправления является то, что вам не нужно жертвовать своим рейтингом, когда вы временно отправляете пользователей в другое место.
Допустим, вы используете его для перенаправления пользователей со страницы проданного продукта на страницу соответствующего продукта.Вы бы не хотели, чтобы страница вашего недоступного продукта упала в рейтинге только потому, что в настоящее время она недоступна. С кодом статуса 302 вы можете поддерживать свой рейтинг.
Тем не менее, это также означает, что ваш временный URL-адрес не получит никакой выгоды от ссылочного веса, потому что Google знает, что он там ненадолго.
Для сравнения: код 301 обычно отправляет большую часть ссылочного веса на ваш новый URL, но ваша страница может несколько понизиться в рейтинге в результате перенаправления.
Как определить и реализовать ошибку HTTP 302
Если вы хотите видеть, когда вы столкнулись с перенаправлением 302 (или любым типом перенаправления), подумайте об использовании приложения или расширения Chrome (например, этого, Redirect Path).Этот тип инструмента покажет вам прямо в вашем браузере, когда вы столкнетесь с переадресацией.
Вы также можете просмотреть и реализовать код из серверной части, обратившись к вашему файлу .htaccess. Чтобы избежать доступа к этому файлу, вы также можете установить плагин диспетчера перенаправления или инструмент SEO, который включает в себя диспетчер перенаправления (например, Yoast SEO Premium).
В целом, вы хотите убедиться, что понимаете, как сообщения о перенаправлении влияют на SEO. Код состояния 302 может быть отличной стратегией при внесении временных изменений в ваш веб-сайт, таких как тестирование новых функций веб-сайта и продвижение продуктов.
Итак, когда вы обсуждаете различные сообщения перенаправления, убедитесь, что одно из них соответствует вашей долгосрочной стратегии.
302 Ошибка и временное перенаправление?
3 мин чтения671
Начнем с Ошибка 302 и временное перенаправление — код состояния ответа HTTP указывает, как веб-сервер отвечает на выбранный URL. Когда пользователь ищет некоторую информацию в поисковой выдаче Google и выбирает щелкнуть по одной из ссылок на странице результатов.
Результат, отображаемый время от времени, может привести к другой целевой странице или открыться с сообщением об ошибке, например с ошибкой 404 — Страница не найдена!
Только подумайте о мышлении пользователя, когда он попадает на неактивную страницу! Очень сомнительно, правда?
Что такое ошибка 404? как избежать ошибки 302 и временного перенаправления?
Ошибка 404 — Страница не найдена представляет собой неработающую ссылку. Если отображаемая карта сайта не связана с доменом сайта.В результате появляется информация, созданная компьютером. Неработающие ссылки игнорируют проблему сканирования сайта ботом Google.
Распространенные ошибки разрыва ссылок, отображаемые веб-сервером:
1. 404 Страница не найдена: страница / ресурс не существует на сервере
2. 400 Неверный запрос: хост-сервер не может понять URL на вашей странице
3. Неверный хост: Неверное имя хоста: сервер с таким именем не существует или недоступен.
4. Неверный URL: Неправильный URL (например, отсутствующая скобка, лишние косые черты, неправильный протокол и т. Д.)
5. Неверный код: Неверный код ответа HTTP: ответ сервера нарушает спецификацию HTTP
6. Пусто: хост-сервер возвращает «пустые» ответы без содержания и без кода ответа
7. Тайм-аут: Тайм-аут: время ожидания HTTP-запросов постоянно истекает во время проверки ссылки
8. Сброс: хост-сервер разрывает соединения. Он либо неправильно настроен, либо слишком занят.
Повлияют ли неработающие ссылки на SEO?
Да, неработающие ссылки повлияют на SEO, так как обратных ссылок не будут возвращаться к результатам поиска.
Но это лишь один из факторов, влияющих на рейтинг SEO на рейтинг веб-страниц.
Слишком много неработающих ссылок на веб-сервере, чтобы сделать вывод, что сайт либо игнорируется, либо заброшен на долгое время. Неработающие ссылки влияют на качество сайта и рейтинг качества поиска Google.
Неработающая ссылка не будет проиндексирована в карте сайта для прокрутки Google.
Причины неработающей ссылки:
- Влияют на взаимодействие с пользователем — Слишком много неработающих ссылок не позволяют пользователям получить доступ к необходимой информации.
- Более высокий показатель отказов — Время, потраченное на разработку ресурса обратных ссылок, будет потрачено зря. Нерелевантная целевая страница приводит к высокому показателю отказов.
- Понизить рейтинг SEO — Google сканирует неработающую ссылку для поиска соответствующей ссылки.Если перенаправленная страница не классифицирована должным образом, это снизит вероятность хорошего ранжирования страницы.
Как перенаправить битые ссылки?
Существует 2 типа перенаправления
Ошибка 301 — постоянное перенаправление
Ошибка 302 — временное перенаправление
Ошибка 302 и временное перенаправление / your-old-post-product / http://yoursite.com/new-link-to-replace/
301 редирект будет перенаправлять трафик со старого сайта на новый функциональный сайт, сохраняя при этом старый SEO.
Код состояния HTTP — 302 Ошибка временного перенаправления:
Информация о доступе пользователя временно перемещена в другое место.
«302 Найдено / перемещено временно» перенаправление указывает, что сервер временно перенаправил пользователя на новую целевую страницу, при этом исходная страница остается работоспособной.
302 Преимущества временного перенаправления »
Это очень полезно, чтобы избежать ошибки 404 страницы не найдены / страница неактивна. что произведет на пользователя плохое впечатление о веб-сайте и его проблемах.
Например, интернет-магазин «запустил короткую кампанию праздничных предложений». 302 редирект будет удобен для перенаправления посетителей веб-сайта на «страницу кампании сезонных предложений фестиваля».
После сезона фестивалей или истечения срока действия запасов страница предложения становится бесполезной и нефункциональной.
Перенаправления 302 не позволят пользователям попасть на страницу с истекшим сроком действия.
Заключение:
Наконец, без правильного перенаправления вы знаете, насколько поврежденные неработающие ссылки могут нанести вред вашему бизнесу и привести к убыткам.Таким образом, важно, чтобы пользователи попадали на страницу с высококачественным контентом или информацию, относящуюся к пользовательскому поиску.
Посмотрите наш другой блог об ошибке 301 — постоянное перенаправление.
Что такое перенаправление 302 «временно перемещено»?
Протокол HTTP
Давайте поговорим о том, как работает протокол HTTP.
По сути, Интернет состоит из двух основных компонентов: клиентов и серверов .
Каждый раз, когда вы щелкаете в браузере, вы выходите в Интернет через веб-клиент . Это может быть Chrome, Firefox, Safari или Internet Explorer.
Когда вы посещаете веб-сайт, вы делаете запрос на веб-сервер .
Facebook.com, ClickMinded.com, MarthaStewart.com/1525880/marthas-chocolate-chip-cookies, все эти сайты имеют собственный домашний адрес. Он называется IP-адрес .
Ваш домашний адрес может быть 123 Main Street, New York, NY 10001 , а адрес Facebook — 66.220.144.0 .
Каждый раз, когда вы посещаете страницу в Интернете, вы запрашиваете целую кучу документов с сервера этого веб-сайта. Возможно, эти документы представляют собой HTML, CSS, изображения, PDF — что бы это ни было, основные отношения остаются неизменными: вы (клиент) делаете запрос, а веб-сайт (сервер) отвечает на этот запрос.
Язык , который вы используете для этих запросов, называется протоколом HTTP . Эти протоколы на самом деле являются просто стандартами, с которыми согласились все в Интернете.Точно так же, как английский, испанский и китайский языки — это языки с понятным протоколом, HTTP — это просто набор стандартов и понятный протокол.
Существует ряд различных веб-протоколов, и вы, возможно, знакомы с некоторыми из них:
- DNS — система доменных имен
- FTP — протокол передачи файлов
- HTTP — протокол передачи гипертекста
- IRC — протокол интернет-ретрансляции чата
- SMTP — простой протокол передачи почты
- SSL — Уровень защищенных сокетов
Коды состояния HTTP
Теперь, когда мы понимаем, что такое протокол HTTP, давайте поговорим о кодах состояния HTTP.Коды состояния позволяют нам узнать, был ли HTTP-запрос успешным, неудачным или чем-то средним.
Давайте взглянем на пять основных кодов статуса:
- 1xx блок: информационные запросы
- 2xx блок: успешные запросы
- 3xx блок: перенаправляет
- 4xx блок: ошибки клиента
- 5xx блок: ошибки сервера
Некоторые коды состояния встречаются чаще, чем другие.Например, когда вы занимаетесь цифровым маркетингом, вы часто встретите код статуса 200, код статуса 301 и код статуса 404, но вы можете никогда не увидеть код статуса 206 или 307.
Давайте кратко рассмотрим каждый блок кода состояния и его значение.
Коды состояния1xx
Это информационных запроса . Сервер еще не полностью завершил запрос и все еще обрабатывает информацию. Вы нечасто увидите эти коды. В их числе:
- 100 — Продолжить
- 101 — Протокол переключения
- 103 — Контрольно-пропускные пункты
Коды состояния 2xx
Это успешных запросов , значит все в порядке.В их числе:
- 200 — ОК (вы будете видеть это чаще всего)
- 201 — Создано
- 202 — Принято
- 205 — сбросить содержимое
- 206 — Частичное содержимое
Коды состояния 3xx
Это редиректов . Они отображаются, когда вы запрашиваете адрес, но вас отправляют в другое место. Это может быть хорошо или плохо. В их числе:
- 301 — перемещен навсегда
- 302 — Найдено
- 304 — без изменений
- 305 — использовать прокси
- 307 — временное перенаправление
Коды состояния 4xx
Это ошибок клиента .Это означает, что что-то пошло не так с запросом (клиент / пользователь), а не с ответом (веб-сайт / сервер). В их числе:
- 400 — неверный запрос
- 401 — Несанкционированный
- 403 — Запрещено
- 404 — Не найдено
- 408 — Тайм-аут запроса
- 410 — Исчезло
- 429 — слишком много запросов
Коды состояния 5xx
Это ошибок сервера . Это означает, что что-то пошло не так с ответом (веб-сайт / сервер), а не с запросом (клиент / пользователь).В их числе:
- 500 — внутренняя ошибка сервера
- 502 — Плохой шлюз
- 503 — Служба недоступна
- 504 — Тайм-аут шлюза
Ошибка при использовании инструментов импорта / экспорта BIRT «код ответа = 302»
Проблема
Пользователи получают сообщение об ошибке при попытке импортировать или экспортировать отчеты с помощью утилит importreports / exportreports.
Признак
При запуске утилит на экране отображается ошибка ‘код ответа = 302’
Причина
Код ответа = 302 — это сообщение, указывающее на временное перенаправление.Это может быть связано с тем, что сеансу предлагается ввести идентификатор пользователя / пароль. Поскольку утилита не может ответить, вы получите эту ошибку.
Диагностика проблемы
Используя имя хоста и порт из reporttools.properties, попробуйте подключиться к сайту в браузере. (например, hostname: port / maximo) Если вы не получите имя входа Maximo сразу, это может быть проблемой.
Решение проблемы
Отключите любое программное обеспечение, которое может мешать входу в систему.
[{«Продукт»: {«код»: «SSLKT6», «ярлык»: «IBM Maximo Asset Management»}, «Бизнес-единица»: {«код»: «BU055», «ярлык»: «Когнитивные приложения»} , «Компонент»: «Администратор отчета», «Платформа»: [{«код»: «PF025», «ярлык»: «Независимость от платформы»}], «Версия»: «7.5; 7.6 «,» Редакция «:» Независимая редакция «,» Сфера деятельности «: {» code «:» LOB02 «,» label «:» AI Applications «}}]
[решено] Ошибка HTTP 302 временно перемещена Проблема кода
Знаете ли вы, почему вы получаете или сталкиваетесь с ошибкой HTTP 302 Â Перемещена Временная проблема кода в браузере на вашем устройстве. Если вы не знаете об этой проблеме с ошибкой, но боретесь с ней, то сегодня вам нужно проверить только один раз эту статью ниже и приведенные ниже руководства по методам и решениям.Таким образом, вы можете полностью избавиться от этой проблемы.
Из-за этой ошибки целевой ресурс временно находится под другим URL-адресом. Эта ошибка означает, что ваш веб-сервер считает, что ваш URL-адрес был временно перенаправлен на другой URL-адрес. Эта ошибка — распространенный способ перенаправления URL-адресов. Эта ошибка включает зависание вашего системного ПК, заражение вирусом, а иногда и сбои. Этот код ошибки сервера 302 представляет собой ресурс, запрашиваемый под временным URL-адресом, поскольку при определенной ошибке 302 может потребоваться изменение перенаправления.
Здесь отображается сообщение с кодом ошибки, например,
Запрошенный URL не может быть получен
Невозможно определить IP-адрес по имени хоста из-за ошибки 302
Сбой сервера Сервер имен не смог обработать этот запрос
Кэш не смог разрешить имя хоста, представленное в URL-адресе
Причины HTTP-ошибки 302 перемещен временно Проблема:
- Ошибка перенаправления
- Выпуск на сайте
Вы также можете проверить;
Итак, вот несколько быстрых советов и приемов для легкого исправления и решения этого типа ошибки HTTP 302 Â временно перемещен. Проблема с кодом от вас навсегда.
Как исправить и устранить ошибку HTTP 302, временно перемещен Проблема с кодом 1. Повторите попытку доступа к веб-странице на вашем ПК —Перезагрузите веб-страницу или нажмите F5, чтобы повторить попытку доступа к веб-странице. Если эта ошибка HTTP raidcall 302 перемещена временно, проблема является временной, то это обновление решит проблему внезапно.
2. Проверьте URL-адрес в Интернете, правильно ли он набран на вашем ПК —Эта ошибка HTTP 302 также может возникать из-за того, что URL-адрес был введен неправильно.
Выполните поиск страницы в популярной поисковой системе. Вставьте правильный URL-адрес веб-страницы, к которой вы хотите получить доступ. Это наверняка и быстро решит эту проблему с ошибкой 302 ESPN.
3. Измените DNS-серверы на ПК с Windows —- Перейти в панель управления
- Щелкните Сеть и Интернет-вариант
- , затем Центр управления сетями и общим доступом
- Теперь перейдите к , измените настройки адаптера
- Выберите соединение , для которого вы хотите изменить
- Выберите на Сеть кнопку там
- Щелкните advanced и выберите DNS , чтобы изменить его
- Теперь измените DNS-серверы
- Готово, Готово
Если вся веб-страница, к которой вы хотите получить доступ, дает вам пример переадресации с кодом ошибки HTTP EPSN 302, и если интернет-страница доступна другим пользователям на других серверах, вы меняете свои DNS-серверы.
4. Очистите кеш вашего интернет-браузера и файлы cookie с вашего ПК —- Зайдите в свой браузер
- Нажмите на настройки или история кнопка
- Перейти к Очистить кеш браузера и очистить файлы cookie
- Готово
Он очистит кеш браузера и файлы cookie, чтобы исправить ошибку HTTP 302.
5. Сканирование вашего ПК на наличие вирусов / вредоносных программ на ПК с Windows —Вы должны просканировать свой компьютер на наличие вирусов или вредоносных программ, если они были введены какой-либо веб-страницей или любым программным обеспечением, которое вы недавно установили.
- Перейти в меню «Пуск»
- Найдите Microsoft Security Essentials
- Выберите вариант « Сканировать сейчас ».
- Выберите тип для сканирования
- Затем нажмите Сканировать сейчас
- Он выполнит сканирование для вашего ПК
- Готово
Он просканирует ваш компьютер, чтобы быстро исправить эту проблему HTTP с кодом 302 ESPN paladins.
Это быстрый и лучший способ избавиться от этой ошибки HTTP 302 Â временно перемещен код от вас полностью. Надеюсь, что эти решения обязательно помогут вам решить эту проблему с кодом ошибки 302.
Также прочтите;
Если вы столкнулись с этой ошибкой HTTP или столкнулись с ней, или столкнулись с ней.
.