একই অ্যাপ্লিকেশনটিতে RESTful HTTP এবং ওয়েবসকেট?


17

যদি কোনও অ্যাপ্লিকেশন ইতিমধ্যে WebSocketলাইভ ফিডগুলির জন্য খোলা থাকে, তবে আমি কি AJAXসার্ভারের সাথে অন্য যোগাযোগের জন্য এটি ব্যবহার করব ?

সংযোগটি ইতিমধ্যে খোলা থাকার কারণে, আমরা কি এটি অনুরোধগুলির জন্য ব্যবহার করব যা Request/Responseবাস্তব সময় নয়?

আমি RESTful HTTPঅনুরোধগুলি পছন্দ করি কারণ আমি তাদের ডিবাগ করা আরও সহজ বলে মনে করি। আপনি API কী দেয় তা পরীক্ষা করতে আপনি url বা কার্লস সহ একটি ব্রাউজার ব্যবহার করতে পারেন। খোলার জন্য আপনাকে কোড লিখতে হবে না WebSocket

এটি কি অদ্ভুত RESTful HTTP APIএবং WebSocketএকই অ্যাপ্লিকেশনটিতে থাকবে?


1
"এপিআই পরীক্ষা করার জন্য আপনাকে কোনও কোড লিখতে হবে না" আপনি কি আরও কিছুটা ব্যাখ্যা করতে পারেন? আপনাকে এপিআই পরীক্ষা করতে হবে না এমন ভাবনা কী করে?
এলিয়াস ভ্যান ওটেজেম

ক্রোম বিকাশকারী সরঞ্জামগুলি যদি আমার ভুল না হয় তবে আপনাকে একটি
ওয়েবসকেট

@ ইলিয়াসভ্যানঅটেজেম ভাল পয়েন্ট দুঃখিত এটি পরিষ্কার ছিল না। আপনাকে এখনও সার্ভারের পাশের ইউনিট প্রকল্পের সাথে API পরীক্ষা করতে হবে। আমার অর্থ হ'ল, যদি আপনি এপিআই কী কী ফিরে আসবে তা যদি একবার তদন্ত করতে চান তবে আপনি ইউআরএল সহ একটি ব্রোজার ব্যবহার করতে পারেন। ওয়েবসকেট খোলার জন্য আপনাকে কোড লিখতে হবে না। আমি আমার প্রশ্ন আপডেট।
মার্ক

@ ম্যাপল_শ্যাফ্ট এটি ভাল তবে আপনাকে একটি ওয়েবসকেট সার্ভারে খোলার একটি পৃষ্ঠায় থাকা দরকার।
মার্ক

উত্তর:


14

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

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

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


1
এটাই আমি ভাবছিলাম। রিয়েল-টাইম লাইভ ফিডের জন্য ওয়েবসকেটগুলি ব্যবহার করা বোধগম্য হয় তবে সিআরইউডি অপারেশন সম্পর্কে কী বলা যায়? তাদের জন্য একটি স্ট্যান্ডার্ড এইচটিটিপি অনুরোধ ব্যবহার করা আমার মনের মধ্যে আরও বোধগম্য হয়।
মার্ক

2
@ মার্ক, আমি সিআরইউডি অপারেশন এবং রিয়েল-টাইম উদ্বেগগুলিকে পৃথক করা খুব অদ্ভুত মনে করব না (একজন অন্যটি ওয়েবসকেট এইচটিটিপি ব্যবহার করে) ... তবে ... আমি বিশ্বাস করি যে আপনি সার্ভারের থেকে আরও ভাল সাড়া পাবেন, পাশাপাশি যদি আপনি আপনার সমস্ত ক্রিয়াকলাপের জন্য অবিচ্ছিন্ন সংযোগ (ওয়েবসাইটসকেট) ব্যবহার করেন তবে আরও ভাল পারফরম্যান্স। এটি সত্যই আপনার সিআরইউডি যা প্রয়োজন তার উপর নির্ভর করে তবে আমি কোনও সিআরইউডি ওয়েবসকেট ইন্টারফেস থেকে লজ্জা পাব না।
Myst

upvoted! নবাবী এখানে, যেহেতু আপনি উল্লেখ করেছেন যে উভয়ই একই বন্দরে যোগাযোগ করা হবে, আপনি যদি সরাসরি লাইভ স্টক থেকে স্টকের দামগুলি নিয়ে আসছেন এবং ভারী ট্র্যাফিকের কারণে কয়েক মিনিটের জন্য স্ট্রিমটি সংযোগ বিচ্ছিন্ন হয়ে যায়, আপনি কীভাবে ডেটা পাবেন বা কীসের মধ্যে? সেই মামলাটি মোকাবেলা করার জন্য কৌশলগুলি বিদ্যমান রয়েছে
পাইরেটঅ্যাপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.