"আইটেমটি পাওয়া যায়নি" ত্রুটি পৃষ্ঠার জন্য সবচেয়ে উপযুক্ত এইচটিটিপি স্থিতির কোডটি কী


117

আমি জানতে আগ্রহী যে "আইটেমটির অস্তিত্ব নেই" পৃষ্ঠার জন্য সবচেয়ে উপযুক্ত এইচটিটিপি স্থিতি কোডটি কী।

যদি পৃষ্ঠাটি নিজেই উপস্থিত না থাকে তবে আমি স্পষ্টতই 404 ব্যবহার করব However তবে আমার পৃষ্ঠাগুলির একটিতে useridযুক্তি রয়েছে (এটি একটি "ব্যবহারকারী সম্পাদনা করুন" পৃষ্ঠা) এবং যদি প্রদত্ত ব্যবহারকারীর আইডি সহ কোনও ব্যবহারকারীর উপস্থিতি না থাকে তবে আমি একটি প্রদর্শন করছি ত্রুটি পৃষ্ঠা, তবে আমি একটি 4XX স্থিতির শিরোনামও পাঠাতে চাই (যেহেতু "200 ওকে" সত্যিই ফিট করে না)।

আমার ধারণা 404 ঠিক আছে কারণ এটি "পাওয়া যায় নি" এবং "ফাইলটি পাওয়া যায় নি", তবে আমি ভাবছি যে এই ক্ষেত্রে আরও ভাল কোড আছে কিনা।

উত্তর:


139

অস্পষ্ট-এর এইচটিটিপি ত্রুটি কোডগুলির সাথে অতিরিক্ত চালাক হওয়া খুব খারাপ ধারণা। ব্রাউজারগুলি মাঝে মাঝে অসহায়ভাবে প্রতিক্রিয়া দেখায় যা পরিস্থিতি বিস্মৃত করে। 404 সঙ্গে লাঠি।


14
আপনাকে ভাল পরামর্শ দেওয়ার জন্য অভিশাপ :( ওসিডি 404 এ সমস্ত কিছু সত্য নয় যদিও
কেরি কেন্ডাল

16
একটি খারাপ ইউআরআই বনাম সত্তা খুঁজে পাওয়া যায় না পার্থক্যের জন্য 404 ত্রুটি কিছুটা দ্ব্যর্থক। 404 গুলি ছিন্ন করতে একটি নতুন স্ট্যান্ডার্ড কোড প্রয়োজন।
ব্রেকসকেটার

2
আমি একটি অ্যামবিগাস স্থিতি কোড ফেরত দেওয়ার চেয়ে 204 খালি সামগ্রী ফিরে আসা পছন্দ করি
এইচএসএসএলএইচ

46

একটি 404 রিটার্ন কোডের অর্থ আসলে 'রিসোর্স পাওয়া যায় নি', এবং এমন কোনও সত্তার জন্য প্রযোজ্য যার জন্য অনুরোধ করা হয়েছিল তবে সন্তুষ্ট নয়। সুতরাং এটি পৃষ্ঠাগুলি, পৃষ্ঠাগুলির সাবসেকশনগুলি এবং পৃষ্ঠায় বিদ্যমান যে কোনও আইটেমের রেন্ডার করার জন্য নির্দিষ্ট অনুরোধ রয়েছে তার জন্য এটি সমানভাবে ভাল কাজ করে।

সুতরাং 404 এই পরিস্থিতিতে ব্যবহার করার জন্য সঠিক কোড। মনে রাখবেন না প্রযোজ্য 'সার্ভার পাওয়া যায়নি', যা একটি ভিন্ন পরিস্থিতি যা একটি অনুরোধ জারি করা হয় কিন্তু এ সব বললেন যেমন বললেন কিন্তু রিসোর্স অনুরোধ ছাড়া বিরোধিতা নয়।


1
আমি যদি আইডি = 1 দিয়ে foo অবজেক্ট আপডেট করতে চাই এবং এই আইডি সহ ডাটাবেসে কোনও ফু নেই?
ভালিজন

1
এই দৃশ্যে, আপনার সমস্যা সমাধানের ক্ষেত্রে একযোগে সমস্যা রয়েছে: আপনি যদি আইডি = 1 দিয়ে কোনও বস্তুটি পুনরুদ্ধার করেন এবং আপনি যখন এটি আপডেট করার চেষ্টা করেন তখন এটি আর উপস্থিত থাকে না, তবে অন্য কোনও থ্রেড বা প্রক্রিয়া আপনার লকটিকে উপেক্ষা করেছে (বা আপনি সেট করেন নি) এবং এটি মোছা। এটা ভালো না. বিকল্পভাবে, আপনি যদি অজানা আইডি = এনটি আপডেট করার চেষ্টা করছেন তবে এটি উপস্থিত রয়েছে কিনা তা পরীক্ষা না করে আপনি নিজের আপডেট যুক্তিটিতে একটি বৈধতা পদক্ষেপ মিস করছেন, এটিও ভাল নয়।
আট-বিট গুরু


8

এটি নির্ভর করে যদি ইউজারিড কোনও সংস্থান সনাক্তকারী বা অতিরিক্ত পরামিতি হয়। যদি তা হয় তবে 404 ফিরিয়ে দেওয়া ঠিক আছে যদি না আপনি অন্য কোডের মতোই ফিরে আসতে পারেন

400 (bad request) ‐ indicates a bad request
অথবা
412 (Precondition Failed) e.g. conflict by performing conditional update

নিখরচায় আরও তথ্যের জন্য ইনকিউউ এক্সপ্লোরারস: রিস্ট বই book


1
"অতিরিক্ত প্যারামিটার" বলার মাধ্যমে আপনি কী শিরোনামের অনুরোধের অনুরোধ করছেন? অন্যথায় আমি 412 ব্যবহার করার পরামর্শ দেব না। "412 (পূর্বশর্ত ব্যর্থ) স্থিতি কোডটি ইঙ্গিত দেয় যে সার্ভারে পরীক্ষা করার সময় অনুরোধ শিরোনাম ক্ষেত্রগুলিতে এক বা একাধিক শর্তগুলি মিথ্যা হিসাবে মূল্যায়ন করা হয়।"
oferei
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.