-
Notifications
You must be signed in to change notification settings - Fork 70
Description
URL's are:
- always resolvable
- always unique
- often meaningful. But not always.
We often convey structure using URLs. In #556 , I introduced a way to make sure that the parent is present in the URL. This is useful, but can also lead to very long URLs for large content.
We could also allow new resources creates at /uuid or /nanoid as long as their path conforms to one of these specs.
With these random character IDs, we're sure that they are not meaningful, which means that users cant accidentally derive wrong information about them, or depend on their paths.
But I wonder - can we validate these ids so they are in fact random strings of characters? They will be created on the client.
In the case of NanoID, I don't think that's possible. That means evil-string999 is a valid nanoid.
UUID contains a dates encoded in it, so it always looks random.
are there other options?
Consideration
- This means that we can't find the parent resource by looking at the path. This has major implications for how fast we can resolve things / check rights.