सामग्री

    सर्वर प्रतिक्रिया 416 Range Not Satisfiable

    HTTP स्थिति कोड 416 (Range Not Satisfiable)

    HTTP स्थिति कोड 416 एक सर्वर प्रतिक्रिया है, जो यह संकेत करता है कि अनुरोधित डेटा का क्षेत्र पूरा नहीं किया जा सकता है। यह तब होता है जब क्लाइंट एक संसाधन के एक भाग को अनुरोध करता है, लेकिन निर्दिष्ट क्षेत्र उपलब्ध डेटा की सीमाओं से परे होता है। इस लेख में, हम इस स्थिति कोड के उत्पन्न होने के कारणों, व्यावहारिक उदाहरणों और विभिन्न प्रोग्रामिंग भाषाओं में त्रुटियों के समाधान पर चर्चा करेंगे।

    416 - Range Not Satisfiable

    स्थिति कोड 416 के उत्पन्न होने के कारण

    1. गलत निर्दिष्ट क्षेत्र:

      क्लाइंट द्वारा निर्दिष्ट क्षेत्र में त्रुटियों के कारण, जैसे कि एक फ़ाइल के आकार से अधिक क्षेत्र का अनुरोध करना।

    2. सर्वर पर डेटा की अनुपस्थिति:

      ऐसी स्थिति जब संसाधन को हटा दिया गया हो या संशोधित किया गया हो, और अनुरोधित क्षेत्र उपलब्ध डेटा से बड़ा हो।

    3. गलत हेडर:

      कैसे गलत तरीके से सेट किए गए 'Range' हेडर इस त्रुटि का कारण बन सकते हैं।

    व्यावहारिक उदाहरण

    1. ऑडियो फ़ाइल का उदाहरण:

      क्लाइंट एक क्षेत्र का अनुरोध करता है जो ऑडियो फ़ाइल की लंबाई से परे है। उदाहरण के लिए:

      GET /audio.mp3 HTTP/1.1
      Range: bytes=1000000-2000000

      यह स्थिति कोड 416 का जवाब देगा।

    2. चित्र का उदाहरण:

      एक चित्र के भाग का अनुरोध करते समय यदि चित्र का आकार बदल गया है, तो क्लाइंट को नए आकार के बारे में जानकारी नहीं होती है। उदाहरण:

      GET /image.jpg HTTP/1.1
      Range: bytes=500-1500

      यदि चित्र का आकार 1000 बाइट्स है, तो यह भी 416 का कारण बनेगा।

    3. पाठ फ़ाइल का उदाहरण:

      क्लाइंट एक पाठ फ़ाइल के लिए क्षेत्र का अनुरोध करता है, जो फ़ाइल की सीमाओं से बाहर है। उदाहरण:

      GET /textfile.txt HTTP/1.1
      Range: bytes=1000-1500

      यह स्थिति कोड 416 का परिणाम होगा।

    विभिन्न प्रोग्रामिंग भाषाओं में त्रुटि 416 का समाधान

    1. 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("त्रुटि: अनुरोधित क्षेत्र संतोषजनक नहीं है।")
    2. JavaScript (Fetch API का उपयोग करके):

      नीचे दिए गए कोड में क्षेत्र का अनुरोध किया गया है और 416 प्रतिक्रिया को संभाला गया है:

      fetch("http://example.com/image.jpg", {
                  headers: {
                      'Range': 'bytes=500-1500'
                  }
              })
              .then(response => {
                  if (response.status === 416) {
                      console.log("त्रुटि: अनुरोधित क्षेत्र संतोषजनक नहीं है।");
                  }
              });
    3. 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 त्रुटि को संभालना
    HTTP स्थिति कोड 416 संसाधनों के लिए अनुरोधित डेटा के क्षेत्र की अनुपलब्धता का संकेत देता है। इस स्थिति से बचने के लिए, आवश्यक है कि क्षेत्र को सही ढंग से निर्दिष्ट किया जाए और संभावित त्रुटियों को क्लाइंट पक्ष पर संभाला जाए।