এটি একটি ধারণাগত প্রশ্ন।
আমার কাছে একটি ক্লায়েন্ট (মোবাইল) অ্যাপ্লিকেশন রয়েছে যা একটি রেস্টস্টুল ওয়েব পরিষেবার বিরুদ্ধে লগইন ক্রিয়াকে সমর্থন করা প্রয়োজন। যেহেতু ওয়েব পরিষেবাটি বিশ্রামযুক্ত, এটি ক্লায়েন্টের ব্যবহারকারীর কাছ থেকে ব্যবহারকারীর নাম / পাসওয়ার্ড গ্রহণ করে, পরিষেবার সাথে সেই ব্যবহারকারীর নাম / পাসওয়ার্ড যাচাই করে এবং তারপরে সমস্ত অনুরোধগুলির সাথে সেই ব্যবহারকারীর নাম / পাসওয়ার্ড প্রেরণ করার কথা মনে পড়ে।
এই ওয়েব পরিষেবায় অন্যান্য সমস্ত প্রতিক্রিয়া একটি জেএসএন ফর্ম্যাটে সরবরাহ করা হয়েছে।
প্রশ্নটি হ'ল, যখন আমি ওয়েব পরিষেবাটি কেবল কোনও প্রদত্ত ব্যবহারকারীর নাম / পাসওয়ার্ডটি বৈধ কিনা তা অনুসন্ধান করার জন্য জিজ্ঞাসা করি, যখন ওয়েব পরিষেবাটি সর্বদা আমাকে জেএসওন ডেটার সাথে তার সফল বা ব্যর্থ বলার সাথে প্রতিক্রিয়া জানায়, বা এটি ভাল শংসাপত্র এবং এইচটিটিপি-তে HTTP 200 ফিরিয়ে দেয়? খারাপ শংসাপত্রগুলিতে 401।
আমি জিজ্ঞাসা করার কারণটি হ'ল কিছু অন্যান্য RESTful পরিষেবাদি খারাপ শংসাপত্রগুলির জন্য 401 ব্যবহার করে এমনকি আপনি যখন কেবল জিজ্ঞাসা করছেন শংসাপত্রগুলি বৈধ কিনা। তবে, 401 টি প্রতিক্রিয়া সম্পর্কে আমার বোঝা হ'ল তারা এমন একটি সংস্থান উপস্থাপন করে যা বৈধ শংসাপত্র ছাড়াই আপনার অ্যাক্সেস থাকার কথা নয়। তবে লগইন সংস্থানটি যে কারও কাছে অ্যাক্সেসযোগ্য হওয়া উচিত কারণ লগইন সংস্থানটির পুরো উদ্দেশ্যটি আপনার শংসাপত্রগুলি বৈধ কিনা তা আপনাকে জানানো।
অন্য একটি উপায় রাখুন, এটি আমার কাছে অনুরোধের মতো বলে মনে হচ্ছে:
myservice.com/this/is/a/user/action
খারাপ শংসাপত্র সরবরাহ করা হলে 401 ফেরত আসা উচিত। তবে একটি অনুরোধ যেমন:
myservice.com/are/these/credentials/valid
401 কখনই ফেরানো উচিত না কারণ সেই নির্দিষ্ট ইউআরএল (অনুরোধ) বৈধ শংসাপত্রগুলির সাথে বা ছাড়াই অনুমোদিত।
আমি এই বিষয়ে কিছু উপায়ে কিছু মতামত শুনতে চাই। এটি পরিচালনা করার মানক উপায় কী এবং এটি যৌক্তিকভাবে পরিচালনার মানক উপায় কী?