Server-driven content negotiation