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


540

একটি REST সিস্টেম এবং একটি সিস্টেম যা RESTful এর মধ্যে পার্থক্য কী?

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


3
প্রশ্নের কারণ হ'ল যদি আপনি লিঙ্কটিতে নিবন্ধটি পড়ে থাকেন এবং সর্বাধিক REST বাস্তবায়ন সম্পর্কে ডাঃ ফিল্ডিং কী ভাবেন সেগুলি পর্যালোচনা করে দেখেন যে তারা মোটেও রেস্ট সিস্টেম নয়। তারা RESTful আচরণ প্রদর্শন করে তবে REST সিস্টেম হিসাবে শ্রেণিবদ্ধ করা যায় না।
অজওয়ার্ড কোডার

4
আমি নিবন্ধটি পড়েছি তবে আমি মনে করি না যে এটি তাকে এ জাতীয় শব্দার্থবিহীন তাত্পর্যপূর্ণ করে তুলেছে।
জেসনট্রু

3
REST- এ উইকিপিডিয়া নিবন্ধ - en.wikedia.org/wiki/RepLiveational_State_Transfer - দ্বিতীয় অনুচ্ছেদ - "REST সীমাবদ্ধতা মেনে চলতে প্রায়শই 'RESTful' হিসাবে পরিচিত।"
Nate

1
@ প্রমোদনিকুম্ভ এর নীচে সঠিক উত্তর দিয়েছে। একটি "REST" সিস্টেমটি এমন একটি সিস্টেম যা REST এর বিস্তৃত সংজ্ঞায় ফিট করে। এটি অন্তত কিছু বিশ্রাম নীতি প্রদর্শন করে। "রেস্টফুল" আরও অনেকগুলি রেস্ট-কমপ্লায়েন্ট সিস্টেমকে বর্ণনা করে।
অ্যান্ড্রু নরম্যান

ঠিক আছে, আমি মনে করি নামটিতে একটি বিভ্রান্তি রয়েছে, আরইএসটিফুলের "ফুল" রাষ্ট্রহীন এবং রাষ্ট্রীয়কে বিভ্রান্ত করবে এবং এগুলি দুটি ব্যক্তিগত বিষয়, আমার ব্যক্তিগত মতামতে REST এবং RESTful, স্থির থাকতে হবে। RESTles নামে একটি রাষ্ট্রীয় REST টি কল্পনা করুন। :)
ওয়াহিদ

উত্তর:


487

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

RESTful সাধারণত এমন আর্কিটেকচার প্রয়োগকারী ওয়েব পরিষেবাদিগুলির উল্লেখ করতে ব্যবহৃত হয়।


146
তাই REST কি আর্কিটেকচার এবং RESTful একটি বিশেষণ?
manei_cc

4
@ মানি_সিসি: যদিও বাস্তবে আপনি যা খুঁজে পাবেন তা হল RESTful নামক পরিষেবাগুলি যা REST আর্কিটেকচারটি অনুসরণ করে না এবং মূলত REST- এর মতো, REST-wannabies ইত্যাদি So তাই সর্বদা মনোযোগ দিন যে একটি "RESTful পরিষেবা" প্রয়োজনীয়ভাবেই REST ব্যবহার করে নির্মিত হয় না আর্কিটেকচার, তবে জাস্টিন এথিয়ের যেমন লিখেছেন সত্য: ওয়েবের বিদ্যমান প্রযুক্তি এবং প্রোটোকলগুলি কাজে লাগায়
আজদার

7
RESTful এমন API এর জন্য ব্যবহার করা উচিত যাদের REST টি সত্যই সম্মান করে। আমি অনেকগুলি "REST" ওয়েবসার্ভিস দেখেছি যা কেবল জিইটি বা পোষ্ট ব্যবহার করে। এইচটিটিপি ক্রিয়া এবং ইউআরএল নামকরণ কনভেনশনগুলির সম্পূর্ণ ব্যবহার সম্পর্কে বিশ্রামের মনোযোগ দিন। তবে এটি আমার দৃষ্টিভঙ্গি।
মার্টিন

