সংক্ষিপ্ত উত্তর
এটি কোনও এইচটিটিপি রেসপন্স কোড নয়, তবে এটি বা আনতে XMLHttpRequest
প্রতিক্রিয়ার স্থিতি বৈশিষ্ট্যের বৈধ মান হিসাবে হোয়াটাব্লুজি দ্বারা নথিভুক্ত করা হয়েছে ।
বিস্তৃতভাবে বলতে গেলে, এটির জন্য একটি ডিফল্ট মান ব্যবহৃত হয় যখন রিপোর্ট করার জন্য সত্যিকারের এইচটিটিপি স্থিতি কোড না থাকে এবং / অথবা অনুরোধটি প্রেরণ বা প্রতিক্রিয়া পাওয়ার সময় কোনও ত্রুটি ঘটে। এটির ক্ষেত্রে সম্ভাব্য পরিস্থিতিগুলি অন্তর্ভুক্ত করে তবে সীমাবদ্ধ নয়:
- অনুরোধটি এখনও প্রেরণ করা হয়নি, বা বাতিল করা হয়েছে।
- ব্রাউজারটি এখনও প্রতিক্রিয়া স্থিতি এবং শিরোনামগুলি পেতে অপেক্ষা করছে।
- অনুরোধের সময় সংযোগটি বাদ পড়েছে।
- অনুরোধ সময় শেষ হয়েছে.
- অনুরোধটির একটি অসীম পুনর্নির্দেশ লুপের মুখোমুখি।
- ব্রাউজারটি প্রতিক্রিয়ার স্থিতি জানে, তবে একই-উত্স নীতি সম্পর্কিত সুরক্ষা বিধিনিষেধের কারণে আপনি এটি অ্যাক্সেসের অনুমতি পাচ্ছেন না ।
দীর্ঘ উত্তর
প্রথমত, পুনরুক্তি করতে: 0 টি এইচটিটিপি স্থিতি কোড নয়। আরএফসি 7231 বিভাগ 6.1 এগুলির একটি সম্পূর্ণ তালিকা রয়েছে, এতে 0 অন্তর্ভুক্ত নেই এবং বিভাগ 6 এর অন্তর্ভুক্তি স্পষ্টভাবে জানিয়েছে যে
স্থিতি-কোড উপাদানটি একটি তিন-সংখ্যার পূর্ণসংখ্যার কোড
যা 0 নয়।
যাইহোক, 0 .status
এক্সএমএলএইচটিপিপিউইকুয়েস্ট অবজেক্টের বৈশিষ্ট্যের মান হিসাবে নথিভুক্ত করা হয়, যদিও সমস্ত প্রাসঙ্গিক বিবরণ সন্ধান করা কিছুটা জটিল। আমরা https://xhr.spec.hatwg.org/#the-status-attribute এ শুরু করি , .status
এট্রিবিউটটি ডকুমেন্টিং করে , যা কেবলমাত্র বলে:
status
অ্যাট্রিবিউট ফিরে আসবে প্রতিক্রিয়া 'র অবস্থা ।
এটি শূন্য এবং টোটোলজিকাল শোনাতে পারে তবে বাস্তবে এখানে তথ্য আছে! মনে রাখবেন যে এই ডকুমেন্টেশনটি এখানে কোনও প্রতিক্রিয়ার নয়, .response
কোনও অ্যাট্রিবিউট সম্পর্কে কথা বলছে XMLHttpRequest
, সুতরাং এটি আমাদেরকে বলে যে এক্সএইচআর অবজেক্টের স্থিতির সংজ্ঞাটি ফেচ স্পকে একটি প্রতিক্রিয়ার স্ট্যাটাসের সংজ্ঞা থেকে পিছিয়ে দেওয়া হয়েছে।
কিন্তু কি প্রতিক্রিয়া আপত্তি? আমরা আসলে যদি এখনও কোনও প্রতিক্রিয়া না পাই তবে কী হবে? "প্রতিক্রিয়া" শব্দের ইনলাইন লিঙ্কটি আমাদের https://xhr.spec.whatwg.org/# আপত্তিতে নিয়ে যায় , যা ব্যাখ্যা করে:
একটি XMLHttpRequest
ক্ষেত্রে সংশ্লিষ্ট প্রতিক্রিয়া আছে। না বলা না হলে এটি একটি নেটওয়ার্ক ত্রুটি ।
সুতরাং যার প্রতিক্রিয়া আমরা তার স্থিতি পাচ্ছি ডিফল্টভাবে একটি নেটওয়ার্ক ত্রুটি। এবং এক্সএইচআর অনুচ্ছেদে "সেট সাড়া প্রতিক্রিয়া" শব্দটি সর্বত্র অনুসন্ধান করে আমরা দেখতে পাচ্ছি যে এটি পাঁচটি স্থানে সেট করা হয়েছে:
আনার স্ট্যান্ডার্ডটি অনুসন্ধান করে আমরা দেখতে পাচ্ছি:
একটি নেটওয়ার্ক ত্রুটি একটি প্রতিক্রিয়া যার স্ট্যাটাস সর্বদা0
সুতরাং আমরা তাত্ক্ষণিকভাবে বলতে পারি যে আমরা যে কোনও ক্ষেত্রে এক্সএইচআর অবজেক্টে 0 এর একটি স্ট্যাটাস দেখতে পাব যেখানে এক্সএইচআর অনুমানটি বলেছে যে প্রতিক্রিয়াটি কোনও নেটওয়ার্ক ত্রুটিতে সেট করা উচিত। (মজার বিষয় হল, এটির ক্ষেত্রে দেহের স্রোতটি "ভুল" হয়ে যায়, যা ফেচ স্পেক আমাদের জানায় স্ট্যাটাস পাওয়ার পরে শরীরের পার্সিংয়ের সময় ঘটতে পারে - তাই তত্ত্বের মধ্যে আমি ধারণা করি যে কোনও এক্সএইচআর বস্তুর পক্ষে এর অবস্থান থাকা সম্ভব) 200 এ সেট করুন, তারপরে মেমরির বাইরে থাকা মেমরির ত্রুটি বা কোনও কিছু পেতে দেহটি পাওয়ার সময় এবং তাই এর স্থিতিটি আবার 0 এ পরিবর্তন করুন)
আমরা আনয়ন স্ট্যান্ডার্ডে আরও নোট করি যে আরও কয়েকটি প্রতিক্রিয়া ধরণের দম্পতি উপস্থিত রয়েছে যার অবস্থান 0 হিসাবে সংজ্ঞায়িত করা হয়েছে, যার অস্তিত্ব ক্রস-আর্জি অনুরোধ এবং একই-উত্স নীতি সম্পর্কিত:
একটি অস্বচ্ছ ফিল্টার প্রতিক্রিয়া হ'ল একটি পরিশোধিত প্রতিক্রিয়া যার ... স্থিতি 0
...
একটি অস্বচ্ছ-পুনর্নির্দেশ ফিল্টার করা প্রতিক্রিয়া হ'ল একটি পরিশোধিত প্রতিক্রিয়া যার ... স্থিতি 0
...
(এই দুটি প্রতিক্রিয়ার প্রকারের অন্যান্য বিভিন্ন বিবরণ বাদ দেওয়া হয়েছে)।
কিন্তু এই বহুদূরে, এছাড়াও আছে অনেক ক্ষেত্রে কোথায় আছেন তা পান অ্যালগরিদম একটি নেটওয়ার্ক ত্রুটির ফিরে যাওয়ার ব্রাউজারের জন্য আহ্বান (বরং XHR বৈশিষ্ট, যা আমরা ইতিমধ্যে দিকে তাকিয়ে করেছি তুলনায়)! প্রকৃতপক্ষে, "একটি নেটওয়ার্ক ত্রুটি ফিরিয়ে দিন" বাক্যাংশটি আনুন স্ট্যান্ডার্ডে 40 বার উপস্থিত হয় । আমি এখানে 40 জনকে তালিকাবদ্ধ করার চেষ্টা করব না, তবে আমি নোট করি যে সেগুলি অন্তর্ভুক্ত রয়েছে:
- যে ক্ষেত্রে অনুরোধের স্কিমটি অজানা
- আশ্চর্যজনকভাবে অস্পষ্ট নির্দেশনা "সন্দেহ হলে, একটি নেটওয়ার্ক ত্রুটি ফিরে দিন।" এফটিপি: // এবং ফাইল: // ইউআরএল পরিচালনা করার জন্য অ্যালগরিদমে
- অসীম পুনঃনির্দেশ: "যদি অনুরোধের পুনঃনির্দেশের গণনা বিশ হয়, একটি নেটওয়ার্ক ত্রুটি ফিরে দিন" "
- CORS- সম্পর্কিত ইস্যুগুলির একটি গোছা, যেমন "যদি httpRequest এর প্রতিক্রিয়া কল্পনা" কর্স না হয় এবং অনুরোধ এবং প্রতিক্রিয়া রিটার্নের সাথে ক্রস-অরিজিন রিসোর্স পলিসি চেক করা থাকে তবে একটি নেটওয়ার্ক ত্রুটি ফিরিয়ে দিন ""
- সংযোগ ব্যর্থতা: "যদি সংযোগ ব্যর্থ হয় তবে একটি নেটওয়ার্ক ত্রুটি ফিরে দিন" "
অন্য কথায়: যখনই সার্ভার থেকে 500 বা 400 এর মতো সত্যিকারের এইচটিটিপি ত্রুটি স্থিতির কোডটি পাওয়ার বাইরে অন্য কোনও কিছু ঘটে তখন আপনি ব্রাউজারে আপনার এক্সএইচআর অবজেক্ট বা আনুন প্রতিক্রিয়া অবজেক্টটিতে 0 এর একটি স্ট্যাটাস অ্যাট্রিবিউট দিয়ে শেষ করেন। বিশেষে গণনা করা সম্ভব নির্দিষ্ট কারণগুলির সংখ্যা বিস্তৃত।
শেষ অবধি: যদি আপনি কোনও কারণে বিশিষ্টটির ইতিহাসে আগ্রহী হন তবে মনে রাখবেন যে এই উত্তরটি ২০২০ সালে পুরোপুরি পুনরায় লেখা হয়েছিল এবং আপনি এই উত্তরটির পূর্ববর্তী সংশোধনটিতে আগ্রহী হতে পারেন , যা মূলত একই সিদ্ধান্তে পার্স করা হয়েছিল পুরানো (এবং আরও সহজ) এক্সএইচআর-এর জন্য ডাব্লু 3 স্পেস, এর আগে আরও আধুনিক এবং আরও জটিল হোয়াট-জি-জি স্পেসগুলি দ্বারা উত্তরগুলি উল্লেখ করা হয়েছে এর দ্বারা প্রতিস্থাপন করা হয়েছিল।