Negocjowanie zawartości

Specyfikacja HTTP (RFC 2616) definiuje negocjowanie zawartości jako "proces selkcji najlepszej reprezentacji odpowiedzi z serwera, gdy dostępnych jest kilka reprezentacji"
Podstawowy mechanizm negocjacji zawartości w HTTP obejmuje następujące nagłówki:
  • Accept: Jaki typ mediów jest akceptowalny jako odpowiedź (w naszym przypadku "application/json" lub "application/xml")
  • Accept-Charset: Jaki zestaw znaków jest akceptowalny, np: UTF-8 lub ISO 8859-1
  • Accept-Encoding: Jakie kodowanie zawartości jest akceptowane, np gzip
Przykładowo, klient może wysłać nast. zapytanie do serwera:
http://localhost.:21069/api/products/1 HTTP/1.1
Host: localhost.:21069
Accept: application/json
W odpowiedzi otrzyma:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 57
Connection: Close

{"Id":1,"Name":"Gizmo","Category":"Widgets","Price":1.99}