# हेडर और कंटेंट नेगोशिएशन — रेस्ट एपीआई डिज़ाइन

Source: https://www.geekswithgeeks.com/hi/restapi/api-headers-negotiation

> क्लाइंट और सर्वर किसी संदेश के फ़ॉर्मैट पर कैसे सहमत होते हैं।

## Content-Type बनाम Accept

`Content-Type` प्राप्तकर्ता को बताता है कि **भेजी जा रही बॉडी** किस फ़ॉर्मैट में है (`application/json`)। `Accept` सर्वर को बताता है कि **क्लाइंट को वापस क्या फ़ॉर्मैट चाहिए**। ये अलग हो सकते हैं — एक क्लाइंट फ़ॉर्म डेटा भेज सकता है पर JSON रिस्पॉन्स माँग सकता है।

## एक सामान्य रिक्वेस्ट

हेडर वह मेटाडेटा ले जाते हैं जो URI और बॉडी को नहीं ले जाना चाहिए।

```http
POST /orders HTTP/1.1
Host: api.example.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer eyJhbGciOi...

{ "productId": 42, "qty": 2 }
```

## जो न परोस सकें उसे अस्वीकार करें

यदि क्लाइंट का `Accept` हेडर ऐसा फ़ॉर्मैट माँगे जो सर्वर सपोर्ट नहीं करता, तो चुपचाप कुछ और भेजने के बजाय `406 Not Acceptable` लौटाएँ।