1
architectকি? ইউআরএল এর? মত https://translation.googleapis.com/language/translate/v2এই বিশ্রাম শৈলী কি?
আসিফ মোশতাক

1
stackoverflow.com/users/3807248/pramod-nikumbh নীচে সঠিক উত্তর দিয়েছেন
অ্যান্ড্রু নরম্যান

192

REST ভিত্তিক পরিষেবাদি / আর্কিটেকচার বনাম RESTFUL পরিষেবাদি / আর্কিটেকচার

এই 2 টির পার্থক্য করতে বা তুলনা করার জন্য, আপনাকে অবশ্যই বিশ্রাম দেওয়া উচিত ।

REST ( আর পি প্রেজেন্টেশনাল এস টেট টি ট্রান্সফার) মূলত বিকাশের একটি স্থাপত্য শৈলী যা কিছু নীতিমালা রয়েছে:

  • এটি রাষ্ট্রহীন হওয়া উচিত

  • এটি কেবল ইউআরআই ব্যবহার করে সার্ভার থেকে সমস্ত সংস্থান অ্যাক্সেস করা উচিত

  • এটিতে ইনবিল্ট এনক্রিপশন নেই

  • এটির সেশন নেই

  • এটিতে কেবলমাত্র একটি এবং প্রোটোকল - এইচটিটিপি ব্যবহার করা হয়

  • CRUD ক্রিয়াকলাপ সম্পাদনের জন্য, এটি , এবং get, এর মতো HTTP ক্রিয়া ব্যবহার করা উচিতpostputdelete

  • ফলাফলটি কেবল জেএসএন বা এক্সএমএল, পরমাণু, ওডেটা ইত্যাদি আকারে ফিরিয়ে আনতে হবে (লাইটওয়েট ডেটা)

REST based services উপরের কিছু নীতি অনুসরণ করুন এবং সবগুলিই নয়

RESTFUL services এর অর্থ এটি উপরোক্ত সমস্ত নীতি অনুসরণ করে।

এটি ধারণার অনুরূপ:

Object-based languagesসমস্ত ওওপি ধারণা, উদাহরণগুলি সমর্থন করে : সি ++, সি #

Object oriented languagesকয়েকটি ওওপি বৈশিষ্ট্য সমর্থন করে, উদাহরণ : জাভাস্ক্রিপ্ট, ভিবি


উদাহরণ :

এএসপি ডট নেট এমভিসি 4 REST-Basedমাইক্রোসফ্ট ডাব্লুইইবি এপিআই থাকাকালীনRESTFul

এমভিসি উপরোক্ত কয়েকটি আরএসটি নীতির মধ্যে কেবলমাত্র সমর্থন করে যেখানে ডাব্লুইবি এপিআই উপরোক্ত সমস্ত আরএসটি নীতি সমর্থন করে।

এমভিসি কেবলমাত্র REST এপিআই থেকে নিম্নলিখিতগুলি সমর্থন করে

  • আমরা ইউআরআই ব্যবহার করে সংস্থানটি অ্যাক্সেস করতে পারি

  • এটি সার্ভার থেকে সংস্থান অ্যাক্সেস করতে HTTP ক্রিয়া সমর্থন করে

  • এটি JSON, XML আকারে ফলাফলগুলি ফিরিয়ে দিতে পারে, এটি হ'ল এইচটিটিপিআরস্পোনস।

তবে এমভিসিতে একই সাথে

  • আমরা সেশনটি ব্যবহার করতে পারি

  • আমরা এটিকে রাষ্ট্রীয় করতে পারি

  • আমরা নিয়ন্ত্রক অ্যাকশন পদ্ধতি থেকে ভিডিও বা চিত্রটি ফিরিয়ে দিতে পারি যা মূলত REST নীতিগুলি লঙ্ঘন করে

এজন্য এমভিসি REST-Basedযেখানে ডাব্লুইইবি এপিআই উপরোক্ত সমস্ত নীতি সমর্থন করে এবং তা হ'ল RESTFul


10
আমি বুঝতে পারছি না কেন এটি নিম্নোক্ত করা হয়েছে, এই উত্তরটি প্রশ্নের কাছে প্রচুর স্পষ্ট করে তথ্য এনেছে।
মার্কোচেকিও

5
এখন পর্যন্ত সেরা উত্তর
লিমন

2
এটি সেরা উত্তর।
মারিও মাইরেলিস

2
আপনি REST সহ এফটিপি ব্যবহার করতে পারেন। দয়া করে দেখুন: stackoverflow.com/questions/35534812/...
crazyTech

7
উপরের "অবজেক্ট ভিত্তিক" এবং "অবজেক্ট ওরিয়েন্টেড" বিভাগগুলির অধীনে ভাষাগুলি বিপরীত। অবজেক্ট ওরিয়েন্টেড ভাষাগুলি সমস্ত ওওপিএস নীতি অনুসরণ করে, যখন অবজেক্ট বেইসডগুলি কিছু অনুসরণ করে।
মিছিফ

119

"REST" একটি স্থাপত্যের দৃষ্টান্ত। "RESTful" সেই দৃষ্টান্তটি ব্যবহার করে বর্ণনা করে।


architectকি? ইউআরএল এর? মত https://translation.googleapis.com/language/translate/v2এই বিশ্রাম শৈলী কি?
আসিফ মোশতাক

2
একটি REST আর্কিটেকচারে অনেকগুলি বৈশিষ্ট্য প্রয়োজন। আপনি কেবল একটি URL দেখিয়ে কিছু বিশ্রামের নীতিগুলি মেনে চলতে পারবেন না।
একক শট

42

জেসন মন্তব্যে যেমন বলেছিলেন, রিস্টলফুল কেবলমাত্র বিশেষণ হিসাবে ব্যবহৃত এমন কিছুকে বর্ণনা করে যা বিশ্রামের সীমাবদ্ধতাগুলিকে সম্মান করে।


29

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

হাইপারমিডিয়া ব্যবহার করার ধারণাটি। এবং সম্ভবত নতুন হাইপারমিডিয়া ধরণের তৈরি করতে। সম্ভবত আমরা জাভাস্ক্রিপ্ট / এজেএক্সের সাহায্যে ব্রাউজারটি প্রসারিত করতে পারি এবং নতুন কাস্টম হাইপারমিডিয়া ধরণের তৈরি করতে পারি। এবং আমাদের কাছে একটি সত্যিকারের REST অ্যাপ্লিকেশন থাকবে।

এটিই আমার সবচেয়ে সংক্ষিপ্ত সংস্করণ যা REST এর জন্য দাঁড়িয়েছে, সমস্যাটি এটি কার্যকর করা কঠিন। আমি ব্যক্তিগতভাবেই রিস্টফুল বলি, যখন আমি আরইএসটি নীতিগুলির উল্লেখ করতে চাই তবে আমি জানি আমি সত্যিই আরইএসটি-র পুরো ধারণাটি বাস্তবায়ন করছি না। আমরা সত্যই এসওএপফুল বলি না, কারণ আপনি হয় এসওএপি ব্যবহার করেন বা না করেন। আমি মনে করি এটির স্রষ্টা রয় ফিল্ডিংয়ের দ্বারা কল্পনা করা বেশিরভাগ লোকেরা বিশ্রামই করেন না, আমরা আসলেই রেস্টস্টুল বা রেস্টস্টাইকের মতো স্থাপত্যগুলি বাস্তবায়ন করি implement আপনি তাঁর গবেষণামূলক প্রবন্ধটি দেখতে পাচ্ছেন এবং আপনি বিশ্রামের সংক্ষিপ্ত রূপটি পাবেন তবে শব্দটি RESTful নয়।


23

আরআরইএসটি হ'ল বিতরণ করা সফ্টওয়্যারগুলির জন্য একটি স্টাইল সফটওয়্যার আর্কিটেকচার

আরআরএসটি সীমাবদ্ধতার সাথে সামঞ্জস্য করাটিকে 'রিস্টফুল' বলে উল্লেখ করা হয়।

SOAP এর বিকল্প হিসাবে ওয়েব পরিষেবাগুলি তৈরি করতে আজ খুব ব্যবহৃত।

