যখন অনুরোধগুলি হ্যান্ডল করতে AJAX ব্যবহার করে বনাম অনুরোধগুলি হ্যান্ডেল করতে REST ব্যবহার করবেন [বন্ধ]


12

আমার ওয়েব পৃষ্ঠায়, যদি আমি গতিশীল ড্রপডাউনগুলি (উদাহরণস্বরূপ নির্বাচিত দেশের উপর ভিত্তি করে শহরের নাম) প্রদর্শন করতে চান তবে আমি এজেএক্স ব্যবহার করে এটি করতে পারি। তবে আমি এটি একটি রেস্ট কল ব্যবহার করেও করতে পারি। তাহলে আমার কোনটি ব্যবহার করা উচিত?

আমার সমস্যাটি হ'ল আমি সত্যিই আরইএসটি এবং অন্য কোনও এইচটিটিপি ব্রাউজারের অনুরোধের মধ্যে পার্থক্য পাই না ((একটি ফর্ম জমা দিন)। আমি আরইএসটি-র আনুষ্ঠানিক সংজ্ঞাগুলি দেখেছি এবং এটি কোনও এইচটিটিপি অনুরোধের মতো বলে মনে হচ্ছে। তাহলে কীভাবে আধ্যাত্মিকভাবে আরএএসএএসের চেয়ে আলাদা?


6
আপনি অনুমান হিসাবে, তারা মোটেই পারস্পরিক একচেটিয়া নয়।
শেঠ ব্যাটিন

2
আপনার অ্যাপ্লিকেশনটি যখন অন্য অ্যাপ্লিকেশন দ্বারা অ্যাক্সেস করা হয় আপনি সাধারণত একটি রেস্ট এপিআই ব্যবহার করবেন
জিয়ান আকুনা

আমি দুজনের তুলনা দেখতে পাচ্ছি না। ডাব্লিক ওয়েব সামগ্রী বাস্তবায়নের জন্য এজেএক্স হ'ল একাধিক টেকিনিকের অ্যাপ্লিকেশন, যখন আরইএসটি একটি স্থাপত্য শৈলী।
jramoyo

2
@ ডাউনভোটার --- কেন ঘৃণা?
কৌশিক

উত্তর:


26

আমি এজেএক্স ব্যবহার করে এটি করতে পারি। তবে আমি এটি একটি রেস্ট কল ব্যবহার করেও করতে পারি।

উম, না। এই দুটি সম্পূর্ণ অর্থেগোনাল। আপনি যদি কোনও সার্ভার থেকে পেতে আপনার ডেটা সহ আপনার পৃষ্ঠাটি আপডেট করতে চান তবে আপনি এটিজ্যাক্স ব্যবহার করে এটি করবেন do অন্য কোন উপায় নেই। এবং যে Ajax কল করতে পারেন বিশ্রাম, বা অন্য কিছু ব্যবহার করুন।

আমার সমস্যাটি হ'ল আমি আসলেই আরইএসটি এবং এইচটিটিপি ব্রাউজারের অনুরোধের মধ্যে পার্থক্য পেতে পারি না ((একটি ফর্ম জমা দিন)। আমি আরইএসটি-র আনুষ্ঠানিক সংজ্ঞাগুলি দেখেছি এবং এটি একটি এইচটিটিপি অনুরোধের মতো বলে মনে হচ্ছে।

একটি REST কল হ'ল একটি HTTP অনুরোধ, সর্বদা। যদিও এটি নিয়মিত ব্রাউজার কলগুলি (ফর্ম জমা দেওয়ার মতো) হ্যান্ডেল করতে এবং পুরো HTML পৃষ্ঠাগুলি ফিরে আসতে ব্যবহার করা যেতে পারে , তবে এটি সাধারণত এপিআই কলগুলি হ্যান্ডেল করতে ব্যবহৃত হয় যা কেবলমাত্র ডেটা ফেরত (সাধারণত জেএসএন ফর্ম্যাটে)।

তাহলে এর আলাদা নাম থাকবে কেন?

কারণ REST হ'ল এইচটিটিপি ব্যবহারের একটি নির্দিষ্ট স্টাইল, যুক্তিযুক্তভাবে এটি ব্যবহার করা কারণ এটি মূলত ব্যবহৃত হয়েছিল, তবে যা বেশিরভাগ লোক "পায়" না এবং প্রায় 2 দশক ধরে খুব কমই ব্যবহৃত হত।

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


6
REST টি সর্বদা HTTP- র উপরে থাকতে হবে না। যে কোনও প্রোটোকলটি যদি পদ্ধতিগুলির সেট অনুসারে ফিট করে তবে এটি বিশ্রামে থাকতে পারে। তবে ওয়েব অ্যাপ্লিকেশন প্রসঙ্গে এটি অবশ্যই HTTP হবে।
জানু হুদেক

10
@ জান হুডেক: অন্য প্রোটোকলের সাথে আরএসইএসটি ব্যবহারের কোনও বাস্তব বিশ্বের উদাহরণ রয়েছে কি?
মাইকেল বর্গওয়ার্ট

6

ভাল আমি মনে করি আপনার প্রথমে বুঝতে হবে যে আপনার ব্যবহারের ক্ষেত্রে এজ্যাক্স এবং আরআরইএসটি সত্যিকারের বিকল্পগুলির নয়। এজ্যাক্স অ্যাসিঙ্ক্রোনাস জাভাস্ক্রিপ্ট এবং এক্সএমএল এর জন্য দাঁড়িয়েছে তাই যদি আপনি ব্রাউজারের অনুরোধ শেষ হওয়ার পরে ডেটা লোড করার জন্য জাভাস্ক্রিপ্ট ব্যবহার করছেন আপনি এজেএক্স করছেন।

অন্যদিকে REST বলতে রিপ্রেজেনটেটিভ স্টেট ট্রান্সফারকে বোঝায় যা স্টিফান বিলেট হিসাবে উল্লেখ করেছেন যে ডেটা স্থানান্তর করতে এইচটিটিপি অনুরোধ ব্যবহার করে। তাই REST হ'ল এজ্যাক্সটি করার একটি উপায়। এসওএপি অন্য একটি হতে পারে তবে এটি আপনার প্রশ্নের জন্য অফটোপিক। সুতরাং আপনার প্রশ্নটি বরং হওয়া উচিত: "আমার ব্যবহারের ক্ষেত্রে কোন প্রযুক্তিটি সবচেয়ে ভাল?"

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


আমি যখন ওয়েবপৃষ্ঠার কোনও অংশ লোড করতে আজাক্স ব্যবহার করি তখন সেই আজেএক্স অনুরোধটি হ'ল তেহ সার্ভারের জন্য একটি কল কল ... আরও সুনির্দিষ্ট..এটি আমার সার্লেটে একটি নির্দিষ্ট পদ্ধতি কল করে। এটি নিরাপদে বলা যায় যে এক্ষেত্রে এজ্যাক্স রেস্ট ব্যবহার করছে?
কৌশিক

ভাল এটি আপনি যে পদ্ধতিতে কল করছেন তার উপর নির্ভর করে। যদি পদ্ধতিটি যেমন একটি রেস্টলফুল ওয়েব সার্ভিসের সীমাবদ্ধতাগুলি পূরণ করে (en.wikedia.org/wiki/Repटकाational_state_transfer ) আপনি হ্যাঁ বলতে পারেন।
লেসস্ট্যাট

4

REST একটি সার্ভারের রিসোর্সগুলি পেতে, সন্নিবেশ করানো, আপডেট করতে, মুছতে যথাক্রমে HTTP ক্রিয়াগুলি GET, POST, PUT, DELETE ব্যবহার করছে। উদাহরণস্বরূপ ইউআরএল সহ জিইটি: কন্ট্রোলার / গ্রাহক / আইডি
Get বিকল্পটি নিয়ন্ত্রকের সাথে গেটকাস্টমারবিআইআইডি (আইডি), ইনসার্টকাস্টমারের (গ্রাহক), আপডেটকাস্টমারের (গ্রাহক), ডিলিটকাস্টমারের (গ্রাহক) পদ্ধতি যুক্ত করছে। এটিই আরপিসি পদ্ধতির নামে পরিচিত। উদাহরণস্বরূপ url সহ GET: নিয়ামক / getCustomerById? Id = {id
the এর মধ্যে একটি পার্থক্য হ'ল একটি REST এপিআই এক প্রকার অনুমানযোগ্য। যদি আপনি আরআরইএসটি জানেন এবং আপনি যে সংস্থানটি চান তার নামটি (যেমন গ্রাহক) জানেন তবে আপনি অবিলম্বে ঝাঁপিয়ে পড়তে পারেন এবং স্ট্যান্ডার্ড ক্রিয়াগুলির সাহায্যে আরইএসটি নিয়ন্ত্রণকারীটি ব্যবহার করতে পারেন।
আরপিসি পদ্ধতির সাথে সাথে আপনার কন্ট্রোলারে কী কী পদ্ধতি রয়েছে, কী ধরণের যুক্তি গ্রহণ করা হয় তা আপনার জানা দরকার etc. এই স্বাক্ষরগুলি অ্যাপ্লিকেশন থেকে অ্যাপ্লিকেশনে নিয়ামক থেকে নিয়ামকের পরিবর্তিত হতে পারে।
অন্যদিকে এজ্যাক্স কেবলমাত্র পূর্বনির্ধারিত অনুরোধগুলি রাখার একটি অ্যাসিনক্রোনাস উপায়, এটি একটি আরএসটি কল বা আরপিসি কল হিসাবেই হোক।


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