Встречается на собеседованиях • сегодня

При какой HTTP ошибке можно повторять запрос

Повторять запрос можно при 5xx (серверные ошибки) и некоторых 4xx (клиентские ошибки).

  • 5xx (Server Errors):

    • 500 (Internal Server Error)
    • 502 (Bad Gateway)
    • 503 (Service Unavailable)
    • 504 (Gateway Timeout)
      Эти ошибки часто временные, и повторный запрос может сработать.
  • 4xx (Client Errors):

    • 429 (Too Many Requests) – если Retry-After в заголовках.
    • 408 (Request Timeout) – клиент не отправил запрос вовремя.

Пример с экспоненциальной задержкой:

python
import requests
import time

def make_request(url, max_retries=3):
    for attempt in range(max_retries):
        try:
            response = requests.get(url)
            if response.status_code < 500:
                return response
        except requests.exceptions.RequestException:
            pass
        delay = (2 ** attempt) * 0.1  # exponential backoff
        time.sleep(delay)
    return None

Нельзя повторять:

  • 400 (Bad Request) – клиент отправил невалидный запрос.
  • 401 (Unauthorized) – без исправления авторизации.
  • 403 (Forbidden) – доступ запрещен.
  • 404 (Not Found) – ресурс не существует.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы