Ошибки 401 и 403

Викинг и четыре ошибки на его пути

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

400 Bad Request (Неверный запрос)

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

Смысл ошибки 400

Если вы открыли свой сайт и увидели ошибку 400, то в первую очередь сделайте то, что вы сделали бы в случае посещения любого другого сайта:

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

2. Посмотрите, происходит ли то же самое в других браузерах. Если нет, то обновите браузер, показывающий ошибку, и очистите куки.

3. Ошибка продолжает появляться? Проверьте устройство антивирусом, затем отключите антивирус и/или брандмауэр, если вредоносная активность не была обнаружена. В случае исчезновения ошибки настройте антивирус / брандмауэр так, чтобы он больше доверял вашему браузеру.

4. Ошибка всё-таки видна во всех браузерах? Обновите компонент .NET Framework, если вы используете компьютер с Windows, затем просканируйте саму Windows на предмет «мусора» и неполадок, обновите необновлённые драйвера и обновите сам Windows. После каждого из этих шагов проверяйте, продолжает ли появляться ошибка.

5. Если всё это не помогло, обратитесь к интернет-провайдеру — возможно, проблема на его стороне.

Теперь разбираемся с ошибкой как администраторы сайта:

1. Обратитесь к хостингу, если ошибка появляется при посещении сайта с других устройств.

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

3. Если при запросе загружается большой по размеру файл, попробуйте загрузить файл меньшего размера.

4. Ошибка возникла после обновления CMS либо установки расширения, модуля или плагина? По возможности верните предыдущую версию CMS и удалите недавно установленные компоненты.

5. Посмотрите лог-файлы сервера и поищите в них причину неполадок.

6. Проведите аудит кода.

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

401 Unauthorized (Не авторизован)

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

Смысл ошибки 401

Но если это не так, то искать причину ошибки нужно на стороне сайта:

1. Обратитесь к хостинг-провайдеру для выяснения причины ошибки.

2. Удостоверьтесь в том, что уровни доступа для пользователей указаны верно.

3. Ограничьте индексацию поисковиками страниц с ошибкой, написав в файле robots.txt строку Disallow: /адрес страницы. После этого организуйте перенаправление с этих страниц на страницу с авторизацией, указав в файле .htaccess следующее:

Redirect 301 /стараястраница.html http://example.com/новаястраница.html

4. Проверьте, не установлена ли слишком маленькая длительность сессии в файле php.ini на сервере. Установите для параметров session.gc_maxlifetime и session.cookie_lifetime значения 1440 и 0 соответственно.

5. Посмотрите код сайта и скрипты на наличие ошибок.

403 Forbidden (Запрещено)

Здесь ситуация схожа с 401-ой ошибкой: не удаётся войти в систему. Но если в том случае система просто не может определить пользователя, то здесь система понимает, кто перед ней, и сознательно не предоставляет доступ.

Смысл ошибки 403

Что можно сделать?

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

2. Уведомление появилось после установки нового плагина? Найдите этот плагин, затем измените его параметры или удалите его.

3. Удостоверьтесь, что в имени индексного файла нет ошибок: index, точка, расширение файла строчными буквами.

4. Также проверьте, что файлы сайта загружены в предназначенную для них папку.

5. Уточните, какие права установлены на папке, где находится запрашиваемый файл или папка. Рекомендуется установить права 744 (выполнять может только владелец) или 755 (выполнять могут и владелец, и пользователи).

6. Посмотрите файл .htaccess на предмет неверно указанных редиректов и излишнего ограничений доступа к файлам.

404 Not Found (Не найдено)

Наверное, самая известная всем ошибка. Она говорит о том, что запрашиваемой страницы нет из-за отсутствия файла с ней или из-за ошибки в URL.

Смысл ошибки 404

1. Если страница по указанному адресу была удалена случайно, верните её.

2. На сайте имеются ссылки, по которым выдаётся ошибка 404? Удалите их или сделайте редирект 301 в файле .htacсess на подходящую страницу-замену.

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

Остались вопросы? Посмотрите ответы на вопросы из нашего раздела FAQ:

  • Отчего возникает ошибка 403 (Forbidden)?
  • Отчего возникает ошибка 404 (Not Found)?
  • Как изменить страницы ошибок 403, 404 и 500?

