Utilizando X-Rate-Limit API REST Server Protheus

Temos a necessidade de avaliar essa questão de usar x-rate-limit pelo fato dos consumidores de API REST Protheus poderem bombardear o Protheus com muitas requisições, causando congelamentos e quedas no Servidor.

Algumas dúvidas:

1) Existe alguma documentação oficial da TOTVS sobre como usar a opção X-Rate-Limit nas APIs REST Lado Server no Protheus?

2) Isso é algo que deveríamos tratar de forma personalizada nos Fontes REST ou existe alguma configuração do AppServer para tratar essa opção?

3) Haveria disponibilidade desse recurso no REST 2.0 e no REST TLPP?

Referências:

https://edgitalprojetos.com/glossario/o-que-e-x-ratelimit-limit/

https://stackoverflow.com/questions/16022624/examples-of-http-api-rate-limiting-http-response-headers

Carlos, existe um RFC sobre isso? Fiz uma pesquisa e não encontrei, hoje todos os headers que são tratados pelo REST TLPP, possuem uma RFC. Fora isso, em minha pesquisa, não encontrei nada sobre o assunto em todos os lugares que pesquisei.

Daniel, Obrigado pelo retorno.
Acredito que seja mais uma boa prática de segurança adotada pelo mercado que faz parte do padrão RESTFUL.
Mas vou tentar investigar mais sobre o assunto.

Links Adicionais:

https://medium.com/@guillaume.viguierjust/rate-limiting

Carlos, onde trabalho utilizamos uma solução api gateway externa: https://docs.konghq.com/gateway/latest/

Da uma olhada na documentação acredito que vai atender oque você precisa, infelizmente a totvs não fornece ainda essa tecnologia no appserver.

Obrigado Marcos. Na empresa que atuo também usam gateway externo, porém esse gateway também pode consumir além do limite se não houver controle. Em nosso caso ele é usado como um redirecionador e o agente externo pode exceder o consumo.

Encontrei a seguinte configuração antiga do AppServer que pode tratar essa questão.

Slow HTTP DoS (Denial os Service) - TOTVSTEC - TDN
https://tdn.totvs.com/pages/viewpage.action?pageId=341221249
ENABLEHTTPPROT Desabilita / Habilita o recurso. 0 = Desabilita / 1 = Habilita.
TIMEMSHTTPPROT Tempo em milissegundos.

Vamos validar isso.