В чем разница между ошибками HTTP 408 и 504?

Это ошибки тайм-аута, но у кого тайм-аут в 408 против 504?

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

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

... а 504 это:

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

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

2 ответа

Решение

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

ДокументацияAmazon сообщает: http://docs.aws.amazon.com/en_en/elasticloadbalancing/latest/classic/ts-elb-error-message.html

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

ДокументацияMozilla сообщает: https://developer.mozilla.org/en/docs/Web/HTTP/Status/408

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

Другие вопросы по тегам