Также мы раньше в целом рассказали о кодах состояния сервера, к которым относятся в том числе и коды ошибок.

Ошибка 401, Unauthorized — неавторизирован её как правило не генерируют програмно, 401 это один из шагов авторизации. Как правило эта ошибка генерируется отдельной библиотекой управления учётками. Если браузер распознал алгоритм авторизации — он не светит 401, а спрашивает учетные данные. В зависимости от браузера 401 может быть показана после 2-й попытки ввести учетные данные, или 3-ей. Страница посредством 401 будет требовать авторизацию, как правило до тех пор, пока не будет успешной авторизация. 401- используется «windows» авторизацией такой как NTLM, kerberos и т п. Так же может быть использована прозрачная (сквозная) авторизация — тогда браузер тихо обрабатывает ошибку, и вообще ничего не спрашивает, передаёт на сайт данные текущей учетки. Как правило так делают в интрасети.

Ошибка 403 Forbidden — (Запрещено). Как правило — отказано в доступе. Может означать как то, что данному пользователю нельзя читать (обращаться) по данному URL, так и то что вообще никому нельзя читать по данному URL (Иногда служебные папки такие как bin таким образом защищены ).

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

HTTP 401 error and difference from HTTP 403 error

Error 403(Forbidden) and Error 401 (Unauthorized) are almost like identical twins, but what do you think is the exact difference between the two?

If you own or create websites, you may have come across HTTP error numbers 401 and 403. When a person tries to access a limited website or resource, this error occurs. While they may appear to be the same, there are significant variations between the two error numbers. In the following article, we’ll go over the distinctions between error 401 and error 403, as well as their meaning and causes.

RFC Standards

Error 401

The RFC Standard defining Error 401 (Unauthorized) is RFC7235 which says that the code conveys the message indicating the canceled request because of lacking authentication credentials for the target resource… You could then try to repeat the request with a new or replaced Authorization header field.

But, the RFC standard that defines Error 403 (Forbidden) is RFC 7231 and it states that the server has successfully understood the request but has refused to authorize it. The authorization credentials that were provided in the request are insufficient for the server to provide access.

Main Causes Of The Errors

So now we know, that Error 403 happens when the user has logged in but they do not have the permission required to access the requested resource. For instance, you could be logging in to access the admin route when you only have permission for the generic user route.

On the other hand, you will mostly encounter a 401 error when you have provided the wrong password or you have not logged in at all.

These, we can say, are the most common causes for Errors 401 and 403.

Some Obscure Causes

Http 401 error causes

There are a few occasions when the cause for the error might not be that straightforward.

There can be occasions when the error 403 is not entirely dependent on the logged-in user’s credentials.

For instance, there could be a server that has locked down its resources such that it only allows access from a fixed range of IP addresses. The VPN could be potentially circumvented with the latter.

On the other hand, even if you have entered the correct credentials, the 401 error could occur. But, it has to be admitted that this could only be encountered while developing authenticated back ends of your own. But a malformed authorisation header will again return a 401.

For instance, you might want to include in the request a JWT (JSON Web Token), if you have it. A JWT expects the format Authorization: Bearer eyJhbGci……yJV_adQssw5c.

You could encounter the 401 error if you forget to use the word “Bearer’ before the JWT.

Conclusion

Understanding the membership and identity operators in Python is essential for writing efficient and concise code. By using these operators, you can easily check for the presence or absence of values in a sequence, or compare the identity of two objects. Similarly, understanding the differences between error 401 and error 403 is crucial for website owners and developers to troubleshoot issues related to restricted access. By applying the knowledge gained from this article, you’ll be better equipped to handle these common scenarios and write more robust Python code.

Frequently Asked Questions

1: What is a 401 error in HTTP?

A 401 error in HTTP is an «Unauthorized» error code that occurs when a client attempts to access a resource without proper authentication or authorisation credentials.

2: What is a 403 error in HTTP?

A 403 error in HTTP is a «Forbidden» error code that occurs when a client attempts to access a resource that they do not have permission to access, even with proper authentication credentials.

3: How are 401 and 403 errors different?

401 errors occur when a client is not authenticated or authorised to access a resource. 403 errors occur when a client is authenticated but does not have permission to access a resource.

