Why is it considered best practice to use the content type header for API versioning? It always seemed like a hack to me. Url versioning makes much more sense if you consider that your API is a resource and the content of your API is a subresource. E.G. GET &#x2F;v1&#x2F;post&#x2F;1&#x2F;comment&#x2F;456 would be semantically equivalent to &quot;give me comment with id 456, which belongs to post with id 1, which belongs to api of version 1&quot;.