200
উঘ ... (309, 400, 403, 409, 415, 422) ... অনেকগুলি উত্তর অনুমান করার, তর্ক করার এবং মানক করার চেষ্টা করছে একটি সফল এইচটিটিপি অনুরোধের জন্য সেরা রিটার্ন কোডটি তবে একটি ব্যর্থ আরআরএসটি কল ।
HTTP স্থিতি কোড এবং REST স্থিতি কোডগুলি মিশ্রিত করা ভুল ।
যাইহোক, আমি অনেকগুলি প্রয়োগগুলি সেগুলিকে মিশ্রিত করতে দেখেছি এবং অনেক বিকাশকারী আমার সাথে একমত হতে পারে না।
এইচটিটিপি রিটার্ন কোডগুলি HTTP Request
নিজের সাথে সম্পর্কিত । হাইপারটেক্সট ট্রান্সফার প্রোটোকল অনুরোধটি ব্যবহার করে একটি আরইএসটি কল করা হয় এবং এটি নিজেই অনুরোধ করা আরআরইএসটি পদ্ধতির চেয়ে কম স্তরে কাজ করে। আরআরইএসটি হ'ল একটি ধারণা / পন্থা এবং এর আউটপুট একটি ব্যবসায়িক / যৌক্তিক ফলাফল, যখন এইচটিটিপি রেজাল্ট কোডটি পরিবহন ।
উদাহরণস্বরূপ, আপনি যখন / ব্যবহারকারীদের / কল করে তখন "404 পাওয়া যায় না" ফিরে আসা, কারণ এর অর্থ হতে পারে:
- ইউআরআই ভুল (HTTP)
- কোনও ব্যবহারকারীকে পাওয়া যায়নি (REST)
"403 নিষিদ্ধ / অ্যাক্সেস অস্বীকৃত" এর অর্থ হতে পারে:
- বিশেষ অনুমতি প্রয়োজন। ব্রাউজারগুলি ব্যবহারকারী / পাসওয়ার্ড জিজ্ঞাসা করে এটি পরিচালনা করতে পারে। (HTTP-)
- সার্ভারে ভুল অ্যাক্সেস অনুমতি কনফিগার করা হয়েছে। (HTTP-)
- আপনাকে অনুমোদন দেওয়া দরকার (REST)
এবং তালিকাটি '500 সার্ভার ত্রুটি' (একটি অ্যাপাচি / এনগিনেক্স এইচটিটিপি নিক্ষেপ ত্রুটি বা আরএসটি-তে একটি ব্যবসায় বাধা ত্রুটি) বা অন্যান্য এইচটিটিপি ত্রুটি ইত্যাদি দিয়ে চালিয়ে যেতে পারে ...
কোড থেকে, এটি ব্যর্থতার কারণ, একটি HTTP (পরিবহন) ব্যর্থতা বা একটি REST (যৌক্তিক) ব্যর্থতা কী তা বোঝা শক্ত।
যদি এইচটিটিপি অনুরোধটি শারীরিকভাবে সফলভাবে সম্পাদিত হয় তবে এটি সর্বদা 200 কোডটি ফিরিয়ে আনতে হবে, নির্বিশেষে রেকর্ড (গুলি) পাওয়া গেছে কি না। কারণ ইউআরআই সংস্থান খুঁজে পাওয়া যায় এবং এটি HTTP সার্ভার দ্বারা পরিচালিত হয়। হ্যাঁ, এটি একটি খালি সেট ফিরে আসতে পারে। এইচটিটিপি ফলাফল হিসাবে 200 দিয়ে কোনও খালি ওয়েব পৃষ্ঠা পাওয়া সম্ভব, তাই না?
এর পরিবর্তে আপনি 200 টি এইচটিপি কোড কিছু বিকল্পের সাথে ফিরে আসতে পারেন:
- কিছু ভুল হয়ে গেলে JSON ফলাফলটিতে "ত্রুটি" অবজেক্ট
- খালি JSON অ্যারে / বস্তু যদি কোনও রেকর্ড না পাওয়া যায়
- আরও ভাল হ্যান্ডলিংয়ের জন্য পূর্ববর্তী বিকল্পগুলির সাথে একত্রে একটি ফল ফলাফল / সাফল্যের পতাকা।
এছাড়াও, কিছু ইন্টারনেট সরবরাহকারী আপনার অনুরোধগুলি বাধা দিতে পারে এবং আপনাকে একটি 404 এইচটিটিপি কোড ফিরিয়ে দিতে পারে। এর অর্থ এই নয় যে আপনার ডেটা পাওয়া যায় নি, তবে এটি পরিবহন স্তরে কিছু ভুল।
উইকি থেকে :
জুলাই 2004 সালে, যুক্তরাজ্যের টেলিকম সরবরাহকারী বিটি গ্রুপ ক্লিনফিড কনটেন্ট ব্লকিং সিস্টেম মোতায়েন করেছে, যা ইন্টারনেট ওয়াচ ফাউন্ডেশন দ্বারা সম্ভাব্য অবৈধ হিসাবে চিহ্নিত সামগ্রীর জন্য কোনও অনুরোধে 404 ত্রুটি প্রদান করে। অন্যান্য আইএসপি একই পরিস্থিতিতে একটি HTTP 403 "নিষিদ্ধ" ত্রুটি প্রদান করে। সেন্সরশিপ গোপন করার উপায় হিসাবে নকল 404 ত্রুটি নিয়োগের অনুশীলন থাইল্যান্ড এবং তিউনিসিয়ায়ও প্রকাশিত হয়েছে। তিউনিসিয়ায়, যেখানে ২০১১ সালের বিপ্লবের আগে সেন্সরশিপ কঠোর ছিল, লোকেরা নকল ৪০৪ ত্রুটির প্রকৃতি সম্পর্কে সচেতন হয়েছিল এবং "অমার্শন ৪০৪" নামে একটি কাল্পনিক চরিত্র তৈরি করেছিলেন, যিনি "অদৃশ্য সেন্সর" উপস্থাপন করেন।
এই জাতীয় কিছু দিয়ে কেবল উত্তর দেবেন না কেন?
{
"result": false,
"error": {"code": 102, "message": "Validation failed: Wrong NAME."}
}
অনুরোধটি যৌক্তিকভাবে ব্যর্থ হলেও, গুগল সর্বদা তাদের জিওকোডিং এপিআই-তে 200 স্ট্যাটাস কোড হিসাবে ফেরত দেয়: https://developers.google.com/maps/docamentation/geocoding/intro#StatusCodes
ফেসবুক সর্বদা সফল এইচটিটিপি অনুরোধের জন্য 200 ফিরিয়ে দেয়, এমনকি যদি REST অনুরোধ ব্যর্থ হয়: https://developers.facebook.com/docs/ راف-api/used-ographic-api/error-handling
এটি সহজ, এইচটিটিপি স্থিতি কোডগুলি এইচটিটিপি অনুরোধের জন্য। REST এপিআই আপনার, আপনার স্থিতি কোডগুলি সংজ্ঞায়িত করুন।