রেস্ট কি?
প্রতিনিধিত্বমূলক রাজ্য স্থানান্তর. এটি বর্ণনা করে যে কীভাবে একটি সিস্টেম অন্যটির সাথে রাষ্ট্রের যোগাযোগ করতে পারে। একটি উদাহরণ হ'ল এক্সএমএল, জেএসএন বা সাধারণ পাঠ্য হিসাবে উপস্থাপিত কোনও পণ্যের (এর নাম, বিবরণ ইত্যাদি) অবস্থা। রাষ্ট্রের সাধারণীকরণের ধারণাটিকে একটি সংস্থান হিসাবে অভিহিত করা হয়।
এটি কোনও ওয়েব আর্কিটেকচার ইকোসিস্টেমে কোন অবস্থান দখল করে?
REST সাধারণত ওয়েব পরিষেবাদি ইন্টারফেসের সাথে সম্পর্কিত কারণ এইচটিটিপি এখন পর্যন্ত সবচেয়ে সাধারণ ক্যারিয়ার প্রোটোকল। 7-স্তরের মডেলটিতে এটি প্রয়োগ স্তরটিতে বিদ্যমান । তবে পরের অংশটি দেখুন।
এটি কতটা শক্তভাবে (বা আলগাভাবে) প্রোটোকলের সাথে মিলিত হয়?
REST টি HTTP নয়। এটি এইচটিটিপি ব্যবহার করে কারণ বিশেষত বিশেষত একটি অন্বেষণমূলক সংগ্রহের বিরুদ্ধে ক্রিয়াটির ধারণাটি ম্যাপিংয়ে একটি মেশিনকে সহায়তা করার জন্য তার সবচেয়ে সাধারণ ফর্মের মধ্যে REST উপস্থিত রয়েছে। এইচটিটিপিতে জেনেরিক ক্রিয়াগুলির একটি দরকারী সেট রয়েছে (জিইটি, পুট, প্যাচ ইত্যাদি) যা ইউআরআই হিসাবে HTTP উদাহরণস্বরূপ GET http://example.org/Product(54 ) ব্যবহার করে স্বেচ্ছাচারিত বিশেষ্যগুলিতে প্রয়োগ করতে পারে ।
REST এর বিকল্পগুলি কী এবং তাদের সাথে কীভাবে REST তুলনা করে
এটি "আমার দৃষ্টিভঙ্গিটি কতটা বিশুদ্ধ?" নিম্নলিখিত তালিকাটি ব্যবহার করুন ( মার্টিন ফোলারের বর্ণনা অনুসারে রিচার্ডসন ম্যাচিউরিটি মডেল থেকে সংক্ষিপ্তসার ):
স্তর 0 - পক্সের জলাবদ্ধতা
পোস্টের জন্য সমস্ত কিছু ব্যবহার করুন (পড়ুন, লিখুন, মুছুন)। এটি সোপ, পক্স, আরপিআই ইত্যাদি You're আপনি নিজের প্রোটোকলের জন্য কেবল একটি সুরঙ্গ হিসাবে এইচটিটিপি ব্যবহার করছেন TP আপনি একটি একক এন্ডপয়েন্টটি লক্ষ্যবস্তু করেন যা অনুরোধের বডির সামগ্রীর উপর ভিত্তি করে সবকিছু করে।
স্তর 1 - সংস্থানসমূহ
সব কিছুর জন্য POST ব্যবহার করুন। নির্দিষ্ট জিনিস সম্পর্কে তথ্য পরিবেশন করতে ডিজাইন করা একাধিক প্রান্তকে লক্ষ্য করুন। আপনি সবেমাত্র সংস্থানগুলি আবিষ্কার করেছেন।
স্তর 2 - এইচটিটিপি ক্রিয়াগুলি
সম্পদের বিরুদ্ধে HTTP ক্রিয়া ব্যবহার করুন। এখন আপনি এটি পেয়ে যাচ্ছেন। পোস্ট তৈরি করতে হয়, পুটটি ওভাররাইট করা হয়, উপলব্ধ ক্রিয়াকলাপের জন্য বিকল্পগুলি, ভাল করে, উত্স মুছতে হয়। এই ক্রিয়াগুলির ব্যবহারের ফলে বিভিন্ন HTTP স্থিতি কোডগুলি আরও প্রাসঙ্গিক হতে শুরু করে (202 কেও স্বীকার করে?)
স্তর 3 - হাইপারমিডিয়া নিয়ন্ত্রণ ( HATEOAS )
এই মুহুর্তে আপনি চূড়ান্ত লাফিয়ে উঠবেন এবং একটি ফ্লো নিয়ন্ত্রণ ব্যবস্থা হিসাবে হাইপারমিডিয়া প্রবর্তন করুন। হাইপারমিডিয়ার জেনেরিক বোধগম্যতার বাইরে কোনও নির্দিষ্ট অ্যাপ্লিকেশন বা সার্ভারের সাথে কীভাবে ইন্টারঅ্যাক্ট করা যায় সে সম্পর্কে একজন REST ক্লায়েন্টের পূর্বের জ্ঞানের প্রয়োজন নেই। এটি এইচটিটিপিতে কনটেন্ট-টাইপ শিরোনাম ক্ষেত্রের মাধ্যমে জানানো যেতে পারে। পাঠ্য ফর্ম্যাটগুলিতে অ্যাটমপব এবং (আরও সংক্ষিপ্ত) এইচএএল অন্তর্ভুক্ত রয়েছে , যখন হাইপার অডিও অডিও স্ট্রিমের জন্য ভাল কাজ করে (দেখুন সাউন্ডক্লাউড এট আল)