Что означает ошибка 302

HTTP 302 codes are a valuable way to redirect website users to a different URL temporarily. However, if your website is delivering 302 redirects in error, it’s a sign that something’s wrong.

Don’t worry — you can fix this problem — but you’ll need to do some troubleshooting.

The first step is to understand precisely what HTTP 302 codes are, how they work, and why they occur. Once you know that, you can figure out what’s gone wrong and how to make it right.

In this post, we’ll tell you everything you need to know about HTTP 302 errors. Then we’ll share five troubleshooting tips to help you fix them.

Let’s get started!

Check Out Our Video Guide to The 302 HTTP Status Code

What Are HTTP 302 Status Codes?

302 codes are a specific type of HTTP status code. These codes are like “notes” that a server delivers to your browser.

Whenever you click on a link or navigate to a URL, your browser requests the webserver for the same. In return, the server sends back the relevant resource (e.g. the page you’re trying to access) along with an HTTP header. The HTTP status codes are inside that header.

Typically, you can’t see these status codes anywhere on the web page. You’ll only usually see them when an error occurs, or if you’ve installed a browser extension that makes them visible:

A screenshot showing the current URL's HTTP status code, displayed through use of a Chrome browser extension.

A web page’s HTTP status code, shown using a Chrome browser extension.

3xx status codes (301, 302, etc.) are a class of status codes called “redirection codes.” They’re returned whenever the server sends back a new resource instead of the requested resource.

In other words, they’re shown when the website page you intended to access redirects you to a different page.

The critical difference between code 301 and code 302 is that the former is used for permanent redirects, whereas the latter is for temporary redirects.

The 301 redirects also pass “link juice,” whereas 302s don’t. That has a significant impact on Search Engine Optimization (SEO).

Uh oh… you’ve just seen an HTTP 302 code pop up. 😬 Now what? 🤷‍♀️ Start with this thorough guide ⤵Click to Tweet

How 302 Redirects Work

When you set up a 302 redirect for a page on your website that’s temporarily unavailable, and a user visits that page, your webserver will respond to the visitor’s browser with a special Location header. This header will indicate the new URL that the browser should redirect the user to instead.

For example, imagine that a user types blog.example.com into their browser URL bar, but the website is configured to redirect it to blogging.example.com.

The server response will include both the 302 status code and the Location: blogging.example.com header. This setting tells the user’s browser to redirect this request to the new URL instead.

Of course, all of this happens automatically and behind the scenes. The user shouldn’t be able to see any of this play out. Instead, their browser should automatically take them to the new resource.

Why HTTP 302 Errors Happen

If something is misconfigured on your website, it might cause 302 codes to be issued in error. If this happens, you may run into problems such as:

  • A page on your website that redirects your visitors elsewhere when it shouldn’t
  • A page on your website that redirects your visitors to the wrong resource
  • The ERR_TOO_MANY_REDIRECTS error (also known as a “redirect loop”)

The last of these issues is the only one that will display an actual error page. If you’re using the Chrome browser, a redirect loop error page will look something like this:

The Chrome ERR_TOO_MANY_REDIRECTS error message, with the text

The Chrome ERR_TOO_MANY_REDIRECTS error message.

On Mozilla Firefox, it looks like this:

The Firefox ERR_TOO_MANY_REDIRECTS error message, with the text

The Firefox ERR_TOO_MANY_REDIRECTS error message.

All of the above problems are caused by some misconfiguration. It may be a plugin conflict, incorrect URL settings, or a misconfigured .htaccess file.

How to Fix the HTTP 302 Error (5 Methods)

Next, we’ll walk you through five troubleshooting methods that can help you figure out what’s causing the problem and fix it.

Before we get started, make sure to perform a complete backup of your website first. That way, if anything goes wrong, you can always revert to the previous version. You can use a WordPress plugin to do this.

1. Determine Whether the Redirects Are Valid

302 responses are usually not errors. Temporarily redirecting users to a different page can be a valid configuration and isn’t usually something that requires fixing.

It’s only an error if your website is responding with 302 codes that it shouldn’t be issuing, or if it’s causing a redirect loop. Therefore, the first step is to double-check which URLs are generating the HTTP 302 codes and determine whether the redirect is appropriate or not.

To do so, you can navigate to the pages on your website you suspect of issuing the 302 error and see for yourself if they behave as expected. If a temporarily unavailable page redirects to the correct resource, it’s appropriately configured.

However, if a page redirects you to the wrong resource or your browser reports a redirect loop by bringing up an ERR_TOO_MANY_REDIRECTS error page, it’s a sign that one (or more) of your redirects isn’t configured quite right.

2. Check Your Plugins

One of the most common causes of 302 errors and redirect loops is plugins.

Some WordPress redirect manager plugins and SEO tools like Yoast SEO manage your website redirects for you and enable you to set up redirect rules:

The Yoast SEO Premium plugin redirect settings page.

The Yoast SEO Premium plugin redirect settings page.

If these rules are misconfigured, or if two plugins conflict, it can cause unexpected issues. Therefore, you’ll need to check each relevant tool that’s installed on your site.

For example, if you’re using the popular 301 Redirects WordPress plugin, you can check the configuration by navigating to Settings > 301 Redirects. Under Redirect Rules, you’ll see a list of all the redirect rules you’ve set up:

The Redirect Rules settings page for the 301 Redirects WordPress plugin.

The Redirect Rules settings page for the 301 Redirects WordPress plugin.

Check all the 302 redirects listed here, and make sure they’re all correct.

You’ll also want to ensure that you haven’t set up anything in a way that could cause a redirect loop. For example, if Page-A is set to redirect to Page-B, but Page-B is also set to redirect to Page-A, this will cause an error.

If you have multiple redirect manager plugins and you’re not sure which one is causing the issue, you can try deactivating them one by one from the WordPress Plugins page (be sure to make a backup first):

The Plugins page in the WordPress admin dashboard.

The Plugins page in the WordPress admin dashboard.

After deactivating each plugin, try revisiting the problem URL to see if the 302 error persists.

If the problem is suddenly fixed, you’ll know which plugin was causing the issue, and you can then choose to troubleshoot further or remove it from your site.

3. Ensure That Your WordPress URL Settings Are Configured Correctly

Another common cause of the HTTP 302 error is a misconfiguration in the WordPress URL settings.

To check this, navigate to Settings > General in your WordPress dashboard. Here, you should see a WordPress Address (URL) field and a Site Address (URL) field:

The General Settings page in WordPress with highlighted Address fields.

The General Settings page in WordPress.

In most cases, the URLs in both of these fields should match. Make sure they’re both the same, including the “www” portion (or lack thereof) before the domain name.

If they don’t match, update the settings, then check the URL of the page issuing the HTTP 302 error to see if it’s fixed.

4. Check Your Server Configuration

A misconfigured server can also sometimes cause 302 redirect errors. Therefore, the next step is to check your server configuration.

If your host uses the Apache webserver, you can do this by checking your.htaccess file.

First, connect to your site’s server via a control dashboard like cPanel or an FTP client. Then navigate to the root directory of your site — the same place as the wp-admin and wp-content folders — and find the .htaccess file:

A screenshot of an .htaccess file highlighted in a website's root directory folder.

The .htaccess file in the site’s root.

If you aren’t finding the .htaccess file here (and you’re sure on an Apache server), you may need to tell FileZilla to show hidden files before it’ll appear in the file list.

Next, open the file in your favorite text editor. It should look something like this:

A screenshot of an .htaccess file open in a text editor, with RewriteXXX directives highlighted within the code.

RewriteXXX directives in an .htaccess file.

Now, we’re going to look for RewriteXXX directives (the highlighted elements above). Without getting too technical, RewriteCond and RewriteRule directives are used to perform redirections from one URL to another.

The RewriteCond directive specifies the URL you want to redirect the visitor away from, while the RewriteRule directive specifies the URL you want to redirect them to. Here’s an example:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^website.com$
RewriteRule ^(.*)$ http://www.temporary-website.com/$1 [R=302]

The flag at the end, “[R=302]”, tells the browser that this is a temporary 302 redirect.

If you notice any RewriteXXX combinations similar to the above in your .htaccess file that shouldn’t be there, you can comment them out, save the changes, and reload the problem web page to see if it resolves the issue.

Just make sure to download and save a spare copy of your .htaccess file before you make any changes in case something goes wrong.

5. Speak to Your Web Host

If you’ve tried all of the above methods and you’re still having trouble, the next step is to speak to your web host.

Troubleshooting a 302 code error beyond this point requires a lot of technical know-how. Therefore, unless you’re a professional developer, it’s probably best to get help from an expert.

At Kinsta, we take support seriously. Our team of experts is always on-hand to help you resolve issues like this whenever they arise:

Screenshot of the Kinsta Support page.

The Kinsta Support page.

We’re available 24/7. All you have to do is log in to your MyKinsta account and contact us via live chat to connect with a support engineer who can help in real-time.

Don’t let HTTP 302 codes slow your roll. 🙅‍♀️ Learn how to resolve them with these 5 troubleshooting tips 💥Click to Tweet

Summary

HTTP 302 status codes are a completely normal way to redirect your website visitors. However, they should only be used when the resource page is temporarily unavailable.

Suppose your website is issuing 302 codes in error or causing redirect loops. In that case, it’s vital to fix this problem as soon as possible, or it may negatively impact your SEO and conversions.

You can follow these five steps to fix HTTP 302 errors on your website:

  1. Determine whether the redirects are appropriate or not by examining the URLs that are issuing the 302 redirects.
  2. Check your plugins to make sure any redirect settings are valid.
  3. Ensure that your WordPress URL settings are configured correctly.
  4. Check your server configuration by looking for incorrect RewriteXXX directives in your .htaccess file (Apache servers only).
  5. Speak to your web host for further technical support if the problem persists.

Do you have any questions left about the HTTP 302 error? Let us know in the comments section.

Содержание

  • Что такое код ответа HTTP
  • Как проверить код состояния страницы
  • В браузере
  • В Яндекс.Вебмастере
  • В Google Search Console
  • 1* класс кодов (информационные сообщения)
  • 100 Continue
  • 101 Switching Protocols
  • 102 Processing
  • 103 Checkpoint
  • 105 Name Not Resolved
  • 2* класс кодов (успешно обработанные запросы)
  • 200 ОК
  • 201 Created
  • 202 Accepted
  • 203 Non‑Authoritative Information
  • 204 No Content
  • 205 Reset Content
  • 206 Partial Content
  • 207 Multi‑Status
  • 226 IM Used
  • 3* класс кодов (перенаправление на другой адрес)
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Found/Moved 
  • 303 See Other
  • 304 Not Modified
  • 305 Use Proxy
  • 306 Unused
  • 307 Temporary Redirect
  • 308 Resume Incomplete
  • 4* класс кодов (ошибки на стороне клиента)
  • 400 Bad Request
  • 401 Unauthorized
  • 402 Payment Required
  • 403 Forbidden
  • 404 Not Found
  • 405 Method Not Allowed
  • 406 Not Acceptable
  • 407 Proxy Authentication Required
  • 408 Request Timeout
  • 409 Conflict
  • 410 Gone
  • 411 Length Required
  • 412 Precondition Failed
  • 413 Request Entity Too Large
  • 414 Request‑URI Too Long
  • 415 Unsupported Media Type
  • 416 Requested Range Not Satisfiable
  • 417 Expectation Failed
  • 418 I’m a teapot
  • 422 Unprocessable Entity
  • 423 Locked
  • 424 Failed Dependency
  • 425 Unordered Collection
  • 426 Upgrade Required
  • 428 Precondition Required
  • 429 Too Many Requests
  • 431 Request Header Fields Too Large
  • 434 Requested Host Unavailable
  • 444 No Response
  • 449 Retry With
  • 450 Blocked by Windows Parental Controls
  • 451 Unavailable For Legal Reasons
  • 456 Unrecoverable Error
  • 499 Client Closed Request
  • 5* класс кодов (ошибки на стороне сервера)
  • 500 Internal Server Error
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 505 HTTP Version Not Supported
  • 506 Variant Also Negotiates
  • 507 Insufficient Storage
  • 508 Loop Detected
  • 509 Bandwidth Limit Exceeded
  • 510 Not Extended
  • 511 Network Authentication Required
  • Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.

    Что такое код ответа HTTP

    Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос. 

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

    Как проверить код состояния страницы

    Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.

    В браузере

    Для примера возьмём Google Chrome.

    1. Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы». 

    2. Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу: 

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    В Яндекс.Вебмастере

    Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:

    Как посмотреть код состояния в Вебмастере

    Как посмотреть код состояния в Вебмастере

    Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса

    В Google Search Console

    Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

    Проверка URL в инструменте GSC

    Проверка URL в инструменте GSC

    Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».

    Изучить просканированную страницу в GSC

    Изучить просканированную страницу в GSC

    А затем в открывшемся окне перейдите на вкладку «Подробнее»:

    HTTP код страницы в GSC

    HTTP код страницы в GSC

    Теперь расскажем подробнее про все классы кодов состояния HTTP.

    1* класс кодов (информационные сообщения)

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

    100 Continue

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

    101 Switching Protocols

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

    102 Processing

    Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.

    103 Checkpoint

    Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.

    POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса. 

    Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные. 

    Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.

    105 Name Not Resolved

    Не удается преобразовать DNS‑адрес сервера — это  означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.

    2* класс кодов (успешно обработанные запросы)

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

    200 ОК

    Все хорошо — HTTP‑запрос успешно обработан (не ошибка).

    201 Created

    Создано — транзакция успешна, сформирован новый ресурс или документ.

    202 Accepted

    Принято — запрос принят, но ещё не обработан.

    203 Non‑Authoritative Information

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

    204 No Content

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

    205 Reset Content

    Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.

    206 Partial Content

    Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.

    GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ. 

    Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с  получением данных, а POST‑запрос нужен для отправки данных.

    При работе с подобными ответами следует уделить внимание кэшированию.

    207 Multi‑Status

    Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus. 

    226 IM Used

    Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).

    3* класс кодов (перенаправление на другой адрес)

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

    300 Multiple Choices

    Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.

    301 Moved Permanently

    Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.

    302 Found/Moved 

    Временно перемещено — страница временно перенесена на другой URL,  который указан в поле Location.

    303 See Other

    Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.

    304 Not Modified

    Модификаций не было — с момента последнего визита клиента изменений не было.

    305 Use Proxy

    Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.

    306 Unused

    Зарезервировано. Код в настоящий момент не используется.

    307 Temporary Redirect

    Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.

    Этот код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.

    308 Resume Incomplete

    Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.

    4* класс кодов (ошибки на стороне клиента)

    Эти коды указывают на ошибки со стороны клиентов. 

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    400 Bad Request

    Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).

    401 Unauthorized

    Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.

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

    402 Payment Required

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

    403 Forbidden

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

    404 Not Found

    Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).

    405 Method Not Allowed

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

    406 Not Acceptable

    Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).

    407 Proxy Authentication Required

    Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.

    408 Request Timeout

    Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение  и просто обновите страницу.

    409 Conflict

    Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).

    410 Gone

    Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и  недоступен (серверу неизвестно месторасположение).

    411 Length Required

    Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length. 

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

    412 Precondition Failed

    Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.

    413 Request Entity Too Large

    Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.

    414 Request‑URI Too Long

    Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.

    415 Unsupported Media Type

    Формат не поддерживается —  сервер не может принять запрос, так как  данные подгружаются в некорректном формате, и сервер разрывает соединение.

    416 Requested Range Not Satisfiable

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

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

    417 Expectation Failed

    Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».

    418 I’m a teapot

    Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.

    422 Unprocessable Entity

    Объект не обработан — сервер принял запрос, но в нём  есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.

    423 Locked

    Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.

    424 Failed Dependency

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

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

    425 Unordered Collection

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

    426 Upgrade Required

    Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection. 

    Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.

    428 Precondition Required

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

    429 Too Many Requests

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

    431 Request Header Fields Too Large

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

    Исправляется это с помощью сокращения заголовков и повторной отправки запроса.

    434 Requested Host Unavailable

    Адрес запрашиваемой страницы недоступен.

    444 No Response

    Нет ответа — код отображается в лог‑файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение. Возвращается только сервером nginx.

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

    449 Retry With

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

    450 Blocked by Windows Parental Controls

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

    451 Unavailable For Legal Reasons

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

    456 Unrecoverable Error

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

    499 Client Closed Request

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

    5* класс кодов (ошибки на стороне сервера)

    Эти коды указывают на ошибки со стороны серверов. 

    При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

    Изображение страницы с ошибкой сайта REG.RU

    Изображение страницы с ошибкой сайта REG.RU

    500 Internal Server Error

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

    Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.

    501 Not Implemented

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

    Сами вы эту ошибку не исправите. Устранить её может только сервер.

    502 Bad Gateway

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

    Актуально исключительно для прокси и шлюзовых конфигураций.

    503 Service Unavailable

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

    В поле Retry‑After заголовка сервер укажет время, через которое  можно повторить запрос.

    504 Gateway Timeout

    Тайм‑аут шлюза —  сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.

    Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере. 

    Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого  нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.

    505 HTTP Version Not Supported

    Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.

    506 Variant Also Negotiates

    Неуспешные переговоры — с такой ошибкой сталкиваются, если сервер изначально настроен неправильно. По причине ошибочной конфигурации выбранный вариант указывает сам на себя, из‑за чего процесс и прерывается.

    507 Insufficient Storage

    Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.

    508 Loop Detected

    Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.

    509 Bandwidth Limit Exceeded

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

    510 Not Extended

    Не продлён — ошибка говорит, что на сервере отсутствует нужное для клиента расширение. Чтобы исправить проблему, надо убрать часть неподдерживаемого расширения из запроса или добавить поддержку на сервер.

    511 Network Authentication Required

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

    Категория ~
    Что делать (ошибки и проблемы)
    – Автор:

    Игорь (Администратор)

    Сайты дело такое. В них постоянно что-то корректируется, так сказать живёт и движется. Поэтому нет ничего удивительно в том, что периодически можно столкнуться с кодами и ошибками 301, 302, 303, 304. О том, что эти коды значат и ещё о паре нюансов, и пойдет речь в данном обзоре.

    Что значат коды и ошибки 301, 302, 303, 304?

    Коды и ошибки 301, 302, 303, 304

    HTTP 301 Moved Permanently (Навсегда перемещен) — этот код означает, что исходный запрошенный браузером документ (веб-страница) полноценно перенесён в другой документ, URL адрес которого указан в HTTP заголовке Location.

    Если говорить простыми словами, то суть в следующем. В сайте была страница «page1». Владелец сайта перенёс её в страницу «page2». Пользователь открывает браузер и пытается открыть страницу «page1». Сайт возвращает браузеру код 301 и указывает страницу «page2» в заголовке «Location». Браузер перенаправляет пользователя на страницу «page2». Кстати, само действие, когда пользователя перекидывает с одной страницы в другую, называется редиректом (более подробно смотрите ссылки в конце обзора).

    HTTP 302 Moved Temporarily, Found (Временно перемещен) — этот код означает, что исходный запрошенный браузером документ (веб-страница) временно перемещен в другой документ, URL адрес которого указан в HTTP заголовке Location.

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

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

    Небольшая справка: GET — просто запросить страницу. POST — при запросе страницы также отправляются какие-то данные пользователя. Простой пример GET — это вы просто ввели в браузере URL страницы (данные никакие не отправляются). Простой пример POST — это вы открыли страницу, ввели какие-то данные в какую-нибудь формочку и нажали кнопку «Отправить».

    Механизм схож с 302, но существует один важный момент, что указанную страницу в Location можно открыть только методом GET. Делается это для того, чтобы данные пользователя точно не отправлялись.

    Чтобы лучше понять смысл, рассмотрим ситуацию. Допустим, вы открываете страницу поиска в сайте. Вводите какой-то текст и нажимаете кнопку «Искать». Браузер отправляет POST запрос с текстом поиска. Сервер находит нужную страницу и отправляет клиенту код 303 с URL адресом этой страницы. В таком случае браузер будет открывать эту страницу GET запросом (т.е. текст поиска не будет передаваться, как это было бы при POST запросе).

    Кстати, в противовес 303 так же существует код HTTP 307 Temporary Redirect (Временный редирект), который подразумевает передачу как GET, так и POST запроса. По сути, 303 и 307 это конкретизация действий с GET и POST, а смысл у них как у 302.

    HTTP 304 Not Modified (Не модифицировано) — этот код передаётся в том случае, когда браузер пользователя при открытии документа (страницы) использовал HTTP заголовок If-Modified-Since (там ещё If-None-Match может быть), в котором указывается дата последней загрузки документа, и документ (веб-страница) не был изменен с указанного времени.

    А теперь простыми словами о механизме. Когда пользователь в первый раз открывает страницу, то её содержимое браузер видит впервые, поэтому будет загружать страницу целиком (вместе с картинками, CSS, JS и т.п.). При этом браузер сохранит у себя в кэше эту страницу и её ресурсы (картинки, CSS, JS и т.п.).

    Когда же браузер будет открывать страницу второй раз, то логично было бы уточнить у сервера, а нужно ли скачивать эти данные ещё раз или можно использовать те, что браузер уже сохранил у себя в кэше. В частности, CSS и JS обычно редко меняются. Поэтому при вторичном запросе документа (и его отдельных ресурсов) браузер добавляет заголовок If-Modified-Since с датой первой загрузки (и при необходимости If-None-Match). И если документ (или его отдельные ресурсы) не были изменены, то браузер получит код 304 и не будет ничего скачивать.

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

    Примечание: Никогда не обращали внимание, что когда в первый раз открываешь сайт, то он грузится чуть медленнее, чем потом, когда открываешь другие его страницы? Это как раз эффект от использования 304.

    Про важность редиректов в СЕО (SEO) и коды 301, 302, 303, 307?

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

    Как поисковики воспринимают код и ошибку 301? Логика элементарна. Если страница полностью перемещена, то значит исходную страницу нужно убрать из поиска и добавить ту, которая указана в Location.

    Как поисковики воспринимают код и ошибку 302, 303, 307? Ничего сверхнеожиданного. Если страница временно перемещена, то значит исходную страницу нужно оставить, а ту, которая указана в Location, не учитывать.

    А теперь то, почему это важно. Абстрактный пример для понимания. Скажем, существует страница «page1», которая была перенесена в «page2», но вместо 301-го редиректа использовался 302-й. Вы изменили Description (см. обзор мета теги) в странице «page2». Что делать поисковику? 302-й код означает, что это временный перенос. Поэтому с большой вероятностью метаописание поисковик будет брать то, которое было у «page1», а не то, которое у «page2». А вот если использовать 301-й редирект, то поисковик будет брать то описание, которое у «page2».

    Отдельно добавлю про 304 и СЕО. Стоит понимать, что поисковые боты также учитывают этот код. Суть в том, что для каждого сайта выделяется некий лимит обхода (абстрактно, 1000 страниц в месяц). А в сайте может быть много веб-страниц (скажем, 10 тысяч, 20 тысяч, 100 тысяч и т.д.). Поэтому если какие-то страницы вообще не меняются или остаются неизменными в течение длительного времени, то использование 304-го кода позволит высвободить часть лимита для обхода других страниц. Это, соответственно, увеличивает скорость индексации и плюс поисковые боты меньше нагружают сайт.

    Также советую ознакомиться с обзорами Редирект (redirect) что это и зачем он нужен? и ещё PHP редирект — перенаправление на другую страницу, так как в них больше деталей и практики.

    Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!

    ☕ Понравился обзор? Поделитесь с друзьями!

    • Ошибка 503 Service Unavailable: что означает и как исправить?

      Ошибка 503 Service Unavailable: что означает и как исправить?
      Что делать (ошибки и проблемы)

    • Ошибка 502 Bad Gateway: что означает и как исправить?

      Ошибка 502 Bad Gateway: что означает и как исправить?
      Что делать (ошибки и проблемы)

    • Ошибка 401 Unauthorized: что означает и как исправить?

      Ошибка 401 Unauthorized: что означает и как исправить?
      Что делать (ошибки и проблемы)

    • Что делать если программа не отвечает или как закрыть зависшую программу в Windows

      Что делать если программа не отвечает или как закрыть зависшую программу в Windows
      Что делать (ошибки и проблемы)

    • Как исправить возникшие проблемы при помощи интерфейса Windows

      Как исправить возникшие проблемы при помощи интерфейса Windows «Устранение неполадок»?
      Что делать (ошибки и проблемы)

    • Компьютер выходит из спящего режима windows 7, что делать?

      Компьютер выходит из спящего режима windows 7, что делать?
      Что делать (ошибки и проблемы)

    Добавить комментарий / отзыв

    Код 302 Found не является ошибкой, это информационное сообщение, которое возвращается в ответ на запрос
    к временно перемещенному ресурсу. Код Found должен содержать в себе информацию о новом
    месторасположении.

    О чем свидетельствует ошибка 302

    Код 302 устанавливает системный администратор ресурса. При этом в заголовке сообщения Location должен
    быть указан новый адрес. Браузер автоматически перенаправляется по указанному url, но при этом поисковые
    системы не обновляют ссылки так, как это происходит в случае использования кода 301 Redirect. Вес ссылки
    в поисковой системе при этом также не изменяется и не переносится на новый адрес, указанный в заголовке
    Location.

    Рекомендуется применять этот способ перенаправления в качестве ответа только для некоторых поисковых
    методов, в частности:

    • GET, при котором все данные передаются в строке запроса;
    • HEAD, при котором сервер запрашивает информацию о заголовке искомого ресурса или файла.

    Для ответа на запросы, отправленные другими поисковыми методами, при временном перемещении ресурса
    рекомендовано применять код 307 Temporary redirect

    Что делать пользователю, когда в браузере появляется код ошибки 302

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

    Причины возникновения кода 302 found

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

    Вас также может заинтересовать

    Содержание

  • Что такое код ответа HTTP
  • Как проверить код состояния страницы
  • В браузере
  • В Яндекс.Вебмастере
  • В Google Search Console
  • 1* класс кодов (информационные сообщения)
  • 100 Continue
  • 101 Switching Protocols
  • 102 Processing
  • 103 Checkpoint
  • 105 Name Not Resolved
  • 2* класс кодов (успешно обработанные запросы)
  • 200 ОК
  • 201 Created
  • 202 Accepted
  • 203 Non‑Authoritative Information
  • 204 No Content
  • 205 Reset Content
  • 206 Partial Content
  • 207 Multi‑Status
  • 226 IM Used
  • 3* класс кодов (перенаправление на другой адрес)
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Found/Moved 
  • 303 See Other
  • 304 Not Modified
  • 305 Use Proxy
  • 306 Unused
  • 307 Temporary Redirect
  • 308 Resume Incomplete
  • 4* класс кодов (ошибки на стороне клиента)
  • 400 Bad Request
  • 401 Unauthorized
  • 402 Payment Required
  • 403 Forbidden
  • 404 Not Found
  • 405 Method Not Allowed
  • 406 Not Acceptable
  • 407 Proxy Authentication Required
  • 408 Request Timeout
  • 409 Conflict
  • 410 Gone
  • 411 Length Required
  • 412 Precondition Failed
  • 413 Request Entity Too Large
  • 414 Request‑URI Too Long
  • 415 Unsupported Media Type
  • 416 Requested Range Not Satisfiable
  • 417 Expectation Failed
  • 418 I’m a teapot
  • 422 Unprocessable Entity
  • 423 Locked
  • 424 Failed Dependency
  • 425 Unordered Collection
  • 426 Upgrade Required
  • 428 Precondition Required
  • 429 Too Many Requests
  • 431 Request Header Fields Too Large
  • 434 Requested Host Unavailable
  • 444 No Response
  • 449 Retry With
  • 450 Blocked by Windows Parental Controls
  • 451 Unavailable For Legal Reasons
  • 456 Unrecoverable Error
  • 499 Client Closed Request
  • 5* класс кодов (ошибки на стороне сервера)
  • 500 Internal Server Error
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 505 HTTP Version Not Supported
  • 506 Variant Also Negotiates
  • 507 Insufficient Storage
  • 508 Loop Detected
  • 509 Bandwidth Limit Exceeded
  • 510 Not Extended
  • 511 Network Authentication Required
  • Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.

    Что такое код ответа HTTP

    Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос. 

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

    Как проверить код состояния страницы

    Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.

    В браузере

    Для примера возьмём Google Chrome.

    1. Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы». 

    2. Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу: 

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    В Яндекс.Вебмастере

    Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:

    Как посмотреть код состояния в Вебмастере

    Как посмотреть код состояния в Вебмастере

    Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса

    В Google Search Console

    Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

    Проверка URL в инструменте GSC

    Проверка URL в инструменте GSC

    Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».

    Изучить просканированную страницу в GSC

    Изучить просканированную страницу в GSC

    А затем в открывшемся окне перейдите на вкладку «Подробнее»:

    HTTP код страницы в GSC

    HTTP код страницы в GSC

    Теперь расскажем подробнее про все классы кодов состояния HTTP.

    1* класс кодов (информационные сообщения)

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

    100 Continue

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

    101 Switching Protocols

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

    102 Processing

    Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.

    103 Checkpoint

    Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.

    POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса. 

    Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные. 

    Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.

    105 Name Not Resolved

    Не удается преобразовать DNS‑адрес сервера — это  означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.

    2* класс кодов (успешно обработанные запросы)

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

    200 ОК

    Все хорошо — HTTP‑запрос успешно обработан (не ошибка).

    201 Created

    Создано — транзакция успешна, сформирован новый ресурс или документ.

    202 Accepted

    Принято — запрос принят, но ещё не обработан.

    203 Non‑Authoritative Information

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

    204 No Content

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

    205 Reset Content

    Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.

    206 Partial Content

    Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.

    GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ. 

    Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с  получением данных, а POST‑запрос нужен для отправки данных.

    При работе с подобными ответами следует уделить внимание кэшированию.

    207 Multi‑Status

    Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus. 

    226 IM Used

    Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).

    3* класс кодов (перенаправление на другой адрес)

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

    300 Multiple Choices

    Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.

    301 Moved Permanently

    Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.

    302 Found/Moved 

    Временно перемещено — страница временно перенесена на другой URL,  который указан в поле Location.

    303 See Other

    Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.

    304 Not Modified

    Модификаций не было — с момента последнего визита клиента изменений не было.

    305 Use Proxy

    Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.

    306 Unused

    Зарезервировано. Код в настоящий момент не используется.

    307 Temporary Redirect

    Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.

    Этот код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.

    308 Resume Incomplete

    Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.

    4* класс кодов (ошибки на стороне клиента)

    Эти коды указывают на ошибки со стороны клиентов. 

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    400 Bad Request

    Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).

    401 Unauthorized

    Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.

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

    402 Payment Required

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

    403 Forbidden

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

    404 Not Found

    Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).

    405 Method Not Allowed

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

    406 Not Acceptable

    Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).

    407 Proxy Authentication Required

    Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.

    408 Request Timeout

    Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение  и просто обновите страницу.

    409 Conflict

    Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).

    410 Gone

    Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и  недоступен (серверу неизвестно месторасположение).

    411 Length Required

    Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length. 

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

    412 Precondition Failed

    Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.

    413 Request Entity Too Large

    Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.

    414 Request‑URI Too Long

    Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.

    415 Unsupported Media Type

    Формат не поддерживается —  сервер не может принять запрос, так как  данные подгружаются в некорректном формате, и сервер разрывает соединение.

    416 Requested Range Not Satisfiable

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

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

    417 Expectation Failed

    Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».

    418 I’m a teapot

    Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.

    422 Unprocessable Entity

    Объект не обработан — сервер принял запрос, но в нём  есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.

    423 Locked

    Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.

    424 Failed Dependency

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

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

    425 Unordered Collection

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

    426 Upgrade Required

    Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection. 

    Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.

    428 Precondition Required

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

    429 Too Many Requests

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

    431 Request Header Fields Too Large

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

    Исправляется это с помощью сокращения заголовков и повторной отправки запроса.

    434 Requested Host Unavailable

    Адрес запрашиваемой страницы недоступен.

    444 No Response

    Нет ответа — код отображается в лог‑файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение. Возвращается только сервером nginx.

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

    449 Retry With

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

    450 Blocked by Windows Parental Controls

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

    451 Unavailable For Legal Reasons

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

    456 Unrecoverable Error

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

    499 Client Closed Request

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

    5* класс кодов (ошибки на стороне сервера)

    Эти коды указывают на ошибки со стороны серверов. 

    При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

    Изображение страницы с ошибкой сайта REG.RU

    Изображение страницы с ошибкой сайта REG.RU

    500 Internal Server Error

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

    Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.

    501 Not Implemented

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

    Сами вы эту ошибку не исправите. Устранить её может только сервер.

    502 Bad Gateway

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

    Актуально исключительно для прокси и шлюзовых конфигураций.

    503 Service Unavailable

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

    В поле Retry‑After заголовка сервер укажет время, через которое  можно повторить запрос.

    504 Gateway Timeout

    Тайм‑аут шлюза —  сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.

    Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере. 

    Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого  нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.

    505 HTTP Version Not Supported

    Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.

    506 Variant Also Negotiates

    Неуспешные переговоры — с такой ошибкой сталкиваются, если сервер изначально настроен неправильно. По причине ошибочной конфигурации выбранный вариант указывает сам на себя, из‑за чего процесс и прерывается.

    507 Insufficient Storage

    Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.

    508 Loop Detected

    Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.

    509 Bandwidth Limit Exceeded

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

    510 Not Extended

    Не продлён — ошибка говорит, что на сервере отсутствует нужное для клиента расширение. Чтобы исправить проблему, надо убрать часть неподдерживаемого расширения из запроса или добавить поддержку на сервер.

    511 Network Authentication Required

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

    This question was asked a long ago, while the RFC 2616 was still hanging around. Some answers to this question are based in such document, which is no longer relevant nowadays. Quoting Mark Nottingham who, at the time of writing, co-chairs the IETF HTTP and QUIC Working Groups:

    Don’t use RFC2616. Delete it from your hard drives, bookmarks, and burn (or responsibly recycle) any copies that are printed out.

    The old RFC 2616 has been supplanted by the following documents that, together, define the HTTP/1.1 protocol:

    • RFC 7230: Message Syntax and Routing
    • RFC 7231: Semantics and Content
    • RFC 7232: Conditional Requests
    • RFC 7233: Range Requests
    • RFC 7234: Caching
    • RFC 7235: Authentication

    And, as of June 2022, a new set of RFCs obsoleted the documents listed above:

    • RFC 9110: HTTP Semantics
    • RFC 9111: HTTP Caching
    • RFC 9112: HTTP/1.1

    So I aim to provide an answer based in the RFC 9110, which is the current reference for the HTTP semantics.

    The 302 status code

    A response with 302 is a common way of performing URL redirection. Along with the 302 status code, the response should include a Location header with a different URI. Such header will be parsed by the user agent and then perform the redirection:

    Redirection example

    Web browsers may change from POST to GET in the subsequent request. If this behavior is undesired, the 307 (Temporary Redirect) status code can be used instead.

    This is how the 302 status code is defined in the RFC 9110:

    6.4.3. 302 Found

    The 302 (Found) status code indicates that the target resource
    resides temporarily under a different URI. Since the redirection
    might be altered on occasion, the client ought to continue to use the
    target URI for future requests.

    The server SHOULD generate a Location header field in the response
    containing a URI reference for the different URI. The user agent MAY
    use the Location field value for automatic redirection. The server’s
    response content usually contains a short hypertext note with a
    hyperlink to the different URI(s).

    Note: For historical reasons, a user agent MAY change the
    request method from POST to GET for the subsequent request. If
    this behavior is undesired, the 307 (Temporary Redirect) status
    code can be used instead.

    According to MDN web docs from Mozilla, a typical use case for [302]302] is:

    The Web page is temporarily not available for reasons that have not been unforeseen. That way, search engines don’t update their links.

    Other status codes for redirection

    The RFC 9110 defines the following status codes for redirection (some of these status codes were originally defined in other RFCs, but have all been consolidated in the RFC 9110):

    • 301: Moved Permanently
    • 302: Found
    • 307: Temporary Redirect
    • 308: Permanent Redirect

    Refer to this answer for further details.

    Whenever we get a HTTP 302 error, it requires a redirect and the same questions usually arise:

    Вот некоторые из вопросов:

    1. Мой сайт готов к этому?
    2. Какой тип перенаправления наиболее подходит для моего случая?
    3. Потеряю ли я всю работу по SEO, которую я сделал до сих пор?
    4. Google накажет меня? Что произойдет, если я устраню перенаправления?
    5. Как они сделаны?
    6. Как исправить ошибку 302? (если это происходит)


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

    Code 302 indicates a temporary redirection.
    One of the most notable features that differentiate it from a Переадресация 301 в том, что в случае 302 перенаправлений сила SEO не переносится на новый URL.

    Google SEO

    Это связано с тем, что это перенаправление было разработано для использования в тех случаях, когда необходимо перенаправить контент на страницу, которая не будет окончательной.
    Таким образом, после устранения перенаправления исходная страница не потеряет свое положение в поисковой системе Google.
    Несмотря на то, что мы не очень часто нуждаемся в перенаправлении 302, в некоторых случаях этот параметр может быть очень полезным. Это наиболее частые случаи:

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

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

    Для чего нужен редирект 302?

    Редирект 302 служит, например, для того, чтобы иметь несколько версий домашней страницы на разных языках.
    The main one can be in English, but if the visitors come from other countries then this system automatically redirects them to a page in their language.

    Переадресация 302

    Таким образом, мобилизация Веб-трафик достигается, но в то же время влияние на уровне SEO главной страницы не ослабляется. Это продолжает расти, несмотря на то, что передача власти не происходит, как мы объясняли ранее.

    Пример перенаправления HTTP 302

    The most common HTTP 302 redirect example case is Google.
    Независимо от страны, в которую вы входите, если вы введете https://www.google.com/, you will be redirected to the Google version in the language/country that corresponds to you.

    Поиск в Google
    В случае Германии 302 автоматически доставит нас к https://www.google.de/ так что мы можем искать контент на немецком языке.
    Порталы успешных компаний, таких как Coca-Cola или даже Fujitsu, также используют эту систему для перенаправления трафика туда, где они считают наиболее удобным.

    What causes HTTP 302 error?

    Here are some of the most common reasons for the 302 redirect error:

    • Использование 302 перенаправлений во время перемещения домена;
    • Создание перенаправления 302 при перемещении документа;
    • Использование перенаправления 302 во время изменения протокола сайта;
    • Создание 302 перенаправлений при изменении структуры сайта.

    HTML-перенаправление 302 не рекомендуется, когда метод исходного запроса должен применяться к запросу целевого URL-адреса — например, перемещение URL-адреса директивы формы, которая использует метод POST для определенного периода.
    Вам не следует использовать код состояния 302, если вы хотите перенести SEO-вес на целевой URL.

    How to identify HTTP 302 error?

    Проверка того, что 301 и 302 перенаправить настройки верны очень легко.
    When entering into the address bar of the old address, we observe what is happening.
    The change of address indicates that everything is fine with the redirect.
    The address remains the same – you need to look for the source of the problem, but first, we advise you to clean the cache and try again.

    доменное имя
    Есть еще один вариант — подать заявку на проверку кода ответа сервера на онлайн-сервисы, например, http://example.com/e_redirect/.
    Если вы правильно настроили перенаправление, после ввода имени домена вы увидите код ответа 301 или 302. Это зависит от того, какой тип перенаправления вы планировали получить изначально.
    Некоторые сервисы дополнительно отображают код, предоставленный сервером после перенаправления, и здесь есть только одна допустимая опция — 200 OK.

    How to fix HTTP 302 error?

    Способ 1: проверьте конфигурацию сервера

    Приложение может работать на сервере, который использует одну из этих двух наиболее распространенных программ веб-сервера, Nginx или Apache. На эти два веб-сервера приходится более 84 процентов глобальной программы веб-сервера!
    Therefore, the first step in determining the 302 response code is checking the mandatory redirect instructions in the webserver program configuration file.

    Для веб-сервера Apache

    Шаг 1: Откройте файл .htaccess на сервере.

    To identify the webserver, you need to find the key file. If you are using the Apache web server, locate the .htaccess file in your site’s root filesystem.

    Файловый менеджер cPanel
    Если ваша программа находится на общем хосте, ваше имя пользователя может быть связано, например, с учетной записью хоста. В этом случае, как правило, каталог корня приложения находится по пути:
    /home/<username>/public_html/path, thus the .htaccess file is located at /home/<username>/public_html/.htaccess.

    Шаг 2: Найдите директивы mod_rewrite

    Найдя файл .htaccess, откройте его в текстовом редакторе и найдите строку, которая использует директивы RewriteXXX, принадлежащие модулю Apache mod_rewrite.

    mod_rewrite
    Однако основная идея заключается в том, что директива RewriteCond описывает текстовую модель, которая сравнивается с зарегистрированным URL. Когда посетитель запрашивает соответствующий URL на сайте, директива RewriteRule, которая отслеживает одну или несколько инструкций RewriteCond, будет фактически перенаправлять запрос на соответствующий URL.
    Например, следующее — это простая комбинация RewriteRule и RewriteCond, которая удовлетворяет всем требованиям example.com, но вместо этого вставляет временный редирект в тот же URI во временном домене — example.com:

    RewriteEngine в RewriteCond% {HTTP_HOST} ^ пример  .com $ RewriteRule ^ (. *) $ HTTP://www.teilitary-example.com/$1 [R = 302]

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

    Шаг 3: Сброс директив в файле .htaccess
    # НАЧАЛО WordPress RewriteEngine On RewriteBase / RewriteRule ^ index  .php $ - [L] RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. /index.php [L] # END WordPress

    Поэтому, если в вашем файле .htaccess вы обнаружите необычную директиву RewriteRule или RewriteCond, которая вам не подходит, попробуйте временно их аннотировать (с префиксом #) и перезапустите веб-сервер, чтобы проверить, решена ли проблема.

    Для веб-сервера Nginx

    Шаг 1: Откройте файл nginx.conf

    конфигурация ngix
    Если ваш веб-сервер работает на Nginx, вам следует искать совершенно другой файл конфигурации. Этот файл указан как nginx.conf по умолчанию и находится в одном из общих каталогов, перечисленных ниже:

    / usr / local / nginx / conf, / etc / nginx или, / usr / local / etc / nginx.

    Шаг 2: Перепишите директивы в файле nginx.conf

    После обнаружения откройте файл nginx.conf в текстовом редакторе и найдите директивы перезаписи, относящиеся к индикатору перенаправления.

    HTTP 302 error: 301 scheme
    Например, это простая директива блока (объявленная как набор операторов), которая устанавливает виртуальный сервер путем создания временного перенаправления с abc.com на временный-abc.com:

    сервер {слушай 80; слушай 443 песни; имя_сервера www.abc.com; переписать ^ / $ http://www.teilitary-abc.com redirect; }

    Nginx переписывает директивы параллельно с Apache RewriteRule и
    RewriteCond, потому что они обычно содержат более сложные текстовые шаблоны поиска.

    Шаг 3: Проверьте политику замены файла nginx.conf

    В любом случае проверьте файл nginx.conf для политики замены исключений, которая содержит флаг перенаправления (другой код ответа возврата постоянного ключа 301).

    HTTP 302 error: nginx parameters
    Обратите внимание на любые исключения перед перезагрузкой сервера, чтобы проверить, решена ли проблема.

    Способ 2: поиск устаревшего программного обеспечения

    В документе спецификации RFC для HTTP 1.0 говорится, что цель кода ответа «302 найдено» предназначена для указания того, что клиент должен выполнить временное перенаправление.

    HTTP 302 error: device risk
    However, many new browsers will process the code 302 received through the POST request as an invalid GET request.
    This has triggered snags and confusion with particular web server programs that attempt to force the browser to perform the right work when it needs to be redirected temporarily.
    Чтобы решить эту проблему, документ спецификации RFC HTTP 1.1 возвратил 303 кода ответа, еще 307 временных перенаправлений, что является понятным способом управления POST-to-GET или временными переходными ответами.

    Метод 3: Очистка бревен

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

    HTTP 302 error: clean the logs
    Журналы сервера подключены к текущему устройству, на котором запускаются программы, и обычно содержат информацию о состоянии и работоспособности всех подключенных служб и даже информацию о сервере.
    Запишите Google [PLATFORM_NAME] в CMS или используйте [PROGRAMMING_LANGUAGE], чтобы зарегистрироваться и зарегистрировать [OPERATING_SYSTEM] при запуске пользовательского приложения для получения дополнительной информации для получения этих записей.

    Способ 4: исправить код приложения

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

    HTTP 302 error: web browser
    Попробуйте определить причину проблемы, вручную обнаружив приложение и проанализировав его в файлах журнала сервера и приложений.
    Рекомендуется скопировать полное приложение на локальный компьютер для разработки и пройти по нему, чтобы точно узнать, что происходит с 302 сканированием, и увидеть код для каждого приложения.

    HTTP 302 Error: Conclusion

    Наконец, как вы видели, нам не нужно сильно бояться ошибок перенаправления HTTP 302. Не углубляясь в это, они представляют собой фантастический способ избежать потери трафика на наших веб-страницах с неизбежными изменениями, которые возникают в течение многих лет.
    I hope that, after reading this article, you will not get chills every time about how do I fix the 302 moved temporarily error.
    Если вы хотите внести свой вклад в сообщение, или если у вас есть вопрос или просто хотите высказать свое мнение, не стесняйтесь комментировать ниже!

    Категория:
    Что делать (ошибки и проблемы)
    – Автор:
    Игорь (Администратор)

    Сайты дело такое. В них постоянно что-то корректируется, так сказать живёт и движется. Поэтому нет ничего удивительно в том, что периодически можно столкнуться с кодами и ошибками 301, 302, 303, 304. О том, что эти коды значат и ещё о паре нюансов, и пойдет речь в данном обзоре.

    Что значат коды и ошибки 301, 302, 303, 304?

    Коды и ошибки 301, 302, 303, 304

    HTTP 301 Moved Permanently (Навсегда перемещен) — этот код означает, что исходный запрошенный браузером документ (веб-страница) полноценно перенесён в другой документ, URL адрес которого указан в HTTP заголовке Location.

    Если говорить простыми словами, то суть в следующем. В сайте была страница «page1». Владелец сайта перенёс её в страницу «page2». Пользователь открывает браузер и пытается открыть страницу «page1». Сайт возвращает браузеру код 301 и указывает страницу «page2» в заголовке «Location». Браузер перенаправляет пользователя на страницу «page2». Кстати, само действие, когда пользователя перекидывает с одной страницы в другую, называется редиректом (более подробно смотрите ссылки в конце обзора).

    HTTP 302 Moved Temporarily, Found (Временно перемещен) — этот код означает, что исходный запрошенный браузером документ (веб-страница) временно перемещен в другой документ, URL адрес которого указан в HTTP заголовке Location.

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

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

    Небольшая справка: GET — просто запросить страницу. POST — при запросе страницы также отправляются какие-то данные пользователя. Простой пример GET — это вы просто ввели в браузере URL страницы (данные никакие не отправляются). Простой пример POST — это вы открыли страницу, ввели какие-то данные в какую-нибудь формочку и нажали кнопку «Отправить».

    Механизм схож с 302, но существует один важный момент, что указанную страницу в Location можно открыть только методом GET. Делается это для того, чтобы данные пользователя точно не отправлялись.

    Чтобы лучше понять смысл, рассмотрим ситуацию. Допустим, вы открываете страницу поиска в сайте. Вводите какой-то текст и нажимаете кнопку «Искать». Браузер отправляет POST запрос с текстом поиска. Сервер находит нужную страницу и отправляет клиенту код 303 с URL адресом этой страницы. В таком случае браузер будет открывать эту страницу GET запросом (т.е. текст поиска не будет передаваться, как это было бы при POST запросе).

    Кстати, в противовес 303 так же существует код HTTP 307 Temporary Redirect (Временный редирект), который подразумевает передачу как GET, так и POST запроса. По сути, 303 и 307 это конкретизация действий с GET и POST, а смысл у них как у 302.

    HTTP 304 Not Modified (Не модифицировано) — этот код передаётся в том случае, когда браузер пользователя при открытии документа (страницы) использовал HTTP заголовок If-Modified-Since (там ещё If-None-Match может быть), в котором указывается дата последней загрузки документа, и документ (веб-страница) не был изменен с указанного времени.

    А теперь простыми словами о механизме. Когда пользователь в первый раз открывает страницу, то её содержимое браузер видит впервые, поэтому будет загружать страницу целиком (вместе с картинками, CSS, JS и т.п.). При этом браузер сохранит у себя в кэше эту страницу и её ресурсы (картинки, CSS, JS и т.п.).

    Когда же браузер будет открывать страницу второй раз, то логично было бы уточнить у сервера, а нужно ли скачивать эти данные ещё раз или можно использовать те, что браузер уже сохранил у себя в кэше. В частности, CSS и JS обычно редко меняются. Поэтому при вторичном запросе документа (и его отдельных ресурсов) браузер добавляет заголовок If-Modified-Since с датой первой загрузки (и при необходимости If-None-Match). И если документ (или его отдельные ресурсы) не были изменены, то браузер получит код 304 и не будет ничего скачивать.

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

    Примечание: Никогда не обращали внимание, что когда в первый раз открываешь сайт, то он грузится чуть медленнее, чем потом, когда открываешь другие его страницы? Это как раз эффект от использования 304.

    Про важность редиректов в СЕО (SEO) и коды 301, 302, 303, 307?

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

    Как поисковики воспринимают код и ошибку 301? Логика элементарна. Если страница полностью перемещена, то значит исходную страницу нужно убрать из поиска и добавить ту, которая указана в Location.

    Как поисковики воспринимают код и ошибку 302, 303, 307? Ничего сверхнеожиданного. Если страница временно перемещена, то значит исходную страницу нужно оставить, а ту, которая указана в Location, не учитывать.

    А теперь то, почему это важно. Абстрактный пример для понимания. Скажем, существует страница «page1», которая была перенесена в «page2», но вместо 301-го редиректа использовался 302-й. Вы изменили Description (см. обзор мета теги) в странице «page2». Что делать поисковику? 302-й код означает, что это временный перенос. Поэтому с большой вероятностью метаописание поисковик будет брать то, которое было у «page1», а не то, которое у «page2». А вот если использовать 301-й редирект, то поисковик будет брать то описание, которое у «page2».

    Отдельно добавлю про 304 и СЕО. Стоит понимать, что поисковые боты также учитывают этот код. Суть в том, что для каждого сайта выделяется некий лимит обхода (абстрактно, 1000 страниц в месяц). А в сайте может быть много веб-страниц (скажем, 10 тысяч, 20 тысяч, 100 тысяч и т.д.). Поэтому если какие-то страницы вообще не меняются или остаются неизменными в течение длительного времени, то использование 304-го кода позволит высвободить часть лимита для обхода других страниц. Это, соответственно, увеличивает скорость индексации и плюс поисковые боты меньше нагружают сайт.

    Также советую ознакомиться с обзорами Редирект (redirect) что это и зачем он нужен? и ещё PHP редирект — перенаправление на другую страницу, так как в них больше деталей и практики.

    Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!

    ☕ Понравился обзор? Поделитесь с друзьями!

    • Ошибка 503 Service Unavailable: что означает и как исправить?

      Ошибка 503 Service Unavailable: что означает и как исправить?
      Что делать (ошибки и проблемы)

    • Ошибка 502 Bad Gateway: что означает и как исправить?

      Ошибка 502 Bad Gateway: что означает и как исправить?
      Что делать (ошибки и проблемы)

    • Ошибка 401 Unauthorized: что означает и как исправить?

      Ошибка 401 Unauthorized: что означает и как исправить?
      Что делать (ошибки и проблемы)

    • Ошибка 504 Gateway Time Out: что означает и как исправить?

      Ошибка 504 Gateway Time Out: что означает и как исправить?
      Что делать (ошибки и проблемы)

    • Что делать если программа не отвечает или как закрыть зависшую программу в Windows

      Что делать если программа не отвечает или как закрыть зависшую программу в Windows
      Что делать (ошибки и проблемы)

    • Как исправить возникшие проблемы при помощи интерфейса Windows

      Как исправить возникшие проблемы при помощи интерфейса Windows «Устранение неполадок»?
      Что делать (ошибки и проблемы)

    Добавить комментарий / отзыв

    Понравилась статья? Поделить с друзьями:
  • Что означает ошибка 162
  • Что означает ошибка 301
  • Что означает ошибка 1603 при установке
  • Что означает ошибка 300
  • Что означает ошибка 3 d secure авторизации