"পরিকল্পনার সীমা ছাড়িয়ে গেছে" প্রতিক্রিয়াটির জন্য প্রস্তাবিত HTTP স্থিতি কোড code


24

আমি এমন একটি প্রকল্পের জন্য একটি REST এপিআই ডিজাইন করছি যেখানে ব্যবহারকারীরা সর্বদা বেশ কয়েকটি "পরিকল্পনার" একটির মধ্যে থাকেন - প্রতিটি পরিকল্পনা কিছু সংস্থান সীমা নির্ধারণ করে, যেমন কোনও অ্যাকাউন্টে থাকা ব্যবহারকারীদের সর্বাধিক সংখ্যা বা তারা আপলোড করতে পারে এমন সর্বোচ্চ সংখ্যার ডেটা। এই সীমাগুলির একটিতে পৌঁছে গেলে ব্যবহারকারীরা আরও সংস্থান পেতে তাদের পরিকল্পনাগুলি (মূলত অর্থ প্রদান) আপগ্রেড করতে পারেন।

আমি একটি বিশেষ স্থিতি কোড ফিরিয়ে দিতে চাই যেখানে অ্যাকাউন্ট রিসোর্স সীমাবদ্ধতার কারণে কর্মটি সম্পাদন করা যায় না এমন পরিস্থিতি নির্দেশ করে এবং পরিকল্পনার আপগ্রেড করা এটি সমাধান করবে - উদাহরণস্বরূপ যদি কোনও ব্যবহারকারী তাদের স্টোরেজ ক্ষমতাটির 100% ব্যবহার করে এবং একটি অতিরিক্ত ফাইল আপলোড করার চেষ্টা করে , তারা এই প্রতিক্রিয়া পাবেন।

প্রার্থীরা হলেন, আইএমএইচও:

  • 403 Forbidden - তবে, আমি এই কেস এবং অন্যান্য ক্ষেত্রে যেখানে ব্যবহারকারী কেবল এই ক্রিয়াটি সম্পাদন করার অনুমতি অনুভব করে তার মধ্যে পার্থক্য করতে চাই।

  • 401 Unauthorized - একটি ভাল ধারণা নয়, আমরা এটি প্রমাণীকরণ সম্পর্কিত সমস্যার জন্য ব্যবহার করছি।

  • 402 Payment Required - ধরণের ধারণা তৈরি করে তবে আমি একটি মানক না হওয়া সত্ত্বেও সংরক্ষিত স্থিতি কোডটি ব্যবহারে উদ্বিগ্ন

  • এর চেয়ে কম মানক 423 Lockedযেমন এর সম্ভাবনা কম, আমরা এটি ভবিষ্যতে অন্য যে কোনও কিছুর জন্য ব্যবহার করব

অন্য বিকল্পটি হ'ল খুব মানসম্পন্ন কিছু নিয়ে যাওয়া যেমন 403প্রতিক্রিয়া বডিতে ত্রুটির বৈশিষ্ট্যগুলি নির্দেশ করে।

আমি ভাবছি যে আপনি কোন পদ্ধতির বিশ্বাস করেন (ক) দীর্ঘমেয়াদে সবচেয়ে ভাল কাজ করবে এবং (খ) বিশ্রামের নীতিগুলিকে আরও সুন্দরভাবে আঁকড়ে ধরবে।


1
HTTP 507 অপর্যাপ্ত স্টোরেজ রয়েছে।
কোডসইনচওস

আরএফসি 4৩৩১ প্রাসঙ্গিক হতে পারে, এটি ওয়েবডিএভি-র কোটার সীমা সম্পর্কে।
কোডসইনচওস

@ কোডস ইনচোস এটি 5XX ত্রুটি হওয়া উচিত নয় এবং স্টোরেজটি কেবল একটি উদাহরণ ছিল (আসল প্রকল্পটি আসলে স্টোরেজ সম্পর্কে নয়, এটি ছিল একটি ভাল উপমা)।
শেভ্রন

এইচটিটিপি 429 অনেক অনুরোধের প্রতিক্রিয়া স্থিতি কোড নির্দেশ করে যে ব্যবহারকারী একটি নির্দিষ্ট পরিমাণে প্রচুর অনুরোধ প্রেরণ করেছে
এক্সট্রাক্টেবল.কম

উত্তর:


17

আমি মনে করি 403 একমাত্র যুক্তিসঙ্গত প্রতিক্রিয়া, যদিও 405 পদ্ধতি অনুমোদিত নয় বা 409 সংঘাত গ্রহণযোগ্য হতে পারে, আমি মনে করি না যে হয় 403 এর মতো ভাল যা বলা হয়েছে:

সার্ভারটি অনুরোধটি বুঝতে পেরেছিল তবে তা পূরণ করতে অস্বীকার করছে। অনুমোদন সাহায্য করবে না এবং অনুরোধটির পুনরাবৃত্তি করা উচিত নয়। যদি অনুরোধের পদ্ধতিটি সঠিক না হয় এবং সার্ভারটি কেন অনুরোধটি পূরণ করা হয়নি তা জনসাধারণকে জানাতে চায়, এটি সত্তার মধ্যে প্রত্যাখারের কারণ বর্ণনা করতে হবে

আপনি যদি 403 ত্রুটিটি ফিরিয়ে দেন তবে এটিতে কেন এই সংস্থানটি অস্বীকার করা হয়েছিল সে সম্পর্কে কিছু তথ্য অন্তর্ভুক্ত থাকবে - অবৈধ অনুমতি কেবল সর্বাধিক সাধারণ ঘটনা, সীমা অতিক্রম করা বেশি নয় - আপনার অনুমতি নেই কারণ আপনার সীমা অতিক্রম করা হয়েছিল।


22

আমি বিশ্বাস করি 403 টি ভুল, কারণ 403 এমন পরিস্থিতিতে রয়েছে যেখানে আপনি সংস্থানটিতে অ্যাক্সেস পাচ্ছেন না এবং অ্যাক্সেস পাওয়ার কোনও উপায় নেই। আপনার গ্রাহকদের জন্য অবশ্যই অ্যাক্সেস পাওয়ার একটি উপায় রয়েছে: অর্থ প্রদান করুন।

401 সত্যই ভুল, কারণ আপনি এটি কেবল প্রমাণীকরণের জন্যই ব্যবহার করছেন না, তবে এটি সেখানে রয়েছে is

যেহেতু আপনি একটি এপিআই লিখছেন, আমি ধরে নিয়েছি যে অন্য কাউকে কোড লিখতে হবে যা এপিআই ব্যবহার করে এবং সেই ব্যক্তিকে আপনার এপিআই স্পেসটি পড়তে হবে। আপনি 429 "অনেক বেশি অনুরোধ" দিয়ে যেতে পারেন। এটি সাধারণত হার সীমাবদ্ধ করার উদ্দেশ্যে হয় (যেখানে কোনও ক্লায়েন্ট প্রতিদিন 100 টি অনুরোধ করতে পারে, উদাহরণস্বরূপ), তবে যুক্তিযুক্তভাবে আপনার পরিস্থিতির ক্ষেত্রে প্রযোজ্য। 402 (অর্থ প্রদানের পরিমাণও) গ্রহণযোগ্য হবে, আমি মনে করি। লোকেরা আপনার API টি ব্যবহার করার জন্য কী কী সরঞ্জাম ব্যবহার করবে বলে নির্ভর করে। 429 এর ঝুঁকি রয়েছে যে একটি চালাক সরঞ্জাম প্রতি মিনিটে / ঘন্টা / দিনে কম অনুরোধ প্রেরণ করার চেষ্টা করে এবং কখনই সফল হয় না।

বিটিডাব্লু https://tools.ietf.org/html/rfc6585 অনুসারে 429 ত্রুটিতেও এইচটিএমএল বার্তা থাকা উচিত যা সমস্যার প্রকৃতি বর্ণনা করে, তাই যদি আপনার সরবরাহ করা হয় তবে ব্যবহারকারীকে আসলে সমস্যাটি কী তা বলা হবে তা একটি ভাল সম্ভাবনা রয়েছে আপনার প্রতিক্রিয়া যে তথ্য।


1
402একটি বিকল্প তবে আমি 429আসল হার সীমাবদ্ধ উদ্দেশ্যে সংরক্ষণ করতে পছন্দ করি যা আমরা ভবিষ্যতে যুক্ত করতে পারি
শেভ্রন

আমার কাছে আরও ভাল লাগা403 থাকলেও গুগল ব্যবহার করছে বলে মনে হচ্ছে 429। আমি HTTP ক্লায়েন্টগুলির কিছু কাস্টম বাস্তবায়ন দেখেছি যা কিছু অদ্ভুত জিনিস করেছে 401এবং 403(উদাহরণস্বরূপ কোনও ওয়েবসাইট যদি এপিআই থেকে 401 বা 403 পেয়ে থাকে তবে ব্যবহারকারী লগইন করে)।
ক্রিশ্চিয়ান ভ্রাবী

0

ওয়েবডিএভি এটির জন্য এইচটিটিপি 507 অপর্যাপ্ত স্টোরেজ ব্যবহার করে এবং অন্যান্য ধরণের স্টোরেজ সীমাবদ্ধতা থেকে পৃথক করার জন্য, অনুরোধ সংস্থায় কোটার ছাড়িয়ে যাওয়ার জন্য একটি অতিরিক্ত ত্রুটি কোড অন্তর্ভুক্ত করে ।


12
এটির জন্য একটি 5XX কোড ব্যবহার করা বিপরীত বলে মনে হচ্ছে।
বেন অ্যারনসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.