Comprehensive List of HTTP Request Headers
HTTP रिक्वेस्ट हेडर क्लाइंट द्वारा सर्वर को भेजे जाने वाले मेटाडेटा हैं, जो रिक्वेस्ट के संदर्भ, प्राथमिकताएं, और अतिरिक्त जानकारी प्रदान करते हैं। नीचे HTTP/1.1 में आमतौर पर उपयोग होने वाले रिक्वेस्ट हेडर की सूची दी गई है, प्रत्येक का संक्षिप्त वर्णन सहित। मैंने सूची को यथासंभव व्यापक और संक्षिप्त रखा है।
HTTP रिक्वेस्ट हेडर की सूची और वर्णन
Accept
- वर्णन: यह बताता है कि क्लाइंट कौन से MIME प्रकार (जैसेtext/html, application/json) स्वीकार कर सकता है।
- उदाहरण: Accept: text/html, application/json
- उद्देश्य: सर्वर को क्लाइंट की पसंद के अनुसार रिस्पांस प्रारूप चुनने में मदद करता है।
Accept-Charset
- वर्णन: क्लाइंट द्वारा स्वीकार्य कैरेक्टर सेट (जैसेUTF-8, ISO-8859-1) को दर्शाता है।
- उदाहरण: Accept-Charset: UTF-8
- उद्देश्य: सर्वर को यह तय करने में मदद करता है कि डेटा किस कैरेक्टर एन्कोडिंग में भेजना है।
Accept-Encoding
- वर्णन: क्लाइंट द्वारा समर्थित कंप्रेशन प्रकार (जैसेgzip, deflate) को बताता है।
- उदाहरण: Accept-Encoding: gzip, deflate
- उद्देश्य: सर्वर डेटा को कंप्रेस करके बैंडविड्थ बचा सकता है।
Accept-Language
- वर्णन: क्लाइंट की पसंदीदा भाषा (जैसेen, hi) को दर्शाता है।
- उदाहरण: Accept-Language: en-US, hi;q=0.8
- उद्देश्य: सर्वर को भाषा-विशिष्ट सामग्री भेजने में मदद करता है।
Authorization
- वर्णन: क्लाइंट की प्रमाणीकरण जानकारी (जैसे API टोकन, बेसिक ऑथ) भेजता है।
- उदाहरण: Authorization: Bearer abc123
- उद्देश्य: सुरक्षित संसाधनों तक पहुंच के लिए यूजर की पहचान सत्यापित करता है।
Cache-Control
- वर्णन: कैशिंग व्यवहार को नियंत्रित करता है (जैसेno-cache, max-age)।
- उदाहरण: Cache-Control: no-cache
- उद्देश्य: क्लाइंट यह बताता है कि कैश्ड डेटा का उपयोग कैसे करना है या बाईपास करना है।
Connection
- वर्णन: कनेक्शन के व्यवहार को नियंत्रित करता है (जैसेkeep-alive, close)।
- उदाहरण: Connection: keep-alive
- उद्देश्य: यह तय करता है कि TCP कनेक्शन रिक्वेस्ट के बाद खुला रहे या बंद हो।
Content-Length
- वर्णन: रिक्वेस्ट बॉडी का आकार (बाइट्स में) बताता है।
- उदाहरण: Content-Length: 348
- उद्देश्य: सर्वर को यह समझने में मदद करता है कि कितना डेटा प्राप्त करना है।
Content-Type
- वर्णन: रिक्वेस्ट बॉडी का MIME प्रकार (जैसेapplication/json, multipart/form-data) बताता है।
- उदाहरण: Content-Type: application/json
- उद्देश्य: सर्वर को डेटा के प्रारूप को समझने में मदद करता है।
Cookie
- वर्णन: सर्वर द्वारा पहले सेट किए गए कुकीज़ को भेजता है।
- उदाहरण: Cookie: session_id=abc123
- उद्देश्य: सत्र प्रबंधन और यूजर ट्रैकिंग के लिए उपयोगी।
Host
- वर्णन: सर्वर का डोमेन नाम और पोर्ट (अनिवार्य हेडर)।
- उदाहरण: Host: example.com
- उद्देश्य: वर्चुअल होस्टिंग के लिए सर्वर को सही डोमेन की पहचान करने में मदद करता है।
If-Match
- वर्णन: संसाधन के ETag के साथ शर्त आधारित रिक्वेस्ट भेजता है।
- उदाहरण: If-Match: "abc123"
- उद्देश्य: यह सुनिश्चित करता है कि संसाधन अपडेट केवल तभी हो, जब ETag मेल खाए।
If-Modified-Since
- वर्णन: यह जांचता है कि संसाधन एक निश्चित तारीख के बाद बदला है या नहीं।
- उदाहरण: If-Modified-Since: Wed, 13 Apr 2025 10:00:00 GMT
- उद्देश्य: कैश वैधता जांचने और अनावश्यक डेटा ट्रांसफर से बचने के लिए।
If-None-Match
- वर्णन: ETag के आधार पर यह जांचता है कि संसाधन बदला है या नहीं।
- उदाहरण: If-None-Match: "abc123"
- उद्देश्य: कैश से डेटा उपयोग करने या सर्वर से ताज़ा डेटा मांगने के लिए।
If-Range
- वर्णन: रेंज रिक्वेस्ट के लिए ETag या तारीख के साथ शर्त जोड़ता है।
- उदाहरण: If-Range: "abc123"
- उद्देश्य: यह सुनिश्चित करता है कि रेंज रिक्वेस्ट तभी लागू हो, जब संसाधन नहीं बदला हो।
Origin
- वर्णन: क्रॉस-ऑरिजिन रिक्वेस्ट (CORS) के लिए रिक्वेस्ट की उत्पत्ति (origin) बताता है।
- उदाहरण: Origin: https://example.com
- उद्देश्य: सर्वर को यह तय करने में मदद करता है कि रिक्वेस्ट स्वीकार करना है या नहीं।
Pragma
- वर्णन: HTTP/1.0 के लिए कैश नियंत्रण (जैसेno-cache)।
- उदाहरण: Pragma: no-cache
- उद्देश्य: पुराने सिस्टम में कैश बाईपास करने के लिए; अबCache-Control ने इसे बदल दिया।
Range
- वर्णन: संसाधन का केवल एक हिस्सा (बाइट रेंज) मांगता है।
- उदाहरण: Range: bytes=0-999
- उद्देश्य: बड़े संसाधनों को आंशिक रूप से डाउनलोड करने के लिए (जैसे वीडियो स्ट्रीमिंग)।
Referer
- वर्णन: वह URL बताता है, जहां से रिक्वेस्ट शुरू हुआ।
- उदाहरण: Referer: https://example.com/page
- उद्देश्य: सर्वर को रिक्वेस्ट के स्रोत की जानकारी देता है (ट्रैकिंग/सुरक्षा के लिए)।
TE
- वर्णन: क्लाइंट द्वारा समर्थित ट्रांसफर एनकोडिंग (जैसेchunked) को बताता है।
- उदाहरण: TE: trailers, gzip
- उद्देश्य: सर्वर को यह बताता है कि क्लाइंट कौन से ट्रांसफर प्रारूप को हैंडल कर सकता है।
User-Agent
- वर्णन: क्लाइंट के सॉफ्टवेयर/डिवाइस की जानकारी (जैसे ब्राउज़र, OS) बताता है।
- उदाहरण: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/91.0
- उद्देश्य: सर्वर को क्लाइंट की क्षमताओं और अनुकूलन के लिए जानकारी देता है।
Upgrade
- वर्णन: प्रोटोकॉल को अपग्रेड करने का अनुरोध (जैसे WebSocket)।
- उदाहरण: Upgrade: websocket
- उद्देश्य: HTTP से दूसरे प्रोटोकॉल (जैसे WebSocket) में स्विच करने के लिए।
Via
- वर्णन: प्रॉक्सी या गेटवे की जानकारी जोड़ता है, जिसके माध्यम से रिक्वेस्ट गुजर रही है।
- उदाहरण: Via: 1.1 proxy.example.com
- उद्देश्य: रिक्वेस्ट के रास्ते को ट्रैक करने और डिबगिंग में मदद करता है।
X-Forwarded-For
- वर्णन: क्लाइंट का मूल IP पता बताता है, जब रिक्वेस्ट प्रॉक्सी के माध्यम से आता है।
- उदाहरण: X-Forwarded-For: 203.0.113.1
- उद्देश्य: सर्वर को क्लाइंट की वास्तविक पहचान बताता है।
X-Requested-With
- वर्णन: यह बताता है कि रिक्वेस्ट AJAX या अन्य प्रकार का है।
- उदाहरण: X-Requested-With: XMLHttpRequest
- उद्देश्य: सर्वर को यह समझने में मदद करता है कि रिक्वेस्ट ब्राउज़र से है या स्क्रिप्ट से।
नोट्स:
- श्रेणियां: रिक्वेस्ट हेडर को सामान्य रूप से सामग्री (content), कैशिंग, कंडीशनल, सुरक्षा, और प्रॉक्सी हेडर में बांटा जा सकता है। कुछ हेडर (जैसेCache-Control, Connection) सामान्य (general) हेडर भी हो सकते हैं, जो रिक्वेस्ट और रिस्पांस दोनों में उपयोग होते हैं।
- आधुनिक उपयोग: HTTP/2 और HTTP/3 में हेडर का प्रारूप बदल गया है (HPACK कम्प्रेशन), लेकिन उनके अर्थ वही रहते हैं।
- कस्टम हेडर: डेवलपर्सX- से शुरू होने वाले कस्टम हेडर बना सकते हैं, जैसे X-API-Key, जो विशिष्ट एप्लिकेशन के लिए होते हैं।
संक्षेप में:
यह सूची HTTP रिक्वेस्ट हेडर की व्यापक लेकिन संक्षिप्त जानकारी देती है। प्रत्येक हेडर का एक विशिष्ट उद्देश्य होता है, जैसे संसाधन प्राथमिकता, कैशिंग नियंत्रण, प्रमाणीकरण, या प्रॉक्सी जानकारी।
टिप्पणियाँ
एक टिप्पणी भेजें