For example, when extracting from the URL, if an app does not add a version, we should add the default version (-SNAPSHOT), but we don't.
Another example: For the URL .../apps/myapp/versions/1.0/services/ping, we create the metadata entity application=myapp,version=1.0,type=service,program=ping. But for that same entity, the metadata client sends the URL .../apps/myapp/versions/1.0/type/Service/programs/ping. This assymetry can cause misbehavior: Strictly speaking, that URL does not conform to a known cdap entity, so iyt should be a custom entity. But the metadata HTTP handler, today, has logic to be able to map this to the know entity type of service.