New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recommend a backoff strategy for discovering webmention endpoints #48
Comments
This sounds like a good informative (non-normative) guideline to provide. Off the top of my head I'd say 1 minute, then 1 hour, then 1 day. This allows for relatively quick recovery from temporary outages as well. I'd be interested in @bear's opinion on this. |
The code that i'm working on does a backoff of (minutes) 1, 5, 15, 60 and then it jumps all the way to a day |
Do you really mean backing off for the entire domain? Not just backing off the lookup of that specific target URL? Just because a single target at a domain doesn't support webmention that doesn't mean that the rest won't? Eg. if someone doesn't support webmention on their frontpage but they do on their posts, then if someone mentions the frontpage first then it may miss mentioning a post due to backoff? It's also not good if sites starts to advertise webmention support for all URL:s just to avoid getting caught in such an accidental backoff. That would make it hard to discover where webmention is actually actively supported. |
It would also be an attack vector: imagine if my https://service.com/myaccount/my-post purposefully doesn't support webmention, so you'll backoff from ever other webmention in that domain... |
Resolved during our f2f meeting:
|
If no webmention endpoint is discovered for a target, it would be best to avoid attempting to re-discover an endpoint for the domain until some amount of time has passed, to avoid making a bunch of unnecessary requests to the site. We should create some recommendations about when to throttle back trying to discover a webmention endpoint based on the target domain.
The text was updated successfully, but these errors were encountered: