REST এবং CRUD এর মধ্যে পার্থক্য


168

আমি আরআরএসটি শিখেছি এবং এটি অনেকটা সিআরইউডি-র মতো অনুভূত হয়েছে (সিআরইউডি সম্পর্কে যা পড়েছি তা থেকে)।

আমি জানি যে তারা আলাদা, এবং আমি ভাবছি যে তারা যদি একইরকম হয় তবে আমি তাদের বুঝতে পারি না।

এটি কি আরআরইএসটি হ'ল সিআরইউডি'র "সুপারস্টার"? CRUD সব কি করে?


17
তারা ভাবছেন অনুরূপ উপায়ে যে তুমি কি তাদের বুঝতে। উত্তরগুলি পড়তে গিয়ে আমি একটি আশ্চর্যরূপে দেখি এবং যা আমি ধারণার মধ্যে সাদৃশ্যগুলি স্বীকার না করার ভুল স্তর হিসাবে বিবেচনা করি । আমি বিশ্বাস করি যে REST বোঝার সঠিক উপায় হ'ল এটিকে "HTTP সংস্থানগুলির জন্য CRUD" হিসাবে ভাবা। যদি আপনি বুঝতে পারেন যে এইচটিটিপি রিসোর্সটি কী (এটি স্পষ্টভাবে ডেটাবেস রেকর্ডের মতো নয়) এবং আপনি CRUD কী তা জানেন তবে REST কে "এইচটিটিপি রিসোর্সের জন্য সিআরইউডি" হিসাবে বর্ণনা করা আরইএসটি-র সারমর্ম বোঝানোর জন্য একটি সঠিক এবং সংক্ষিপ্ত উপায়।
জেসন লাইভসে

উত্তর:


205

আশ্চর্যজনকভাবে, আমি অন্য উত্তরগুলিতে দেখতে পাচ্ছি না যা আমি REST এবং CRUD- এর মধ্যে আসল পার্থক্য বিবেচনা করি: প্রত্যেকে যা পরিচালনা করে।

সিআরইউডি মানে ডেটা সংগ্রহস্থলে করণীয় বেসিক ক্রিয়াকলাপ। আপনি সরাসরি রেকর্ড বা ডেটা অবজেক্ট পরিচালনা করেন; এই অপারেশনগুলি বাদে, রেকর্ডগুলি প্যাসিভ সত্তা ities সাধারণত এটি কেবল ডাটাবেস সারণী এবং রেকর্ড।

অন্যদিকে, আরএসটি রিসোর্স উপস্থাপনাগুলি পরিচালনা করে, প্রতিটিই একটি ইউআরএল দ্বারা চিহ্নিত। এগুলি সাধারণত ডেটা অবজেক্ট নয়, তবে জটিল অবজেক্টের বিমূর্ততা।

উদাহরণস্বরূপ, একটি সংস্থান কোনও ব্যবহারকারীর মন্তব্য হতে পারে। এর অর্থ কেবল একটি 'মন্তব্য' টেবিলের রেকর্ড নয়, তবে এটি 'ব্যবহারকারীর' সংস্থার সাথে এর সম্পর্ক, সেই পোস্টের সাথে মন্তব্যটি সংযুক্ত রয়েছে, সম্ভবত এটি অন্য কোনও মন্তব্যে সাড়া দেয়।

মন্তব্যে অপারেশন করা কোনও আদিম ডাটাবেস অপারেশন নয়, মূল পোস্টারটিতে সতর্কতা চালানো, বা কিছু গেমের মতো 'পয়েন্ট' পুনরায় গণনা করা, বা কিছু 'অনুসারী স্ট্রিম' আপডেট করার মতো উল্লেখযোগ্য পার্শ্ব প্রতিক্রিয়া থাকতে পারে।

এছাড়াও, একটি সংস্থার প্রতিনিধিত্বের মধ্যে হাইপারটেক্সট অন্তর্ভুক্ত রয়েছে ( HATEOAS নীতিটি পরীক্ষা করুন ), ডিজাইনারকে সংস্থাগুলির মধ্যে সম্পর্ক প্রকাশ করার অনুমতি দেয় বা একটি অপারেশনের ওয়ার্কফ্লোতে REST ক্লায়েন্টকে গাইড করে।

সংক্ষেপে, সিআরইউডি একটি সেট আদিম ক্রিয়াকলাপ (বেশিরভাগ ডাটাবেস এবং স্ট্যাটিক ডেটা স্টোরেজগুলির জন্য), তবে REST একটি খুব উচ্চ-স্তরের API স্টাইল (বেশিরভাগ ওয়েব পরিষেবাদি এবং অন্যান্য 'লাইভ' সিস্টেমের জন্য)।

প্রথমটি মৌলিক ডেটাগুলি পরিচালনা করে, অন্যটি একটি জটিল সিস্টেমের সাথে ইন্টারঅ্যাক্ট করে।


3
@ জাভিয়ার তাদের আলাদা করার জন্য ধন্যবাদ। আমি আরআরইএসটি শেখার রেলগুলি ব্যবহার করেছি এবং আমার মনে হয়েছে যে এটি সিআরইউডি (যা থেকে আমি শিখেছি ... নামটি, এটি ইতিমধ্যে এটি ব্যবহার করছিলাম, কেবল এটি কী বলা উচিত তা নয়) এর প্রতিস্থাপন was 2 টি আপেলকে তুলনা করে আপেল এবং কমলার তুলনায় আরআরটি বনাম সিআরইউডি পরিণত হয়েছে। ধন্যবাদ
জেসি ব্ল্যাক

2
@ মিউডিকাস: আমি মনে করি এটি খুব সাধারণ, যেহেতু রআরআর একটি সিআরইউডি স্তর অন্তর্ভুক্ত করে (যেমন (প্রত্যেকটি?) কাঠামোটি করে), এবং এটির উপরে একটি REST এপিআই যুক্ত করা সহজ (স্বয়ংক্রিয়?) তাই এটি ভাবাই সহজ? সমস্ত কি রেস্ট হয়। তবে তারপরে আপনি CRUD এর উপরে কিন্তু REST এপিআই এর পিছনে কার্যকারিতা যুক্ত করতে পারেন, এগুলি আরও বেশি করে তৈরি করে।
জাভিয়ের

1
আপনার উত্তরটি সঠিক, তবে উদাহরণটি সর্বোত্তম নয়: একটি মন্তব্য একটি একক ডিবি সারিতে ফুটিয়ে উঠতে পারে, এবং ডিবি ট্রিগার সহ সম্পর্কিত বস্তুগুলিতে গতিশীল পরিবর্তনগুলি কার্যকর করা সম্ভব নয় কি? আমি মনে করি যদিও আরামদায়ক এপিআই-তে কেবল ক্রুড অপারেশন ছাড়াও আরও কিছু রয়েছে এবং আপনার উত্তরটি স্পষ্টভাবে সেই অনুভূতিটি বহন করে।
didierc

2
সুতরাং ... একই জিনিস, বিভিন্ন স্তর :)
অলিকএলজিন-কিলাকা

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

99

প্রথমত, উভয়ই কেবল সাধারণ সূচনা; তারা ভয় পাওয়ার কিছু নেই।

এখন, সিআরইউডি হ'ল একটি সাধারণ শব্দ যা সংক্ষেপিত হয়েছিল কারণ এটি অনেকগুলি অ্যাপ্লিকেশনে একটি সাধারণ বৈশিষ্ট্য, এবং এটি CRUD বলা সহজ । এটি ডেটা (বা একটি সংস্থান) এ আপনি সম্পাদন করতে পারেন এমন 4 টি মৌলিক ক্রিয়াকলাপ বর্ণনা করে। তৈরি করুন, পড়ুন, আপডেট করুন, মুছুন।

তবে REST হ'ল একটি নামকৃত অনুশীলন (ঠিক এজেএক্সের মতো), নিজের মধ্যে প্রযুক্তি নয়। এটি এমন দক্ষতার ব্যবহারকে উত্সাহ দেয় যা এইচটিটিপি প্রোটোকলে দীর্ঘকাল অন্তর্নিহিত ছিল তবে খুব কম ব্যবহৃত হয়।

আপনার যখন কোনও ইউআরএল (ইউনিফর্ম রিসোর্স লোকেটার ) থাকে এবং আপনি আপনার ব্রাউজারটি ঠিকানা লাইনের মাধ্যমে এটি নির্দেশ করেন, আপনি একটি HTTP অনুরোধ প্রেরণ করছেন । প্রতিটি এইচটিটিপি অনুরোধে এমন তথ্য রয়েছে যা সার্ভারটি জানতে চাওয়া যে কোনও ক্লায়েন্টের কাছে কী এইচটিটিপি প্রতিক্রিয়া পাঠিয়েছে তা অনুরোধ জারি করেছে।

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

তবে এই "পদ্ধতি" ধারণাটি প্রায়শই ব্যবহৃত হয় নি।

সাধারণত, লোকেরা কেবল জিইটি পদ্ধতির মাধ্যমে পৃষ্ঠাগুলিতে লিঙ্ক করে এবং পোষ্ট পদ্ধতির মাধ্যমে যে কোনও ধরণের আপডেট (মুছে ফেলা, সন্নিবেশ, আপডেট) ইস্যু করে ।

এবং সে কারণে আপনি কোনও সংস্থান (ইউআরএল) নিজের মধ্যে সত্যিকারের সংস্থান হিসাবে বিবেচনা করতে পারেন নি । একই সংস্থানটি মোছা, সন্নিবেশ করা বা আপডেট করার জন্য আপনার পৃথক URL থাকতে হয়েছিল। উদাহরণ স্বরূপ:

http://...com/posts/create- POST request  -> Goes to posts.create() method in the server
http://...com/posts/1/show- GET request  -> Goes to posts.show(1) method in the server
http://...com/posts/1/delete - POST request  -> Goes to posts.delete(1) method in the server
http://...com/posts/1/edit- POST request  -> Goes to posts.edit(1) method in the server

REST এর সাহায্যে আপনি এমন ফর্মগুলি তৈরি করেন যা চৌকস কারণ তারা পোষ্টের পাশে অন্য এইচটিটিপি পদ্ধতি ব্যবহার করে এবং আপনার সার্ভারকে কেবলমাত্র ইউআরএলস নয়, পদ্ধতিগুলির মধ্যে পার্থক্য করতে সক্ষম করার জন্য প্রোগ্রাম করে । উদাহরণস্বরূপ:

http://...com/posts - POST request  -> Goes to posts.create() method in the server
http://...com/posts/1 - GET request  -> Goes to posts.show(1) method in the server
http://...com/posts/1 - DELETE request  -> Goes to posts.delete(1) method in the server
http://...com/posts/1 - PUT request  -> Goes to posts.edit(1) method in the server

মনে রাখবেন, একটি একক ইউআরএল একটি একক সংস্থান বর্ণনা করে। একটি একক পোস্ট হ'ল একক সংস্থান। আরএসইএসটি দিয়ে আপনি সংস্থানগুলি যেভাবে আচরণ করা উচিত তা বোঝাচ্ছেন। আপনি কোন সংস্থানটি পরিচালনা করতে চান এবং কীভাবে এটি পরিচালনা করতে চান তা আপনি সার্ভারকে বলছেন।

"RESTful আর্কিটেকচার" এর আরও অনেক বৈশিষ্ট্য রয়েছে, যা আপনি আগ্রহী হলে উইকিপিডিয়া, অন্যান্য নিবন্ধ বা বইগুলিতে পড়তে পারেন। অন্যদিকে সিআরইউডি করার মতো খুব বেশি কিছু নেই।


4
দুঃখিত, তবে REST হ'ল CRUD এর চেয়ে অনেক বেশি। বেশিরভাগ কারণেই সংস্থানগুলি প্রতিটি একক রেকর্ডের চেয়ে অনেক বেশি সংশ্লেষিত হয় এবং প্রতিটি ক্রিয়াকলাপ রেকর্ড আপডেট করার চেয়ে অনেক বেশি কাজ করে।
জাভিয়ের

11
ঠিক আছে. আমি রাজী. কেন তুমি দুঃখিত? আমি বলিনি যে এটি CRUD এর চেয়ে বেশি কিছু নয়। আমি মনে করি যে আমি ঠিক কি হয়নি বলে।
ইয়াম মার্কোভিচ

4
এটি সঠিক উত্তর হওয়া উচিত।
ব্র্যান্ডন

এইচটিএমএল স্পেসিফিকেশন কেবল ফর্ম জমা দেওয়ার জন্য জিইটি এবং পোষ্ট পদ্ধতিগুলিকে মঞ্জুরি দেয়, সুতরাং এজেএক্সের বিস্তৃত হওয়ার আগে অন্যান্য পদ্ধতি ওয়েবক্লিনেন্টদের অনুরোধ পরিচালনার পরিষেবাগুলিতে ব্যবহার করা হয়নি। কিছু পরিষেবা POST পদ্ধতি ব্যবহার করে ফর্মটি জমা দেওয়ার সময় POST ব্যতীত অন্য কোনও পদ্ধতি নির্দিষ্ট করার জন্য "_মোথড" নামে একটি লুকানো ইনপুট ক্ষেত্র ব্যবহার করে।
কেনেথ সুন্দকভিস্ট

20

আরআরইএসটির অর্থ "প্রতিনিধিত্বমূলক রাষ্ট্র স্থানান্তর", যার অর্থ এটি কোনও সিস্টেমে কিছু সংস্থার অবস্থার যোগাযোগ এবং পরিবর্তন করার বিষয়ে about

REST বেশ জড়িত, কারণ REST এর পিছনের তত্ত্বটি রিমোট সিস্টেমে তথ্য পরিচালনা করার জন্য মিডিয়া, হাইপারমিডিয়া এবং একটি অন্তর্নিহিত প্রোটোকলে যায়।

অন্যদিকে, CRUD হ'ল একটি ডাটাবেসে ডেটার প্রয়োজন আপনার সাধারণ ক্রিয়াকলাপগুলির জন্য স্মৃতিচারণকারী: আপডেট মুছুন পুনরুদ্ধার তৈরি করুন। তবে এটি এর চেয়ে গভীরতর আর পায় না।

সুতরাং এটি আপনার প্রশ্নের উত্তর, তবে আমি যখন সাধারণ এবং সিআরইউডি একসাথে আলোচনা করা হয় তখন আমি যে সাধারণ ভুল দেখি তা উল্লেখ করব। অনেকগুলি বিকাশকারীই REST- কে সরাসরি CRUD- এ মানচিত্র করতে চান, কারণ REST ওভার HTTP GET PUT POST এবং DELETE সরবরাহ করে, যখন CRUD CETATE RETRIEVE UPDATE Delete এর জন্য সরবরাহ করে। REST ক্রিয়াগুলি সরাসরি CRUD ক্রিয়াকলাপে মানচিত্র করা স্বাভাবিক।

তবে, এইচটিটিপি "তৈরি বা আপডেট" শৈলী ব্যবহার করে, যখন সিআরডিডি তৈরি এবং আপডেট পৃথক করে। এটি দুটি (!) এর মধ্যে একটি পরিষ্কার, সাধারণ ম্যাপিং করা অসম্ভব করে তোলে (!)

GET এবং মুছে ফেলা সহজ ... GET === পুনরুদ্ধার করুন, এবং মুছে ফেলুন === মোছা।

তবে এইচটিটিপি অনুসারে, পুট আসলে তৈরি এবং আপডেট হয়:

  • আপনি যখন এটির শনাক্তকারী সহ সমস্ত কিছু জানেন তখন একেবারে নতুন অবজেক্ট তৈরি করতে PUT ব্যবহার করুন

  • কোনও অবজেক্ট আপডেট করতে PUT ব্যবহার করুন (সাধারণত বস্তুর সম্পূর্ণ উপস্থাপনা সহ)

POST হ'ল "প্রক্রিয়াজাতকরণ" ক্রিয়া এবং এটি "সংযোজন" ক্রিয়া হিসাবে বিবেচিত:

  • কোনও সংগ্রহে নতুন অবজেক্ট যুক্ত করতে POST ব্যবহার করুন - এটি একটি নতুন অবজেক্ট তৈরি করুন

  • অন্যান্য ক্রিয়াগুলি পুরোপুরি ফিট না হলে পোস্টটিও ব্যবহৃত হয়, যেমন এইচটিটিপি অনুমান "ডেটা প্রসেসিং" ক্রিয়া হিসাবে সংজ্ঞায়িত করে

  • যদি আপনার দলটি পোস্টে ঝুলছে, তবে মনে রাখবেন যে পুরো ডাব্লুডাব্লুডাব্লুটি জিইটি এবং পোস্টে নির্মিত হয়েছিল;)

তাই আরইএসইএসটি এবং সিআরইউডি-র মধ্যে সাদৃশ্য থাকা সত্ত্বেও, বেশিরভাগ দল যে ভুলটি দেখছে তা হ'ল উভয়ের মধ্যে একটি সমতা তৈরি করা। একটি টিউনকে সিআরইউডি স্মৃতিবিদ্যার উপর খুব বেশি ঝুলিয়ে না পড়ার জন্য একটি REST এপিআই সংজ্ঞায়িত করার সময় সত্যই সতর্ক হওয়া দরকার কারণ REST অনুশীলন হিসাবে সত্যই অনেকগুলি অতিরিক্ত জটিলতা রয়েছে যা CRUD- এ পরিষ্কারভাবে মানচিত্র তৈরি করে না।


7

সিআরইউডি তথ্য পাঠ এবং লেখার জন্য ন্যূনতম স্টোরেজ ক্রিয়াগুলির একটি নির্দিষ্ট সেট নির্দিষ্ট করে: তৈরি করুন, পড়ুন, আপডেট করুন এবং মুছুন। তারপরে, আপনি এগুলিকে একত্রিত করে অন্যান্য ক্রিয়াকলাপ তৈরি করতে পারেন। এগুলি সাধারণত ডাটাবেস ক্রিয়াকলাপ হিসাবে বিবেচিত হয়, তবে যা ডাটাবেস হিসাবে বিবেচিত হয় তা স্বেচ্ছাসেবী (যেমন, একটি সম্পর্কিত ডিবিএমএস হতে পারে, তবে ওয়াইএএমএল ফাইলও হতে পারে)।

আরআরইএসটি হ'ল একটি "আর্কিটেকচারাল স্টাইল" যা সাধারণত সিআরইউডি অপারেশন এবং অন্যান্য, উচ্চ স্তরের অপারেশনগুলিকে অন্তর্ভুক্ত করে, যা কিছু "রিসোর্স" এর কিছু ধারণাতে করা হয় (স্বেচ্ছাসেবক, তবে এগুলি আপনার প্রয়োগের সত্তা)। REST এর একগুচ্ছ প্রতিবন্ধকতা রয়েছে যা এটি আকর্ষণীয় করে তোলে (এবং বিশেষত এইচটিটিপি-র সাথে ভালভাবে যুক্ত)।

একটি REST ইন্টারফেস একটি নির্দিষ্ট উত্সে সমস্ত CRUD অপারেশন প্রকাশ করতে পারে, তবে তা করতে হবে না। একটি আরএসটি ইন্টারফেসে যা পাওয়া যায় তা নির্বিচারে এবং সিস্টেমের অনুমতি, ইউআই বিবেচনার কারণে এবং ইন্টারফেসটি ডিজাইন করা এবং তৈরি হওয়ার দিনটিতে এটি কতটা গরম ছিল তার কারণে পরিবর্তিত হতে পারে। গরমের দিনগুলি সাধারণত আরও সংক্ষিপ্ত ইন্টারফেসে নিয়ে যায়, যদিও বিপরীতটি সত্য হতে পারে।


ধন্যবাদ ইয়ার আমার "সিআরইউডি সবকিছু কি আরও কিছু করে?" হ্যাঁ, একটি প্রযুক্তিগতত্বের সাথে আরইএসটি একটি ডেটাবেসে কেবলমাত্র প্রবেশের চেয়ে বেশি প্রযোজ্য।
জেসি ব্ল্যাক

@ Maudicus আমি উত্তর আপডেট করেছি, তবে সুনির্দিষ্ট হতে হবে: এটি করতে পারে তবে তা করতে পারে না।
ড্যান রোজনস্টার্ক

আপনার অ্যাপ্লিকেশনটি সম্পূর্ণ বিবেচনা করার জন্য এগুলি প্রয়োজন বলে আমি বলব না। কিছু অ্যাপ্লিকেশনের প্রকৃতি অনুসারে সন্নিবেশ, অপসারণ বা আপডেটের প্রয়োজন হয় না।
ইয়াম মার্কোভিচ

