Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

А можно примеров? #9

Open
Valt25 opened this issue Mar 22, 2024 · 1 comment
Open

А можно примеров? #9

Valt25 opened this issue Mar 22, 2024 · 1 comment

Comments

@Valt25
Copy link

Valt25 commented Mar 22, 2024

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

@katurov
Copy link

katurov commented Mar 22, 2024

  1. Вызов вне своего кластера. Например: не тот регион в CDN; трафик через VPN.
  2. Запрос данных вне домена ответственности, но все еще возможный: я приводил ранее аналогию с HTTP 418 I'm a teapot, но в данном случае с реверансом, что современные машины могут приготовить и кофе. В каком-то смысле близко к HTTP 203, но сервер не сомневается в своих данных.
  3. Результат обработки на неполных данных, но который соответствует ожидаемому: допустим, вызов со страницы "Карточка объекта" не по ключу, а по поиску, но результат поиска - 1 объект, который модно вернуть для рендера. Это похоже на HTTP 412, но как и в случае 418 не является отказом обслуживания
  4. Например, это может быть аналог HTTP 417, но опять же - без отказа в обслуживании,
  5. HTTP 422: когда контент не получается обработать, но можно отдать в сыром виде для обработки на стороне клиента
  6. Уместно выдать такой ответ в случае хранения противоречивых данных, но определенных клиентом
  7. Уместно отдать такой ответ для данных, которые закешированы слишком давно, но сервер полагает, что ответ может еще представлять интерес (например, геоданные меняются редко, возможно, последняя верификация была неудачной, и весь кеш будет помечен этим статусом).

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants