Recommend object URL should 301 to AP resource
-
Wanted to start a convo with @johnonolan@mastodon.xyz from Ghost and @angus@socialhub.activitypub.rocks from Discourse about AP resource discovery.
A common use case from fediverse users is to be linked out to a site, and attempt to "bring it in" to their local instance/app of choice. This is done by taking the browser URL and pasting it into their site/app's search bar, or equivalent.
For example:
- Ghost: https://activitypub.ghost.org/warp-factor-5-mr-sulu/
- Discourse: any forum topic
For context, last night I discovered that Ghost's latest blog post didn't make it into NodeBB, due to a bug on my end. I attempted to resolve it via URL but there was no AP resource at that URL. I ended up having to query the instance actor (which I happened to already know), and looking at the outbox.
To my knowledge there is no way to find a Discourse post or topic's AP resource ID without having a local Discourse account.
Would it be possible for you to send back an
HTTP 301 Moved Permanently
(or similar) if theAccepts
header contains one of the AP-related types?N.B. This probably has some overlap with @evan@cosocial.ca's HTTP Discovery Task Force, a 308 is recommended there.
-
@julian @johnonolan @angus @evan 301/308 are meant to permanently update old identifiers regardless of request headers. consider 303 See Other for content negotiation purposes, or consider rel=alternate type=… Link headers otherwise.
-
@julian @johnonolan @angus there's a whole task force for this. You've commented on it. Why does this need to be discussed?
-
@julian @johnonolan @angus @evan 301/308 are meant to permanently update old identifiers regardless of request headers. consider 303 See Other for content negotiation purposes, or consider rel=alternate type=… Link headers otherwise.
@trwnh @julian @johnonolan @angus there's a doc for this.
-
@julian @johnonolan @angus there's a whole task force for this. You've commented on it. Why does this need to be discussed?
@evan@cosocial.ca this was to ask the mentioned parties for Ghost and Discourse to implement.
I mentioned you to keep you in the loop because task forces achieve nothing without implementors doing the work.
-
Object IDs should really be retrievable by http GET. See section 3.2 of https://www.w3.org/TR/activitypub
-
Object IDs should really be retrievable by http GET. See section 3.2 of https://www.w3.org/TR/activitypub
@rimu@piefed.social yes, that's right. I'm specifically referring to object urls though, which tend to be more user facing.
-
@julian @johnonolan @angus @evan
Why 301 and not 302?
I am using 302. Probably chose it because everyone else was using it. -
@julian @johnonolan @angus @evan
Why 301 and not 302?
I am using 302. Probably chose it because everyone else was using it.@silverpill@mitra.social 302/307 is also fine by me. Probably safer from being accidentally cached and may be more appropriate in this situation.