सर्वर प्रतिक्रिया 416 Range Not Satisfiable
HTTP स्थिति कोड 416 (Range Not Satisfiable)
HTTP स्थिति कोड 416 एक सर्वर प्रतिक्रिया है, जो यह संकेत करता है कि अनुरोधित डेटा का क्षेत्र पूरा नहीं किया जा सकता है। यह तब होता है जब क्लाइंट एक संसाधन के एक भाग को अनुरोध करता है, लेकिन निर्दिष्ट क्षेत्र उपलब्ध डेटा की सीमाओं से परे होता है। इस लेख में, हम इस स्थिति कोड के उत्पन्न होने के कारणों, व्यावहारिक उदाहरणों और विभिन्न प्रोग्रामिंग भाषाओं में त्रुटियों के समाधान पर चर्चा करेंगे।
स्थिति कोड 416 के उत्पन्न होने के कारण
-
गलत निर्दिष्ट क्षेत्र:
क्लाइंट द्वारा निर्दिष्ट क्षेत्र में त्रुटियों के कारण, जैसे कि एक फ़ाइल के आकार से अधिक क्षेत्र का अनुरोध करना।
-
सर्वर पर डेटा की अनुपस्थिति:
ऐसी स्थिति जब संसाधन को हटा दिया गया हो या संशोधित किया गया हो, और अनुरोधित क्षेत्र उपलब्ध डेटा से बड़ा हो।
-
गलत हेडर:
कैसे गलत तरीके से सेट किए गए 'Range' हेडर इस त्रुटि का कारण बन सकते हैं।
व्यावहारिक उदाहरण
-
ऑडियो फ़ाइल का उदाहरण:
क्लाइंट एक क्षेत्र का अनुरोध करता है जो ऑडियो फ़ाइल की लंबाई से परे है। उदाहरण के लिए:
GET /audio.mp3 HTTP/1.1 Range: bytes=1000000-2000000
यह स्थिति कोड 416 का जवाब देगा।
-
चित्र का उदाहरण:
एक चित्र के भाग का अनुरोध करते समय यदि चित्र का आकार बदल गया है, तो क्लाइंट को नए आकार के बारे में जानकारी नहीं होती है। उदाहरण:
GET /image.jpg HTTP/1.1 Range: bytes=500-1500
यदि चित्र का आकार 1000 बाइट्स है, तो यह भी 416 का कारण बनेगा।
-
पाठ फ़ाइल का उदाहरण:
क्लाइंट एक पाठ फ़ाइल के लिए क्षेत्र का अनुरोध करता है, जो फ़ाइल की सीमाओं से बाहर है। उदाहरण:
GET /textfile.txt HTTP/1.1 Range: bytes=1000-1500
यह स्थिति कोड 416 का परिणाम होगा।
विभिन्न प्रोग्रामिंग भाषाओं में त्रुटि 416 का समाधान
-
Python (requests लाइब्रेरी का उपयोग करके):
नीचे दिया गया कोड अनुरोध भेजने से पहले क्षेत्र की जांच करता है:
import requests url = "http://example.com/audio.mp3" headers = {'Range': 'bytes=1000000-2000000'} response = requests.get(url, headers=headers) if response.status_code == 416: print("त्रुटि: अनुरोधित क्षेत्र संतोषजनक नहीं है।")
-
JavaScript (Fetch API का उपयोग करके):
नीचे दिए गए कोड में क्षेत्र का अनुरोध किया गया है और 416 प्रतिक्रिया को संभाला गया है:
fetch("http://example.com/image.jpg", { headers: { 'Range': 'bytes=500-1500' } }) .then(response => { if (response.status === 416) { console.log("त्रुटि: अनुरोधित क्षेत्र संतोषजनक नहीं है।"); } });
-
PHP (cURL का उपयोग करके):
नीचे दिया गया कोड 'Range' हेडर के साथ अनुरोध करता है और 416 स्थिति को संभालता है:
$ch = curl_init("http://example.com/textfile.txt"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Range: bytes=1000-1500')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 416) { echo "त्रुटि: अनुरोधित क्षेत्र संतोषजनक नहीं है।"; } curl_close($ch);
प्रोग्रामिंग भाषा | कोड का उद्देश्य |
---|---|
Python | क्षेत्र की जांच करना और 416 त्रुटि को संभालना |
JavaScript | क्षेत्र का अनुरोध करना और 416 स्थिति को संभालना |
PHP | Range हेडर के साथ अनुरोध करना और 416 त्रुटि को संभालना |