Сценарий таков: я реализую веб-сервис RESTful, который будет действовать как кеш для сущностей, хранящихся в удаленной системе Си. Одно из требований веб-службы заключается в том, что, когда удаленная система C находится в автономном режиме, она отвечает на запросы GET с последними кэшированными данными, но помечает ее как «устаревшую».
То, как я планировал пометить данные как устаревшие, возвращало код состояния HTTP, отличный от 200 (ОК). Я подумал об использовании 503 (служба недоступна), но я считаю, что это приведет к тому, что некоторые клиенты C # / Java HTTP будут генерировать исключения, а это косвенно заставит пользователей использовать исключения для потока управления.
Можете ли вы предложить более подходящий код статуса? Или я должен просто вернуть 200 и добавить флаг устаревания в тело ответа? Другим вариантом будет определение отдельного ресурса, который информирует о состоянии подключения, и позволяет клиентам обрабатывать это отдельно.