4: What can cause a 401 error?

A 401 error can be caused by various factors, such as entering incorrect login credentials, missing or expired authentication tokens, or attempting to access a protected resource without proper authorisation.

Assume your Web API is protected and a client attempts to access it without the appropriate credentials. How do you deal with this scenario? Most likely, you know you have to return an HTTP status code. But what is the more appropriate one? Should it be 401 Unauthorized or 403 Forbidden? Or maybe something else?

As usual, it depends 🙂. It depends on the specific scenario and also on the security level you want to provide. Let’s go a little deeper.

If you prefer, you can watch a video on the same topic:

Web APIs and HTTP Status Codes

Before going into the specific topic, let’s take a quick look at the rationale of HTTP status codes in general. Most Web APIs are inspired by the REST paradigm. Although the vast majority of them don’t actually implement REST, they usually follow a few RESTful conventions when it comes to HTTP status codes.

The basic principle behind these conventions is that a status code returned in a response must make the client aware of what is going on and what the server expects the client to do next. You can fulfill this principle by giving answers to the following questions:

  • Is there a problem or not?
  • If there is a problem, on which side is it? On the client or on the server side?
  • If there is a problem, what should the client do?

This is a general principle that applies to all the HTTP status codes. For example, if the client receives a 200 OK status code, it knows there was no problem with its request and expects the requested resource representation in the response’s body. If the client receives a 201 Created status code, it knows there was no problem with its request, but the resource representation is not in the response’s body. Similarly, when the client receives a 500 Internal Server Error status code, it knows that this is a problem on the server side, and the client can’t do anything to mitigate it.

In summary, your Web API’s response should provide the client with enough information to realize how it can move forward opportunely.

Let’s consider the case when a client attempts to call a protected API. If the client provides the appropriate credentials (e.g., a valid access token), its request is accepted and processed. What happens when the client has no appropriate credentials? What status code should your API return when a request is not legitimate? What information should it return, and how to guarantee the best security experience?

Fortunately, in the OAuth security context, you have some guidelines. Of course, you can use them even if you don’t use OAuth to secure your API.

«The basic principle behind REST status code conventions is that a status code must make the client aware of what is going on and what the server expects the client to do next»

Tweet

Tweet This

When to Use 400 Bad Request?

Let’s start with a simple case: a client calls your protected API, omitting a required parameter. In this case, your API should respond with a 400 Bad Request status code. In fact, if that parameter is required, your API can’t even process the client request. The client’s request is malformed.

Your API should return the same status code even when the client provides an unsupported parameter or repeats the same parameter multiple times in its request. In both cases, the client’s request is not as expected and should be refused.

Following the general principle discussed above, the client should be empowered to understand what to do to fix the problem. So, you should add in your response’s body what was wrong with the client’s request. You can provide those details in the format you prefer, such as simple text, XML, JSON, etc. However, using a standard format like the one proposed by the Problem Details for HTTP APIs specifications would be more appropriate to enable uniform problem management across clients.

For example, if your client calls your API with an empty value for the required data parameter, the API could reply with the following response:

HTTP/1.1 400 Bad Request
Content-Type: application/problem+json
Content-Language: en

{
  "type": "https://myapi.com/validation-error",
  "title": "Validation error",
  "detail": "Your request parameters are not valid.",
  "invalid-params": [
    {
      "name": "data",
      "reason": "cannot be blank."
    }
  ]
}

When to Use 401 Unauthorized?

Now, let’s assume that the client calls your protected API with a well-formed request but no valid credentials. For example, in the OAuth context, this may fall in one of the following cases:

  • An access token is missing.
  • An access token is expired, revoked, malformed, or invalid for other reasons.

In both cases, the appropriate status code to reply with is 401 Unauthorized. In the spirit of mutual collaboration between the client and the API, the response must include a hint on how to obtain such authorization. That comes in the form of the WWW-Authenticate header with the specific authentication scheme to use. For example, in the case of OAuth2, the response should look like the following:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example"

You have to use the Bearer scheme and provide the realm parameter to indicate the set of resources the API is protecting.

If the client request does not include any access token, demonstrating that it wasn’t aware that the API is protected, the API’s response should not include any other information.

