এই বিষয়টিতে নতুন পাঠক আপনার কী করা উচিত তা নিয়ে অফুরন্ত আলোচনা এবং অভিজ্ঞতা থেকে পাঠের আপেক্ষিক অনুপস্থিতি দ্বারা হতবাক হবে। এসওএপি-এর চেয়ে আরএসইএসটি "পছন্দসই" হওয়ার বিষয়টি হ'ল, আমি মনে করি, অভিজ্ঞতা থেকে একটি উচ্চ-স্তরের শিক্ষণ, তবে আমাদের সেখানে ধার্মিকতা অবশ্যই অগ্রগতি করেছে? এটি 2016. রয়ের গবেষণামূলক প্রবন্ধটি 2000 সালে ছিল we আমরা কী বিকাশ করেছি? এটা কি মজা ছিলো? এর সাথে একীকরণ করা কি সহজ ছিল? সাহায্য করা? এটি কি স্মার্টফোন এবং ফ্লাইকি মোবাইল সংযোগগুলির উত্থান পরিচালনা করবে?
এমই অনুসারে, রিয়েল-লাইফ নেটওয়ার্কগুলি অবিশ্বস্ত। সময়সীমা অনুরোধ। সংযোগগুলি পুনরায় সেট করা হয়েছে। নেটওয়ার্কগুলি একসাথে ঘন্টা বা দিন নেমে যায়। যাত্রীবাহী মোবাইল ব্যবহারকারীদের সাথে ট্রেনগুলি টানেলগুলিতে যায়। যে কোনও প্রদত্ত অনুরোধের জন্য (যেমনটি এই সমস্ত আলোচনায় মাঝেমধ্যে স্বীকৃত) অনুরোধটি তার পথে জলে পড়তে পারে, বা প্রতিক্রিয়াটি ফেরার পথে পানিতে পড়ে যেতে পারে। এই পরিস্থিতিতে, পুষ্টিকর উত্সগুলির বিরুদ্ধে সরাসরি পুট, পোস্ট এবং মুছে ফেলার অনুরোধ জারি করা আমাকে সর্বদা সামান্য নিষ্ঠুর এবং নির্বোধ বলে আঘাত করেছে।
এইচটিটিপি অনুরোধের প্রতিক্রিয়াটির নির্ভরযোগ্যতা সম্পন্ন করার জন্য কিছুই করে না এবং এটি ঠিক আছে কারণ এটি সঠিকভাবে নেটওয়ার্ক-সচেতন অ্যাপ্লিকেশনগুলির কাজ। এই জাতীয় অ্যাপ্লিকেশনটি বিকাশ করে আপনি পোষ্টের পরিবর্তে পুট ব্যবহার করতে হুপসের মধ্য দিয়ে ঝাঁপিয়ে পড়তে পারেন, তারপরে যদি আপনি সদৃশ অনুরোধগুলি সনাক্ত করেন তবে সার্ভারে একটি নির্দিষ্ট ধরণের ত্রুটি দেওয়ার জন্য আরও হুপ্স। ক্লায়েন্টের কাছে ফিরে এসে আপনাকে এই ত্রুটিগুলি ব্যাখ্যা করতে, পুনরায় পাঠানো, পুনর্নির্মাণ এবং পুনরায় পোস্ট করতে হুপসের মধ্য দিয়ে ঝাঁপিয়ে পড়তে হবে।
বা আপনি এটি করতে পারেন : আপনার অনিরাপদ অনুরোধগুলি সাময়িক একক-ব্যবহারকারীর সংস্থান হিসাবে বিবেচনা করুন (আসুন তাদের ক্রিয়া বলুন)। ক্লায়েন্টরা রিসোর্সটিতে একটি খালি POST সহ স্থিতিশীল সংস্থায় একটি নতুন "ক্রিয়া" করার অনুরোধ করে। পোস্ট কেবল এটির জন্য ব্যবহৃত হবে। একবার সুরক্ষিতভাবে তাজা মিন্ট করা কর্মের ইউআরআই দখলে নেওয়ার পরে ক্লায়েন্টটি লক্ষ্য সংস্থান নয় , ক্রিয়াকলাপের ইউআরআইতে অনিরাপদ অনুরোধটি রাখে । ক্রিয়াটি সমাধান করা এবং "সত্যিকারের" রিসোর্সটি আপডেট করা সঠিকভাবে আপনার এপিআইয়ের কাজ, এবং অবিশ্বস্ত নেটওয়ার্ক থেকে এখানে ডিকপল করা হয়েছে।
সার্ভারটি ব্যবসা করে, প্রতিক্রিয়া ফিরিয়ে দেয় এবং সম্মত ক্রিয়া ইউআরআইয়ের বিরুদ্ধে সঞ্চয় করে । যদি কোনও ভুল হয়ে যায়, ক্লায়েন্ট অনুরোধটি পুনরাবৃত্তি করে (প্রাকৃতিক আচরণ!) এবং যদি সার্ভারটি ইতিমধ্যে এটি দেখে থাকে তবে এটি সঞ্চিত প্রতিক্রিয়াটির পুনরাবৃত্তি করে এবং অন্য কিছুই করে না ।
আপনি প্রতিশ্রুতিগুলির সাথে দ্রুত মিল খুঁজে পাবেন: আমরা কিছু করার আগে ফলাফলের জন্য স্থানধারক তৈরি করি এবং ফিরিয়ে দেব। প্রতিশ্রুতির মতো, কোনও ক্রিয়া একবারে সফল বা ব্যর্থ হতে পারে, তবে এর ফলাফল বারবার আনা যায়।
সর্বোপরি, আমরা অ্যাপ্লিকেশনগুলি প্রেরণ এবং প্রাপ্তিগুলিকে স্ব স্ব পরিবেশের স্বতন্ত্রতার সাথে স্বতন্ত্রভাবে চিহ্নিত কর্মটি লিঙ্ক করার একটি সুযোগ দিই। এবং আমরা ক্লায়েন্টদের কাছ থেকে দায়িত্বশীল আচরণের দাবি, এবং প্রয়োগ করা শুরু করতে পারি: আপনার অনুরোধগুলি আপনার পছন্দমতো পুনরাবৃত্তি করুন, তবে আপনি যতক্ষণ না বিদ্যমান উপস্থিতি থেকে কোনও সুনির্দিষ্ট ফলাফলের অধিকারী না হন ততক্ষণ কোনও নতুন পদক্ষেপ গ্রহণ করবেন না।
এমনিতেই অসংখ্য কাঁটাযুক্ত সমস্যা চলে যায়। বারবার সন্নিবেশ অনুরোধগুলি সদৃশ তৈরি করবে না এবং আমরা ডেটা দখল না করা পর্যন্ত আমরা আসল সংস্থান তৈরি করব না। (ডাটাবেস কলামগুলি অযোগ্য নয়) বারবার আপডেট অনুরোধগুলি বেমানান রাজ্যে আঘাত করবে না এবং পরবর্তী পরিবর্তনগুলি ওভাররাইট করবে না। ক্লায়েন্টরা (পুনরায়) যে কোনও কারণেই (মূল ক্লায়েন্ট ক্র্যাশ, প্রতিক্রিয়া নিখোঁজ হয়েছে ইত্যাদি) আসল নিশ্চিতকরণ প্রক্রিয়াটি আনতে এবং বিজোড় করতে পারে।
ধারাবাহিকভাবে মোছার অনুরোধগুলি 404 ত্রুটি না আঘাত করে মূল নিশ্চিতকরণটি দেখতে ও প্রক্রিয়া করতে পারে। যদি বিষয়গুলি প্রত্যাশার চেয়ে বেশি সময় নেয় তবে আমরা সাময়িকভাবে প্রতিক্রিয়া জানাতে পারি এবং আমাদের এমন একটি জায়গা রয়েছে যেখানে ক্লায়েন্টটি নিশ্চিত ফলাফলের জন্য ফিরে পরীক্ষা করতে পারে। এই প্যাটার্নের সর্বোত্তম অংশটি হ'ল এর কুং-ফু (পান্ডা) সম্পত্তি। আমরা একটি দুর্বলতা গ্রহণ করি, ক্লায়েন্টরা যে কোনও সময় কোনও প্রতিক্রিয়া তারা যে প্রতিক্রিয়া বুঝতে না পারে তার পুনরাবৃত্তি করার প্রবণতা নিয়ে যায় এবং এটিকে একটি শক্তিতে পরিণত করে :-)
আমাকে বলার আগে এটি বিশ্রামযোগ্য নয়, দয়া করে অসংখ্য উপায়গুলিতে বিবেচনা করুন যার মধ্যে REST নীতির প্রতি শ্রদ্ধাশীল। ক্লায়েন্টরা ইউআরএল তৈরি করে না। শব্দার্থবিজ্ঞানের সামান্য পরিবর্তন সত্ত্বেও এপিআই আবিষ্কারযোগ্য হয়ে ওঠে। HTTP ক্রিয়াগুলি যথাযথভাবে ব্যবহৃত হয় are আপনি যদি মনে করেন এটি বাস্তবায়নের জন্য বিশাল পরিবর্তন, আমি আপনাকে অভিজ্ঞতা থেকে বলতে পারি যে এটি তা নয়।
আপনি যদি ভাবেন যে আপনার কাছে প্রচুর পরিমাণে ডেটা সঞ্চয়যোগ্য রয়েছে, আসুন খণ্ড খণ্ডের কথা: একটি সাধারণ আপডেট কনফার্মেশন হ'ল কিলোবাইটের একটি ভগ্নাংশ। এইচটিটিপি বর্তমানে আপনাকে একটি বা দুই মিনিট সময় দেয় যথাযথভাবে সাড়া দেওয়ার জন্য। এমনকি যদি আপনি কেবল এক সপ্তাহের জন্য ক্রিয়া সঞ্চয় করেন, ক্লায়েন্টদের কাছে ধরার যথেষ্ট সুযোগ রয়েছে। আপনার যদি খুব উচ্চ ভলিউম থাকে তবে আপনি একটি ডেডিকেটেড অ্যাসিড-কমপ্লায়েন্ট কী মানের দোকান, বা একটি মেমরির সমাধান চাইবেন।