এখানে আপনার চেক করার জন্য কিছু লিঙ্ক রয়েছে

http://en.wikedia.org/wiki/RepLiveational_State_Transfer
http://www.computerworld.com/s/article/297424/RepLiveational_State_Transfer_REST_
http://www.ibm.com/developerworks/webservices/library/ws-restful/


13

উত্তরের জন্য ধন্যবাদ। অ্যালেক্স রদ্রিগেজের এই নিবন্ধটি পড়ুন যা পরামর্শ দেয় যে একটি রেস্টস্টুল ওয়েব সার্ভিসে 4 টি মূল বৈশিষ্ট্য রয়েছে যা:

  1. স্পষ্টভাবে HTTP পদ্ধতি ব্যবহার করুন।
  2. রাষ্ট্রহীন থাকুন।
  3. ডিরেক্টরি কাঠামোর মতো ইউআরআই প্রকাশ করুন।
  4. এক্সএমএল, জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন (জেএসএন), বা উভয় স্থানান্তর করুন।

এটিতে আসলে 6 টি বাধা রয়েছে।
আয়রনব্লসম

2
নিখোঁজ দু'জনের উত্তর উত্তর আপডেট করার জন্য ইরানব্লসম কেয়ার?
পল ফ্লেমিং

1
লিঙ্কটি মৃত, নতুন ইউআরএল আইবিএম
রেস্টস্টুল

10

রিপ্রেজেনটেটিভ স্টেট ট্রান্সফার (আরইএসটি) ওয়ার্ল্ড ওয়াইড ওয়েবের মতো বিতরণ করা হাইপারমিডিয়া সিস্টেমগুলির জন্য সফ্টওয়্যার আর্কিটেকচারের একটি স্টাইল। প্রতিনিধিত্বমূলক রাষ্ট্র স্থানান্তর শব্দটি রয় ফিল্ডিংয়ের দ্বারা 2000 সালে প্রবর্তন ও সংজ্ঞায়িত হয়েছিল 1 তার গবেষণা প্রবন্ধে এ [2]। ফিল্ডিং হাইপারটেক্সট ট্রান্সফার প্রোটোকল (এইচটিটিপি) স্পেসিফিকেশন সংস্করণ 1.0 এবং 1.1 এর অন্যতম প্রধান লেখক। আরআরএসটি সীমাবদ্ধতার সাথে সামঞ্জস্য করাটিকে 'রিস্টফুল' বলে উল্লেখ করা হয়। উত্স: উইকিপিডিয়া


8

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

পার্লিস.কম এ রিস্টের উপর স্টিফান তিলকভের উপস্থাপনাগুলি বেশ ভাল, বিশেষত এটি

একটি বইয়ের জন্য, আপনি রিচার্ডসন এবং রুবির রেস্টফল ওয়েব সার্ভিসের চেয়ে ভাল আর কিছু পেতে পারেন না ।


তাহলে কোনও নিয়মিত ওয়েবসাইটকে একটি রেস্ট অ্যাপ্লিকেশন হিসাবে বিবেচনা করা যেতে পারে?
yoyo_fun

1
@ ইয়য়ো_ফুন: হ্যাঁ, একটি নিয়মিত ওয়েবসাইট খুব বিশ্রামেও নির্মিত যেতে পারে। কিছু বিমূর্ততার স্তরে সার্ভার কোনও এইচএমএল কোনও মানুষকে জেএমএন বা কোনও প্রোগ্রামে জেএসএন (বলুন) ফিরিয়ে দেয় কিনা তা অন্তরঙ্গ।
জিম ফেরানস


4

রিচার্ডসন ম্যাচিউরিটি মডেলটিতে API এর 4 টি স্তর নির্ধারণ করা হয়েছে। এগুলি হিসাবে সংজ্ঞায়িত করা হয়:

  • স্তর 0: যে কোনও সিস্টেমের সমস্ত এপিসের একক শেষ পয়েন্ট থাকে (এসওএপি বা আরপিসি এই বিভাগে আসে)। স্তর 0 এপিআইসও "কমান্ড" এর অনুরূপ হতে পারে।

  • স্তর 1: একটি রিসোর্সউরি বর্ণিত সিস্টেম। এটি এমন একটি সিস্টেম যা একাধিক সত্তা-ভিত্তিক ইউআরআই সংজ্ঞায়িত করে (লেভেল 0 সিস্টেমের মতো একক সমাপ্তির পরিবর্তে)। এই ইউআরআইগুলি সেই সংস্থার বিরুদ্ধে বিভিন্ন ক্রিয়াকলাপ বাস্তবায়ন করতে বিভিন্ন পোস্ট ক্রিয়া (পোষ্ট, জিইটি, পুট, ইত্যাদি) ব্যবহার করতে পারে।

  • স্তর 2: ওরফে স্তর 1 ডাব্লু / স্ট্যান্ডার্ড এইচটিটিপি পদ্ধতি / ক্রিয়াগুলি এবং একাধিক স্থিতির কোড প্রতিক্রিয়াগুলির সাথে সামঞ্জস্যপূর্ণ ব্যবহার

  • স্তর 3: ওরফে লেভেল 2 প্লাস হেটোয়াস (হাইপারমেডিয়া প্রতিক্রিয়াতে অন্তর্ভুক্ত রয়েছে যা আপনি করতে পারেন এমন অতিরিক্ত কলগুলি বর্ণনা করে)

স্তর 1, স্তর 2, এবং স্তর 3 টি আরইএসটি সিস্টেম হিসাবে বিবেচনা করা যেতে পারে, কেবলমাত্র কঠোর মাত্রা (ওরফে স্তর 2 এবং স্তর 3) রিস্টফুল হিসাবে বিবেচিত হয়।

সুতরাং মূলত সমস্ত RESTful apis REST apis হয় তবে সমস্ত REST apis বিশ্রামের নয়

রিচার্ডসন পরিপক্কতা মডেলের সংজ্ঞা


2

REST কে একটি আর্কিটেকচারাল "ক্লাস" হিসাবে মনে করুন যখন RESTful সেই শ্রেণীর সুপরিচিত "উদাহরণ"।

দয়া করে মনে রাখবেন ""; আমরা এখানে "রিয়েল" প্রোগ্রামিং অবজেক্টের সাথে কাজ করছি না।


1

একটি "REST পরিষেবা" এবং একটি "RESTful পরিষেবা" এক এবং একই।

একটি রিস্টফুল সিস্টেম এমন কোনও সিস্টেম যা আরএসটিফুল নেটওয়ার্ক নেটওয়ার্ক অ্যাপ্লিকেশনগুলির ধারণা তৈরি করে এমন মূল নথিতে সংজ্ঞায়িত আরএসটি কনভেনশন অনুসরণ করে ।

এটি উল্লেখ করার মতো বিষয় রয়েছে যে সেখানে বিশ্রামের বিভিন্ন স্তর রয়েছে। সামগ্রিকভাবে, REST হ'ল একটি স্টাইল, মান নয়, সুতরাং প্রয়োজনের ভিত্তিতে ব্যাখ্যার সুযোগ রয়েছে। একটি উদাহরণ হায়ারারিকিকাল রিসোর্স ইউআরএল (যেমন /things/ID/relatedthings) বনাম ফ্ল্যাট ইউআরএল (যেমন /things/IDএবং /relatedthings?thing=ID)


1

REST (রিপ্রেসেটেশন স্টেট ট্রান্সফার) এমন একটি আর্কিটেকচার যা ব্যবহার করে ওয়েব সার্ভিসেস তৈরি করা হয়।

এবং

RESTful হ'ল REST আর্কিটেকচার ব্যবহার করে পরিষেবা লেখার উপায়। RESTful পরিষেবাদি ক্লায়েন্টদের সাথে ইন্টারঅ্যাক্ট করার লক্ষ্যগুলি সনাক্ত করতে সংস্থানগুলি উন্মোচিত করে।


0

আরআরইএসটি ওয়েব পরিষেবাদি তৈরির জন্য একটি স্থাপত্য নিদর্শন। একটি আরামদায়ক পরিষেবা হ'ল সেই প্যাটার্নটি কার্যকর করে।

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