LINUX.ORG.RU

Кто нибудь использует http заголовок Retry-After? Как?

 ,


0

2

https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/Retry-After

Retry-After это http заголовок в котором содержится целое число, которое означает задержку в секундах. Сервер сообщает клиенту что клиенту нужно выждать указанное количество секунд и повторить запрос. Это дополнительное поле которое может быть указано как минимум к таким http кодам как: 202, 429, 503, 301, 307

Как минимум в 2011 году он уже был.

Не ясна поддержка браузерами, будут ли они в каких-то http кодах использовать эту задержку прозрачно для js. Как например прозрачно для js происходит 301 redirect.

В системах со множеством серверов это актуально и хочется заставить делать клиента перезапрос с тем же методом прозрачно для клиента. Я пока запилил костыль в котором для каждого REST запроса у меня отдельная js функция в которой с помощью XMLHttpRequest я осуществляю запрос, проверяю http код возврата и если он скажем 202, то беру getResponseHeader('Retry-After') и с помощью setTimeout вызываю эту же функцию с этими же аргументами еще раз.

Юзаете те ли вы подобное, как именно и с каким http кодом?

★★

в по идее этот код был сделан для поисковиков, чтоб при проведении тех. работ информировать их, когда стоит обратиться для переиндексации страниц, чтоб не долбились через каждые 10 минут или не выкинули из запросов.

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

То есть, данный заголовок нужно отдавать только поисковым роботам? Но тогда их надо знать всех «поименно». Где найти такой актуальный список?

somequest1
()
Ответ на: комментарий от somequest1

отдавать можно любому клиенту, а клиент либо автоматически это применит либо передаст в js как сделает думаю большинство браузеров где его можно обработать. вопрос в комбинации с каким http кодом лучше и как

quester ★★
() автор топика
Ответ на: комментарий от somequest1

заголовок можно отдавать кому угодно. те кому оно не надо его проигнорируют.

vtVitus ★★★★★
()

Azure REST endpoint, например, использует этот заголовок в случае перегрузки клиентскими запросами - в MS зовут это «throttling». Клиенту надлежит подождать указанное время и повторить запрос.

illy
()
Ответ на: комментарий от illy

а не подскажите для каких http кодов они добавляют Retry-After? для 503, 429 или еще чего? может знаете где это поискать?

quester ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.