400 খারাপ অনুরোধটি এখন আপনার ব্যবহারের ক্ষেত্রে সেরা HTTP / 1.1 স্থিতি কোড বলে মনে হচ্ছে।
আপনার প্রশ্নের (এবং আমার মূল উত্তর) সময়, আরএফসি 7231 কোনও জিনিস ছিল না; এই মুহুর্তে আমি আপত্তি জানালাম 400 Bad Request
কারণ আরএফসি 2616 বলেছে (জোর দিয়ে আমার):
অনুরোধটি ত্রুটিযুক্ত সিনট্যাক্সের কারণে সার্ভারের দ্বারা বোঝা গেল না ।
এবং আপনি যে অনুরোধটি বর্ণনা করেছেন তা সিন্ট্যাক্টিক্যালি বৈধ জেএসওএনকে সিন্ট্যাক্টিক্যালি বৈধ এইচটিটিপি-তে অন্তর্ভুক্ত করা হয়েছে এবং এইভাবে অনুরোধের সিনট্যাক্সের সাথে সার্ভারের কোনও সমস্যা নেই ।
তবে মন্তব্যে লি সাফারাইটের দ্বারা নির্দেশিত হিসাবে , আরএফসি 7231, যা আরএফসি 2616 কে অবিচ্ছিন্ন করে, সেই বিধিনিষেধকে অন্তর্ভুক্ত করে না :
৪০০ (খারাপ অনুরোধ) স্থিতি কোডটি ইঙ্গিত দেয় যে ক্লায়েন্ট ত্রুটি বলে মনে করা এমন কোনও কারণে (যেমন, বিকৃত অনুরোধ বাক্য গঠন, অবৈধ অনুরোধ বার্তা ফ্রেমিং, বা প্রতারণামূলক অনুরোধ রাউটিং) এর কারণে সার্ভার অনুরোধটি প্রক্রিয়া করতে বা করতে পারে না।
তবে, এই পুনরায় শব্দটির আগে (বা আপনি যদি এখনই প্রস্তাবিত স্ট্যান্ডার্ড হিসাবে আরএফসি 7231 সম্পর্কে প্রশ্ন করতে চান ), আপনার ব্যবহারের ক্ষেত্রে 422 Unprocessable Entity
একটি ভুল এইচটিটিপি স্থিতির কোড বলে মনে হচ্ছে না , কারণ আরএফসি 4918-এর ভূমিকা হিসাবে বলা হয়েছে:
যদিও HTTP / 1.1 দ্বারা প্রদত্ত স্থিতি কোডগুলি ওয়েবডিএভি পদ্ধতিগুলির দ্বারা দেখা বেশিরভাগ ত্রুটি শর্তটি বর্ণনা করার জন্য যথেষ্ট তবে কিছু ত্রুটি রয়েছে যা বিদ্যমান বিভাগগুলিতে ঝরঝরে পড়ে না। এই স্পেসিফিকেশনটি ওয়েবডিএভি পদ্ধতিগুলির জন্য উন্নত অতিরিক্ত স্থিতি কোডগুলি সংজ্ঞায়িত করে (বিভাগ 11)
এবং বর্ণনাটি422
বলে:
422 (অপ্রসারণযোগ্য সত্তা) স্থিতি কোডটির অর্থ সার্ভারটি অনুরোধ সত্তার সামগ্রীর ধরণটি বোঝে (অতএব একটি 415 (অসমর্থিত মিডিয়া প্রকার) স্থিতি কোড অনুপযুক্ত), এবং অনুরোধ সত্তার বাক্য গঠনটি সঠিক (সুতরাং 400) বাজে অনুরোধ ) স্থিতি কোড অনুপযুক্ত) তবে এতে থাকা নির্দেশাবলী প্রক্রিয়া করতে অক্ষম ছিল।
(সিনট্যাক্সের রেফারেন্সটি নোট করুন; আমি সন্দেহ করি 7231 আংশিকভাবে 4918 অচল করে ফেলেছি)
এই শব্দ ঠিক আপনার অবস্থা মতো কিন্তু ধরো যদি কোন সন্দেহ ছিল, এটা বলতে যায়:
উদাহরণস্বরূপ, যদি কোনও এক্সএমএল অনুরোধের শরীরে সু-গঠিত (যেমন সিন্টেক্সটিক্যালি সঠিক) থাকে তবে এই শব্দ ত্রুটিযুক্ত শর্তটি হতে পারে, এক্সএমএল নির্দেশাবলী se
("এক্সএমএল" কে "জেএসএন" দিয়ে প্রতিস্থাপন করুন এবং আমি মনে করি যে আমরা আপনার অবস্থার সাথে একমত হতে পারি)
এখন, কিছু আপত্তি করবে যে আরএফসি 4918 "ওয়েব বিতরণযোগ্য রচনাকরণ এবং সংস্করণকরণ (ওয়েবডিএভি) এর জন্য এইচটিটিপি এক্সটেনশনগুলি" সম্পর্কে এবং আপনি (সম্ভবত) ওয়েবডিএভি জড়িত কিছুই করছেন না যাতে এটি থেকে জিনিসগুলি ব্যবহার করা উচিত নয়।
মূল স্ট্যান্ডার্ডে একটি ত্রুটি কোড ব্যবহার করার মধ্যবর্তী পছন্দ দেওয়া হয়েছে যা স্পষ্টভাবে পরিস্থিতিটি আবৃত করে না, এবং কোনও এক্সটেনশান থেকে পরিস্থিতিটি ঠিক কী বর্ণনা করে, আমি পরবর্তীটি বেছে নেব।
তদ্ব্যতীত, আরএফসি 4918 ধারা 21.4 IANA হাইপারটেক্সট ট্রান্সফার প্রোটোকল (HTTP) স্থিতি কোড রেজিস্ট্রি বোঝায় , যেখানে 422 পাওয়া যাবে be
আমি প্রস্তাব দিচ্ছি যে কোনও HTTP ক্লায়েন্ট বা সার্ভারের জন্য এই রেজিস্ট্রি থেকে কোনও স্ট্যাটাস কোড ব্যবহার করা সম্পূর্ণ যুক্তিসঙ্গত, যতক্ষণ না তারা এগুলি সঠিকভাবে করে।
তবে HTTP / 1.1 হিসাবে, আরএফসি 7231 এর সারণি রয়েছে, সুতরাং কেবল ব্যবহার করুন 400 Bad Request
!