2016-04-03 8 views
3

Это ошибки таймаута, но кто выбрал время в 408 против 504?В чем разница между ошибками HTTP 408 и 504?

От w3, 408 определяется как:

Клиент не произвел запрос в течение времени, что сервер был готов ждать. Клиент МОЖЕТ повторять запрос без каких-либо изменений в любое другое время.

... И 504:

Сервер, действуя в качестве шлюза или прокси-сервера, не получил своевременный ответ от вышестоящего сервера, указанного в URI (например, HTTP, FTP, LDAP) или какой-либо другой вспомогательный сервер (например, DNS), которому он должен был получить доступ при попытке выполнить запрос.

Так кто же является «клиентом» в 408, если не сервером-посредником? Если это фактический конечный пользователь, как сервер знает, ждать своего запроса, прежде чем они его сделали?

+0

Вы смотрите на очень устаревшую спецификацию; он был заменен RFC 7230 ... 5. –

+0

@JulianReschke Я не могу найти упоминания о 408 или 504 здесь: https://tools.ietf.org/html/rfc7230 - это то, о чем вы говорите? – alksdjg

+0

Коды состояния определены в RFC 7231 (спецификация была разделена на несколько RFC). –

ответ

2

Клиент является браузером или клиентским приложением. Сервер знает, что ждать запроса, потому что он принял соединение или уже прочитал часть запроса, скажем, заголовок или два.

1

Amazon документация говорит: http://docs.aws.amazon.com/en_en/elasticloadbalancing/latest/classic/ts-elb-error-message.html#ts-elb-errorcodes-http408

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

Mozilla документация говорит: https://developer.mozilla.org/en/docs/Web/HTTP/Status/408

Запрос запроса HTTP 408 Код состояния ответа eout означает, что сервер хотел бы отключить это неиспользуемое соединение. Он отправляется на незанятое соединение некоторыми серверами, даже без какого-либо предыдущего запроса клиентом.

 Смежные вопросы

  • Нет связанных вопросов^_^