Вы должны немедленно вернуться со статусом 202 Принято . Наряду с этим HTTP-спецификация согласуется с ответом Джонатана :
Сущность, возвращаемая с этим ответом, ДОЛЖНА включать в себя указание текущего состояния запроса и либо указатель на монитор состояния, либо некоторую оценку того, когда пользователь может ожидать выполнения запроса.
Вы можете установить статус (например, в сервлете), используя:
response.setStatus(HttpServletResponse.SC_ACCEPTED);
Где response
- это HttpServletResponse
, предоставленный для запроса.
Редактировать (re: comments):
Хорошие браузеры будут рассматривать любой статус 2XX как успешный и отображать контент, предоставленный в теле ответа пользователю, поэтому возвращение 202 не должно влиять на пользователей веб-браузера и то, как они видят страницы. Если браузер этого не делает, возможно, он нарушает Раздел 6.1.1 спецификации:
... приложения ДОЛЖНЫ понимать класс любого кода состояния, как указано в первой цифре, и обрабатывать любой нераспознанный ответ как эквивалент кода состояния x00 этого класса ...
Поскольку сервер Tomcat - это просто специализированный HTTP-сервер, вы должны стараться придерживаться спецификации как можно больше (то есть возвращать как можно более подходящий статус). Даже если вы хотите, чтобы ваш сайт был доступен для браузера, ничто не мешает другим клиентам (curl и т. Д.) Запрашивать страницу. Если вы предоставляете конкретные статусы, клиенты могут действовать более адекватно для ответов.