On the other hand, if the client’s request includes an expired access token, the API response could include the reason for the denied access, as shown in the following example:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example",
                  error="invalid_token",
                  error_description="The access token expired"

When to Use 403 Forbidden?

Let’s explore a different case now. Assume, for example, that your client sends a request to modify a document and provides a valid access token to the API. However, that token doesn’t include or imply any permission or scope that allows the client to perform the desired action.

In this case, your API should respond with a 403 Forbidden status code. With this status code, your API tells the client that the credentials it provided (e.g., the access token) are valid, but it needs appropriate privileges to perform the requested action.

To help the client understand what to do next, your API may include what privileges are needed in its response. For example, according to the OAuth2 guidelines, your API may include information about the missing scope to access the protected resource.

Try out the most powerful authentication platform for free.Get started →

Security Considerations

When you plan how to respond to your client’s requests, always keep security in mind.

How to deal with response details

A primary security concern is to avoid providing useful information to potential attackers. In other words, returning detailed information in the API responses to attempts to access protected resources may be a security risk.

For example, suppose your API returns a 401 Unauthorized status code with an error description like The access token is expired. In this case, it gives information about the token itself to a potential attacker. The same happens when your API responds with a 403 Forbidden status code and reports the missing scope or privilege.

In other words, sharing this information can improve the collaboration between the client and the server, according to the basic principle of the REST paradigm. However, the same information may be used by malicious attackers to elaborate their attack strategy.

Since this additional information is optional for both the HTTP specifications and the OAuth2 bearer token guidelines, maybe you should think carefully about sharing it. The basic principle on sharing that additional information should be based on the answer to this question: how would the client behave any differently if provided with more information?

For example, in the case of a response with a 401 Unauthorized status code, does the client’s behavior change when it knows that its token is expired or revoked? In any case, it must request a new token. So, adding that information doesn’t change the client’s behavior.

Different is the case with 403 Forbidden. By informing your client that it needs a specific permission, your API makes it learn what to do next, i.e., requesting that additional permission. If your API doesn’t provide this additional information, it will behave differently because it doesn’t know what to do to access that resource.

Don’t let the client know…

Now, assume your client attempts to access a resource that it MUST NOT access at all, for example, because it belongs to another user. What status code should your API return? Should it return a 403 or a 401 status code?

You may be tempted to return a 403 status code anyway. But, actually, you can’t suggest any missing permission because that client has no way to access that resource. So, the 403 status code gives no actual helpful information. You may think that returning a 401 status code makes sense in this case. After all, the resource belongs to another user, so the request should come from a different user.

However, since that resource shouldn’t be reached by the current client, the best option is to hide it. Letting the client (and especially the user behind it) know that resource exists could possibly lead to Insecure Direct Object References (IDOR), an access control vulnerability based on the knowledge of resources you shouldn’t access. Therefore, in these cases, your API should respond with a 404 Not Found status code. This is an option provided by the HTTP specification:

An origin server that wishes to «hide» the current existence of a forbidden target resource MAY instead respond with a status code of 404 (Not Found).

For example, this is the strategy adopted by GitHub when you don’t have any permission to access a repository. This approach avoids that an attacker attempts to access the resource again with a slightly different strategy.

How to deal with bad requests

When a client sends a malformed request, you know you should reply with a 400 Bad Request status code. You may be tempted to analyze the request’s correctness before evaluating the client credentials. You shouldn’t do this for a few reasons:

  • By evaluating the client credentials before the request’s validity, you avoid your API processing requests that aren’t allowed to be there.
  • A potential attacker could figure out how a request should look without being authenticated, even before obtaining or stealing a legitimate access token.

Also, consider that in infrastructures with an API gateway, the client credentials will be evaluated beforehand by the gateway itself, which doesn’t know at all what parameters the API is expecting.

The security measures discussed here must be applied in the production environment. Of course, in the development environment, your API can provide all the information you need to be able to diagnose the causes of an authorization failure.

Recap

Throughout this article, you learned that:

  • 400 Bad Request is the status code to return when the form of the client request is not as the API expects.
  • 401 Unauthorized is the status code to return when the client provides no credentials or invalid credentials.
  • 403 Forbidden is the status code to return when a client has valid credentials but not enough privileges to perform an action on a resource.

You also learned that some security concerns might arise when your API exposes details that malicious attackers may exploit. In these cases, you may adopt a more restricted strategy by including just the needed details in the response body or even using the 404 Not Found status code instead of 403 Forbidden or 401 Unauthorized.

The following cheat sheet summarizes what you learned:

4xx HTTP status codes cheat sheet

Практически каждый сталкивался с ситуацией, когда в ответ на попытку открыть сайт, загрузить файл или приложение браузер выдает ошибку, например, 404 – Not Found. Каждая ошибка имеет свой код – трехзначное число, по которому можно определить, что именно произошло с запросом.

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

В этой статье мы разберем, какие виды ошибок зашифрованы в ответах и почему эти ошибки возникают.

Ошибки 4xx (400-414)

Ответы с кодами от 400 до 414 называют «ошибками на стороне клиента». Сервер дает понять, что что-то не так с самим запросом. Несмотря на классификацию, такие ошибки часто необходимо исправлять вебмастеру, а не пользователю. Их причиной могу быть неправильные настройки веб-сервера, скриптов сайта и т. п.

Ошибка 400

400 ошибка

Расшифровывается как «неверный запрос». Код ошибки 400 говорит о том, что запрос составлен неправильно, и сервер не может его понять. Если вы формируете запрос вручную, то, возможно, указали неверный URL. Но чаще всего запрос повреждается в результате технического сбоя или искажения данных при передаче. Это может произойти по нескольким причинам:

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

Ошибка 401

401 ошибка

Пояснение – «не авторизовано». Код ошибки 401 означает, что запрос направлен к защищенным ресурсам, для которых требуется аутентификация. Сервер ожидает получить логин и пароль, но в запросе их нет.

Ошибка 403

403 ошибка

Ответ означает «Запрещено». У пользователя нет прав на доступ к файлам или папкам по ссылке. Чаще всего вебмастеру исправлять ничего не нужно, все настроено верно. А вот пользователю необходимо проверить, правильно ли он указал адрес страницы. Иногда из-за опечатки ссылка ведет в запрещенную для просмотра папку, а не на страницу сайта.

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

Ошибка 404

404 ошибка

Самый популярный код ошибки – 404. Переводится как «не найдено». Такой ответ сервер отсылает, если не находит документ, файл или страницу по указанному пользователем адресу. Возможные причины:

  • страница, которая ранее размещалась по этой ссылке, перемещена или удалена навсегда. В этом случае для SEO-продвижения будет лучше, чтобы сервер отдавал ответы с кодами 410 или 301, а не обрабатывал запрос как 404 ошибку. Вебмастеру нужно об этом позаботиться;
  • страница недоступна временно из-за технических сбоев. В этом случае ничего делать не нужно за исключением устранения самих сбоев;
  • пользователь опечатался и ввел неправильный адрес страницы. Предпринимать ничего не нужно, 404 ответ в этом случае является корректным.

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

Ошибка 405

405 ошибка

Расшифровка – «метод не поддерживается». Для каждого типа операций (загрузка, передача данных) http-протокол предусматривает использование своего метода (GET, POST и т. д.). Ошибка означает, что запрос на сервер выполнен с использованием неправильного метода. От клиента здесь мало что зависит, причины – в настройках веб-сервера. Например:

  • происходит попытка обработки файлов с помощью метода POST, тогда как файлы этого формата должны обрабатываться непосредственно сервером Apache;
  • PHP-скрипт не справляется с большим объемом импорта данных, такую операцию лучше проводить другими способами. Время, отведенное на работу скрипта, превышается, и возникает ошибка 405;
  • некорректно настроено взаимодействие метода POST и модуля FastCGI.

Ошибка ​406

406 ошибка

Расшифровывается как «неприемлемо». Достаточно редкий ответ. Возникает, если сервер отдает информацию в виде, который не может распознать клиент (ваш браузер, или поисковый робот – если ошибка появляется при индексации страниц сайта). Чаще всего контент не распознается из-за сжатия или неподдерживаемого формата, иногда – неправильной кодировки.

Причина может быть в:

  • установленном на хостинге брандмауэре ModSecurity. Он блокирует запросы, которые считает зловредными. Иногда «под раздачу» попадают и вполне безобидные обращения. Часто ошибка 406 появляется после установки плагинов, кодов рекламных баннеров;
  • неверных заголовках Content-Type или Content-Encoding;
  • отправке в ответ на запрос поискового робота сжатого контента, тогда как требуются данные без сжатия.

Ошибка 407

407 ошибка

Пояснение переводится как «нужна аутентификация прокси». Возникает, если доступ в сеть или к определенным сайтам осуществляется через прокси-сервер, но в запросе нет данных для авторизации на нем. Пользователю нужно пройти аутентификацию. Обычно в тексте ответа с кодом 407 содержатся подсказки – как это сделать.

Ошибка 408

408 ошибка

Переводится как «истекло время запроса». Может возникнуть при передаче больших файлов, временного сбоя интернет-подключения, перегрузке сервера в данный момент и т. д. Чаще всего никаких действий от вебмастера не требуется, за исключением случаев, когда 408 ошибка появляется часто и есть подозрение, что сервер не справляется с текущей нагрузкой. Тогда стоит подумать об аренде дополнительных ресурсов хостинга или переходе на более подходящий тарифный план.

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

Ошибка 409

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

В некоторых случаях причиной может быть:

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

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

Ошибка 410

410 ошибка

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

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

Ошибка 411

411 ошибка

Расшифровывается как «требуется длина». Такая ситуация может возникнуть при передаче файлов определенными методами и выставленных ограничениях на передаваемый объем. В этих случаях серверу нужен параметр Content-Length, и он ожидает увидеть его в запросе.

Ошибка 412

412 ошибка

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

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

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

Ошибка 413

413 ошибка

Означает «слишком большое тело запроса». Объем запроса больше, чем веб-сервер может обработать. Чаще всего возникает при загрузке слишком большого файла. Ограничения по объему файлов могут быть выставлены по умолчанию (например, в Nginx это 1 МБ) или веб-мастером. Чтобы увеличить допустимый объем, измените настройки веб-сервера, директивы .htaccess или скрипты php, которые отвечают за загрузку.

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

  • загрузить файл меньшего размера (сжать изображение или видео);
  • архивировать загружаемый файл (при архивации будет применено сжатие и размер файла уменьшится);
  • не загружать несколько файлов одновременно​.

Ошибка 414

414 ошибка

Перевод пояснения – «URL слишком длинный». Сервер не может взять в обработку слишком длинный веб-адрес, и поэтому отклоняет запрос.

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

Часто наличие таких ошибок и переходов по длинным URL свидетельствуют о попытках взломать сайт.

Ошибки на стороне сервера 5xx

Следующая категория ошибок – на стороне сервера (с 500 по 560). Ответ с таким кодом говорит, что запрос корректный, и отвечает всем требованиям сервера, но сам сервер по своим причинам не может его обработать. Разберем коротко каждую из ошибок.

Ошибка 500

500 ошибка

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

Ошибка 501

501 ошибка

Означает «не реализовано». Сервер не понимает метод запроса, или не имеет функциональности для его обработки. Не стоит путать с 405 ошибкой – в ее случае метод просто используется неправильно (не к тем данным или неправильным способом), однако сервер его знает.

Ошибка 502

502 ошибка

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

  • блокировка запроса файерволом сервера;
  • нет связи между какими-то участками в пути следования запроса;
  • имеет место неправильная настройка сервера- «виновника» или конфликт настроек между серверами;
  • сервер неисправен и т. п.

Ошибка 503

503 ошибка

Пояснение переводится как как «сервис недоступен». Возможные причины:

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

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

Ошибка 504

504 ошибка

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

Ошибка 505

505 ошибка

Означает «версия http не поддерживается». Здесь причина понятна из названия ошибки. Такой ответ можно получить, если на сервере или клиенте работает устаревшее программное обеспечение, а также из-за некорректных настроек обработки запросов на стороне сервера.

Ошибка 506

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

Понравилась статья? Поделить с друзьями:
  • Ошибки epson lx 300
  • Ошибки hp 1200 индикация ошибок
  • Ошибки fragments на коммутаторе
  • Ошибки 401 404
  • Ошибки emotron vfx