If a resource has multiple representations, that is potentially OK, but also very close to what an inconsistent resource would do.
It is probably best to avoid content negotiation for resources that need consistency, but that might constrain evolution of protocols through the use of different media types. It would be unfortunate if the only evolution option is through the use of different URLs, if only because that creates similar problems to content negotiation in that the choice of which URL to use is something an adversary might seek to exploit.
It seems possible to ensure that - for a given request profile - the resource is consistent, but it would require some care. Putting in place some constraints on usage might make it possible to have content negotiation or a choice of URLs without creating an exploitable variation.
If a resource has multiple representations, that is potentially OK, but also very close to what an inconsistent resource would do.
It is probably best to avoid content negotiation for resources that need consistency, but that might constrain evolution of protocols through the use of different media types. It would be unfortunate if the only evolution option is through the use of different URLs, if only because that creates similar problems to content negotiation in that the choice of which URL to use is something an adversary might seek to exploit.
It seems possible to ensure that - for a given request profile - the resource is consistent, but it would require some care. Putting in place some constraints on usage might make it possible to have content negotiation or a choice of URLs without creating an exploitable variation.