@ ইয়াম মার্কোভিচ, ঠিক আছে, সামঞ্জস্য করেছেন
ড্যান রোজনস্টার্ক

6

টি ককটেলের

  • সিআরইউডি চারটি মূল ধরণের এসকিউএল কমান্ড: তৈরি করুন, পড়ুন, আপডেট করুন এবং মুছুন
  • বেশিরভাগ অ্যাপ্লিকেশনগুলিতে কিছুটা CRUD কার্যকারিতা থাকে
  • একটি সিআরইউডি অ্যাপ্লিকেশন হ'ল ডেটাবেজে প্রবেশের এবং আউট নেওয়ার জন্য ফর্মগুলি ব্যবহার করে

বিশ্রাম

  • আরআরইএসটি বলতে প্রতিনিধিত্বমূলক রাজ্য স্থানান্তর বোঝায় ((এটি কখনও কখনও "আরএসটি" বানান হয়)

  • এটি স্টেটহীন, ক্লায়েন্ট-সার্ভার, ক্যাশেযোগ্য যোগাযোগ প্রোটোকলের উপর নির্ভর করে - এবং কার্যত সমস্ত ক্ষেত্রে এইচটিটিপি প্রোটোকল ব্যবহৃত হয়

  • নেটওয়ার্ক অ্যাপ্লিকেশন ডিজাইনের জন্য আরইএসটি একটি আর্কিটেকচার স্টাইল


2

আরআরইএসটি হ'ল মেশিনগুলির জন্য ওয়েবপৃষ্ঠের মতো কিছু, যা তারা ব্রাউজ করতে পারে, যখন সিআরইউডি হ'ল এসওএপি জাতীয় কিছু যা তার ক্লায়েন্টদের সাথে দৃ strongly়ভাবে মিলিত হয়। এই প্রধান পার্থক্য। তথ্যের। এগুলি পৃষ্ঠের মতোই, তবে সিআরইউডি মৌলিক সত্তা হেরফের বর্ণনা করে, আরএসইটি কোনও অ্যাপ্লিকেশনটির ইন্টারফেস বর্ণনা করতে পারে। আর পার্থক্য যা REST আরও 4 টি HTTP পদ্ধতি ব্যবহার করতে পারে। এটি খুব দীর্ঘ উত্তর হবে যদি আমি সমস্ত পার্থক্য সংগ্রহ করতে চাই, আপনি যদি এসইএসপি বনাম এসওএপি সম্পর্কে প্রশ্নগুলি পরীক্ষা করেন তবে আপনি তাদের বেশিরভাগ খুঁজে পাবেন।

আমি মনে করি সিআরইউডির সাথে আরএসটি বিভ্রান্ত করা একটি খুব সাধারণ ভুল এবং কারণটি হ'ল ডেভেলপারদের কাছে আরএসটি সম্পর্কে গভীরতার সাথে পড়ার সময় নেই। তারা কেবল প্রযুক্তিটি ব্যবহার করতে চায় - এটি না বুঝে - অনুরূপ বিকাশকারীদের দ্বারা লিখিত সীমিত CRUD শৈলীর উদাহরণের ভিত্তিতে। উদাহরণ এবং টিউটোরিয়ালগুলির সিংহভাগ জ্ঞানের গুরুতর অভাব প্রতিফলিত করছে। এই সংস্থাগুলির CRUD অপারেশনগুলিতে REST রিসোর্সগুলিকে সত্তা এবং HTTP পদ্ধতিগুলিতে ম্যাপিং করা এবং হাইপারলিংক ছাড়াই REST ব্যবহার করা তার লক্ষণ মাত্র। REST এর মাধ্যমে আপনি হাইপারলিংকগুলি (আপনার পোষ্ট / পুট / ডিলেট / প্যাচ পদ্ধতিগুলির সাথে লিঙ্কগুলি সহ) ম্যাপ করেন এবং ক্লায়েন্টের পক্ষ থেকে অপারেশনটি (সাধারণত এপিআই নির্দিষ্ট) লিঙ্কের সম্পর্কটি পরীক্ষা করে সনাক্ত করেন। যদি কোনও আরইএসটি ক্লায়েন্ট না জেনে থাকে যে কোনও লিঙ্কের সম্পর্ক কী, এবং কেবলমাত্র এইচটিটিপি পদ্ধতি এবং কিছু ইউআরআই টেম্পলেট জানে, তবে এটি কোনও আরএসটি ক্লায়েন্ট নয়, তবে HTTP ক্লায়েন্টের একটি CRUD। আর এএসটি ক্লায়েন্ট হ'ল ব্রাউজারে চলমান একটি একক পৃষ্ঠার জাভাস্ক্রিপ্ট অ্যাপ্লিকেশন common অবশ্যই আপনি এই জাতীয় ক্লায়েন্ট বাস্তবায়ন করতে পারেন তবে আরআরএসটি মূলত স্বয়ংক্রিয় ক্লায়েন্টদের জন্য ছিল (সার্ভার সাইড অ্যাপ্লিকেশনগুলি যে বিকাশকারীরা আপনার এমনকি জানেন না) এবং ম্যানুয়াল ক্লায়েন্টদের জন্য নয় (আপনার দ্বারা লিখিত ব্যবহারকারী নিয়ন্ত্রিত ব্রাউজার অ্যাপ্লিকেশন)। কেবলমাত্র একটি একক ব্রাউজার ক্লায়েন্ট থাকা এমন একটি লক্ষণ হতে পারে যা আপনাকে সত্যিই বিশ্রামের প্রয়োজন হয় না এবং আপনি কেবল প্রকল্পটির উপরে নজর রেখেছেন। এই ক্ষেত্রে একটি সিআরইউডি এপিআই একটি কার্যকর সমাধান এবং বিকাশকারীরা এই সিআরইউডি এপিআইগুলিকে রিস্ট হিসাবে ডেকে নিচ্ছেন, কারণ তারা পার্থক্য জানেন না। অবশ্যই আপনি এই জাতীয় ক্লায়েন্ট বাস্তবায়ন করতে পারেন তবে আরআরএসটি মূলত স্বয়ংক্রিয় ক্লায়েন্টদের জন্য ছিল (সার্ভার সাইড অ্যাপ্লিকেশনগুলি যে বিকাশকারীরা আপনার এমনকি জানেন না) এবং ম্যানুয়াল ক্লায়েন্টদের জন্য নয় (আপনার দ্বারা লিখিত ব্যবহারকারী নিয়ন্ত্রিত ব্রাউজার অ্যাপ্লিকেশন)। কেবলমাত্র একটি একক ব্রাউজার ক্লায়েন্ট থাকা এমন একটি লক্ষণ হতে পারে যা আপনাকে সত্যিই বিশ্রামের প্রয়োজন হয় না এবং আপনি কেবল প্রকল্পটির উপরে নজর রেখেছেন। এই ক্ষেত্রে একটি সিআরইউডি এপিআই একটি কার্যকর সমাধান এবং বিকাশকারীরা এই সিআরইউডি এপিআইগুলিকে রিস্ট হিসাবে ডেকে নিচ্ছেন, কারণ তারা পার্থক্য জানেন না। অবশ্যই আপনি এই জাতীয় ক্লায়েন্ট বাস্তবায়ন করতে পারেন তবে আরআরএসটি মূলত স্বয়ংক্রিয় ক্লায়েন্টদের জন্য ছিল (সার্ভার সাইড অ্যাপ্লিকেশনগুলি যে বিকাশকারীরা আপনার এমনকি জানেন না) এবং ম্যানুয়াল ক্লায়েন্টদের জন্য নয় (আপনার দ্বারা লিখিত ব্যবহারকারী নিয়ন্ত্রিত ব্রাউজার অ্যাপ্লিকেশন)। কেবলমাত্র একটি একক ব্রাউজার ক্লায়েন্ট থাকা এমন একটি লক্ষণ হতে পারে যা আপনাকে সত্যিই বিশ্রামের প্রয়োজন হয় না এবং আপনি কেবল প্রকল্পটির উপরে নজর রেখেছেন। এই ক্ষেত্রে একটি সিআরইউডি এপিআই একটি কার্যকর সমাধান এবং বিকাশকারীরা এই সিআরইউডি এপিআইগুলিকে রিস্ট হিসাবে ডেকে নিচ্ছেন, কারণ তারা পার্থক্য জানেন না।

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