যখন ওয়েবসকেট উপলব্ধ থাকে তখন কেন এজেএক্স ব্যবহার করবেন?


203

আমি এখন থেকে কিছুক্ষণ ওয়েবসকেট ব্যবহার করছি, আমি নোড সার্ভার এবং ওয়েবসকেট ব্যবহার করে বিশ্ববিদ্যালয়ে আমার চূড়ান্ত বছরের প্রকল্পের জন্য একটি চতুর প্রকল্প পরিচালনা সরঞ্জাম তৈরি করতে বেছে নিয়েছি। আমি দেখতে পেয়েছি যে ওয়েবসকেটগুলি ব্যবহার করে আমার অ্যাপ্লিকেশনটি প্রক্রিয়া করতে পারে তার জন্য প্রতি সেকেন্ডের অনুরোধের সংখ্যা 624% বৃদ্ধি পেয়েছে।

তবে প্রকল্পটি শুরু করার পরে আমি সুরক্ষা ফাঁকগুলি এবং কিছু ব্রাউজারগুলি ওয়েবসকেটগুলিকে ডিফল্টরূপে অক্ষম করতে বেছে নিয়েছি ..

এটি আমাকে প্রশ্নের দিকে নিয়ে যায়:

যখন ওয়েবসকেটগুলি বিলম্বিতা এবং রিসোর্স ওভারহেডকে হ্রাস করার মতো দুর্দান্ত কাজটি করে বলে মনে হচ্ছে তখন কেন এজেএক্স ব্যবহার করবেন, ওয়েবসকেটের চেয়েও এজেএক্স আরও ভাল কিছু করতে পারে এমন কি কিছু আছে?


2
ওয়েব সকেটগুলিকে সমর্থন করে এমন ইঞ্জিনগুলির একটি তালিকা এখানে রয়েছে। en.wikedia.org/wiki/…
দান্তে

উত্তর:


209

ওয়েবসকেটস এজেএক্স প্রতিস্থাপনের উদ্দেশ্যে নয় এবং ধূমকেতু / দীর্ঘ-পোলের জন্য কঠোরভাবে প্রতিস্থাপনও নয় (যদিও এমন অনেকগুলি ঘটনা রয়েছে যেখানে এটি বোঝা যায়)।

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

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

ওয়েবসকেটগুলি যে নির্দিষ্ট সুবিধাগুলি সরবরাহ করে আপনার যদি প্রয়োজন না হয় তবে এজেএক্স এবং ধূমকেতুর মতো বিদ্যমান কৌশলগুলির সাথে লেগে থাকার পক্ষে এটি সম্ভবত আরও ভাল ধারণা কারণ এটি আপনাকে সরঞ্জাম, প্রযুক্তি, সুরক্ষা ব্যবস্থার একটি বিশাল বিদ্যমান বাস্তুতন্ত্রের সাথে পুনরায় ব্যবহার এবং সংহত করতে দেয় this , জ্ঞানের ভিত্তি (যেমন স্ট্যাকওভারফ্লোতে অনেক বেশি মানুষ এইচটিটিপি / আজাক্স / ওয়েবস্কটগুলির চেয়ে ধূমকেতু জানেন)) ইত্যাদি etc.

অন্যদিকে, আপনি যদি এমন একটি নতুন অ্যাপ্লিকেশন তৈরি করছেন যা এইচটিটিপি / অ্যাজাক্স / ধূমকেতুর প্রচ্ছন্নতা এবং সংযোগ সীমাবদ্ধতার মধ্যে কেবল ভাল কাজ করে না, তবে ওয়েবসকেটগুলি ব্যবহার করে বিবেচনা করুন।

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

আপডেট : আইওএস 6 এখন বর্তমান হাইবি / আইইটিএফ 6455 মানকে সমর্থন করে।


37
এবং এখন ২০১৪ ভোরের দিকে, ওয়েবসকেটগুলি কার্যত একটি স্ট্যান্ডার্ড (আরএফসি 6455) এবং কেবল অপেরা মিনি এটি সমর্থন করে না।
ডার্ক বেস্টার

4
সত্য, অপেরা মিনি এটি সমর্থন করে না তবে আরও বিব্রতকর কারণ হ'ল অ্যান্ড্রয়েড ব্রাউজারের সমর্থন না থাকা যা ওয়েবভিউ ভিত্তিক অ্যাপ্লিকেশনগুলি (কর্ডোভা ফোনগ্যাপ) ব্যবহার করা কিছুটা জটিল করে তোলে
মাইলস এম

2
@ কনাকা, যদি উভয়েই বড় ফাইলগুলি সমানভাবে ভাল করে তোলে তবে কেন কেবল ওয়েবসকেটের মাধ্যমে সব কিছু প্রেরণ করবেন না? ওয়েবসকেটের মাধ্যমে যখন পাঠানো যেতে পারে তখন অজ্যাক্সিং পৃষ্ঠা / ডেটা কেন বিরক্ত করবেন? (আসুন ধরে নেওয়া যাক এটি ইতিমধ্যে ২০২০ এর মধ্যে রয়েছে এবং সমস্ত ব্রাউজারের ওয়েবসকেটগুলির জন্য সমর্থন রয়েছে)
পেসারিয়ার

3
@ পেসারিয়র একটি সম্পূর্ণ উত্তর দীর্ঘ হবে তবে এটি মূলত এই বিষয়টিকে ফোটায় যে আপনি ব্রাউজার ইতিমধ্যে ভাল করে এমন কিছুগুলি (ক্যাশে, সুরক্ষা, সমান্তরালতা, ত্রুটি পরিচালনা, ইত্যাদি) পুনরায় বাস্তবায়নের চেষ্টা করছেন। পারফরম্যান্স সম্পর্কে, যদিও স্ক্র্যাচ থেকে কাঁচা বড় ফাইল স্থানান্তর গতি একই রকম হবে, ব্রাউজারগুলিতে ওয়েব কন্টেন্ট (যা বেশিরভাগ AJAX অনুরোধে প্রযোজ্য) কেস করার জন্য সূক্ষ্মভাবে সময় লেগেছে তাই বাস্তবে, এজ্যাক্স থেকে ওয়েবসকেটে স্যুইচ করা অনেক বেশি সরবরাহের সম্ভাবনা নেই is বিদ্যমান কার্যকারিতা জন্য সুবিধা। তবে স্বল্প-দেরিতে দ্বি-দিকনির্দেশক যোগাযোগের জন্য এটি একটি বিশাল জয়।
কানাকা

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

63

ডিসেম্বর 2017 এ দ্রুত এগিয়ে যাওয়ার জন্য, ওয়েবসাইটসকেটগুলি প্রতিটি ব্রাউজার দ্বারা (কার্যতঃ) সমর্থিত হয় এবং তাদের ব্যবহার খুব সাধারণ।

তবে, এর অর্থ এই নয় যে ওয়েবসাইটসকেটগুলি এজেএক্সকে প্রতিস্থাপন করতে সক্ষম হয়েছিল, কমপক্ষে পুরোপুরি নয়, বিশেষত এইচটিটিপি / ২ অভিযোজন বাড়ছে।

সংক্ষিপ্ত উত্তরটি হ'ল ওয়েবসকেটগুলি ব্যবহার করার পরেও, এজেন্টগুলি এখনও বেশিরভাগ আরএসইটি অ্যাপ্লিকেশনগুলির জন্য দুর্দান্ত। তবে godশ্বর বিশদে আছেন, তাই ...:

ভোটগ্রহণের জন্য এজেএক্স?

ভোটদানের জন্য (বা দীর্ঘ ভোটদানের জন্য) এজেএক্সের ব্যবহার মরে যাচ্ছে (এবং এটি হওয়া উচিত) তবে এটি এখনও দুটি ভাল কারণে (মূলত ছোট ওয়েব অ্যাপ্লিকেশনের জন্য) ব্যবহারে রয়েছে:

  1. অনেক বিকাশকারীদের জন্য, এজাক্স কোড করা আরও সহজ, বিশেষত যখন ব্যাকএন্ড কোডিং এবং ডিজাইনের ক্ষেত্রে আসে।

  2. এইচটিটিপি / ২ দিয়ে, এজেএক্সের সাথে সম্পর্কিত সর্বাধিক ব্যয় (নতুন সংযোগ স্থাপন) মুছে ফেলা হয়েছিল, বিশেষ করে ডেটা পোস্ট এবং আপলোড করার জন্য এজেএক্স কলগুলি বেশ পারফরম্যান্স হতে দেয়।

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

বিশ্রামের জন্য আজাক্স?

এজ্যাক্সের জন্য আরও ভাল ব্যবহার হ'ল রিস্ট এপিআই কল। এই ব্যবহারটি কোড বেসটিকে সহজতর করে এবং ওয়েবসকেট সংযোগকে ব্লক করা থেকে বিরত করে (বিশেষত মাঝারি আকারের ডেটা আপলোডগুলিতে)।

আরএসটি এপিআই কল এবং ডেটা আপলোডের জন্য এজ্যাক্সকে প্রাধান্য দেওয়ার জন্য অনেকগুলি বাধ্যতামূলক কারণ রয়েছে :

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

  2. আরএএসএস কল এবং আপলোডগুলি এজেএক্স ব্যবহার করে ক্লায়েন্ট এবং ব্যাকএন্ড উভয় ক্ষেত্রে কোড করা উল্লেখযোগ্যভাবে সহজ।

  3. ডেটা পেলোড বাড়ার সাথে সাথে মেসেজ ফ্র্যাগমেন্টেশন / মাল্টিপ্লেক্সিং লজিক কোড কোড না করা থাকলে ওয়েবসকেট সংযোগগুলি ব্লক হয়ে যেতে পারে।

    যদি কোনও আপলোড কোনও একক ওয়েবসাইটকে করা হয় send, আপলোড শেষ না হওয়া অবধি এটি একটি ওয়েবসকেট স্ট্রিমটিকে অবরুদ্ধ করতে পারে। এটি কর্মক্ষমতা হ্রাস করবে, বিশেষত ধীর ক্লায়েন্টদের ক্ষেত্রে।

একটি সাধারণ নকশা ওয়েবকেকেটের উপরে স্থানান্তরিত ছোট বিড়ি বার্তা ব্যবহার করে যখন আরইএসটি এবং ডেটা আপলোডগুলি (ক্লায়েন্ট টু সার্ভার) ওয়েবেজকেটকে আটকাতে বাধা দেওয়ার জন্য এজেএক্সের ব্যবহারের সহজতা লাভ করে।

তবে বৃহত্তর প্রকল্পগুলিতে, ওয়েবসকেটগুলির দ্বারা প্রদত্ত নমনীয়তা এবং কোড জটিলতা এবং রিসোর্স ম্যানেজমেন্টের মধ্যে ভারসাম্য হ'ল ওয়েবসাইটকেটের পক্ষে ভারসাম্য রক্ষা করবে।

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

আপলোড বিভাজন যুক্তিকে কোড করে, কোনও বাধা আপলোড পুনরায় শুরু করা সহজ (শক্ত অংশটি কোডিং করছিল)।

এইচটিটিপি / 2 পুশ সম্পর্কে কী?

আমার সম্ভবত এটি যুক্ত করা উচিত যে এইচটিটিপি / 2 টি পুশ বৈশিষ্ট্যটি ওয়েবসকেটগুলি প্রতিস্থাপন করে না (এবং সম্ভবত এটি করতে পারে না)।

এটি এখানে আগে আলোচনা করা হয়েছিল, তবে এটি উল্লেখ করার পক্ষে যথেষ্ট যে একটি একক HTTP / 2 সংযোগ পুরো ব্রাউজারটিকে (সমস্ত ট্যাব / উইন্ডো) পরিবেশন করে, তাই এইচটিটিপি / 2 দ্বারা চালিত ডেটা এটি কোন ট্যাব / উইন্ডোর সাথে সম্পর্কিত তা জানে না, ওয়েবসাইটকে নির্দিষ্ট নির্দিষ্ট ব্রাউজারের ট্যাব / উইন্ডোতে সরাসরি ডেটা ঠেকানোর ক্ষমতা প্রতিস্থাপনের ক্ষমতা হ্রাস করা।

যদিও ওয়েবসাইটসকেটগুলি দ্বি-দিকনির্দেশক ডেটা যোগাযোগের জন্য দুর্দান্ত তবে এজেএক্স এখনও অনেকগুলি সুবিধা নিয়েছে - বিশেষত যখন বড় আকারের পেডগুলি (আপলোডগুলি ইত্যাদি) বিবেচনা করে।

এবং সুরক্ষা?

ঠিক আছে, সাধারণত, একজন প্রোগ্রামারকে যত বেশি আস্থা ও নিয়ন্ত্রণ দেওয়া হয়, তত বেশি শক্তিশালী সরঞ্জাম ... এবং সুরক্ষা উদ্বেগ যে আরও বেড়ে যায়।

প্রকৃতি অনুসারে এজেএক্সের উপরের হাতটি থাকবে, কারণ এটি সুরক্ষা ব্রাউজারের কোডটিতে নির্মিত (যা কখনও কখনও প্রশ্নযুক্ত, তবে এটি এখনও আছে)।

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

ব্যক্তিগতভাবে আমি এটি কোনও তাত্পর্যপূর্ণ বলে মনে করি না, যদি আমার মনে হয় ওয়েবসকেটগুলি কিছুটা ভাল হয়, বিশেষত যখন আপনি জানেন যে আপনি কী করছেন।

আমার বিনীত মতামত

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

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


2
ছোট ব্যাকরণ ত্রুটি 'যদি আমি কিছু করি ...' মনে করুন
😀

2
@ স্পটেডমাহন - ধন্যবাদ! আমি অনুমান করি যা ঘটেছিল আমি আমার কোড সম্পাদকটি টেক্সট খসড়াতে ব্যবহার করি 🙃
মাইস্ট

1
দুঃখিত, আমি অনুপস্থিত ছিল যখন অনুগ্রহের মেয়াদ শেষ হয়ে গেল। আমার পক্ষ থেকে খারাপ পরিকল্পনা। আমি আরেকটি অনুগ্রহ নির্ধারণ করেছি যা আমি আপনাকে ২৩ ঘন্টা মেয়াদ শেষ হওয়ার পরে প্রদান করব।
ডানকান জোন্স

@ মহান এই মহান ব্যাখ্যার জন্য ধন্যবাদ। আপনি fb / স্ট্যাকওভারফ্লো এর মতো লাইভ বিজ্ঞপ্তিগুলির জন্য কী পছন্দ করবেন? আমি আমার ওয়েব অ্যাপ্লিকেশনটির জন্য একটি রেস্টফুল ওয়েব সার্ভিসেস ডিজাইন করছি, তবে খুব বিভ্রান্তিতে নোটিফিকেশন বৈশিষ্ট্যের জন্য আমার কী ব্যবহার করা উচিত? এজেএক্স বা ওয়েবসকেটস?
TheCoder

@ স্পেন বিজ্ঞপ্তিগুলি (আইএমএইচও) ওয়েবসকেটগুলির জন্য দুর্দান্ত fit আপনি পুনরায় সংযোগ যুক্তি এবং অফলাইন বিজ্ঞপ্তি সারি ডিজাইন করার সময় অনেকগুলি সিদ্ধান্ত নেওয়া হয়, তবে আসল বিজ্ঞপ্তি কোড করা সহজ এবং ওয়েবসকেটগুলির সাথে পারফরম্যান্ট is
Myst

18

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

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


ভাগ্যক্রমে বেশিরভাগ ওয়েবস্কট ফ্রেমওয়ার্ক সাফল্যের জন্য সকেটের জন্য ফ্ল্যাশ ব্যবহার সহ ফলব্যাকগুলি সমর্থন করে। সকেটেন.আইও এবং সিগন্যালআর উভয়ই যথাযথ ফ্রেমওয়ার্ক ... যদিও আপনি প্রক্সি এবং লোড ব্যালান্সারের কারণে উল্লেখ করেছেন really ভাগ্যক্রমে, নোড.জেএস এবং পরবর্তী আইআইএস উভয়ই এই ভূমিকাটি সহ একটি ভাল কাজ করে।
ট্র্যাকার 1

কৌতূহল: কোন ক্যারিয়ারগুলি 80 পোর্টে ওয়েবস্কিটকে ব্লক করে? 443 পোর্টে কোন ব্লক সুরক্ষিত ওয়েবস্কট (ডাব্লুএসএস)? পরবর্তীকালে বোঝানো, স্বচ্ছ এমআইটিএম ওয়েব প্রক্সিগুলি বোঝায় .. সর্বজনীন নেটওয়ার্কগুলিতে (কেবলমাত্র কর্পোরেটগুলি) কখনই এটি দেখা যায় নি, কারণ এটি ব্রাউজারগুলিতে নতুন সিএ সার্ট ইনস্টল করা প্রয়োজন।
oberstet

শত্রু উদাহরণস্বরূপ, বর্তমানে ভোডাফোন ইতালি 80 বন্দরটি ডব্লিউএসকে ব্লক করে, তবে 443 বন্দরটিতে ডাব্লুএসএসকে অনুমতি দেয় You আপনি আমাদের হোম পেজের মাধ্যমে যে কোনও বাহককে খুব সহজেই পরীক্ষা করতে পারেন, যা আপনি এইচটিটিপি এবং এইচটিটিপিএস উভয়ই অ্যাক্সেস করতে পারবেন। এটি ওয়েবসকেটগুলির চেষ্টা করে এবং যদি সেগুলি অবরুদ্ধ করা হয় তবে HTTP- র কাছে ফিরে যায়। মাঝখানে উইজেট প্রদর্শন করতে এই ইউআরএলটি ব্যবহার করুন যা বর্তমান ট্রান্সপোর্টের প্রতিবেদন করে: লাইটসট্রেমার.com
আলেসান্দ্রো অ্যালিনোন

17

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


11

ওয়েবসকেটগুলি পুরানো ওয়েব ব্রাউজারগুলিতে কাজ করে না এবং এটি সমর্থন করে এমনগুলি প্রায়শই ভিন্ন ভিন্ন বাস্তবায়ন থাকে। এজেএক্সের জায়গায় সব সময় তাদের ব্যবহার করা হয় না বলেই এটি বেশিরভাগ কারণ।


8
এর আরও ভাল কারণ হ'ল একটি এজেএক্স অনুরোধটি একটি সাধারণ এইচটিটিপি অনুরোধ যার অর্থ এটি HTTP সংস্থানগুলি পুনরুদ্ধার করতে পারে; ওয়েবসকেটগুলি এটি করতে পারে না।
ড্যান ডি

@ ড্যান যদি উদাহরণস্বরূপ চিত্র ফাইলগুলি বেস 64 হিসাবে পাঠানো হয় তবে পাঠ্য হিসাবে সিএসএস, জাভাস্ক্রিপ্টটিকে পাঠ্য হিসাবে এবং তারপরে নথিতে সংযুক্ত করা হয়? তা কি দুর্ভাগ্যজনক হবে?
জ্যাক 1

@DanD। +1, আমি একমত, আমি অনুমান করি যে আমি প্রশ্নের উদাহরণ হিসাবে দ্রুত স্ট্রিমিং ডেটা প্রসঙ্গে প্রশ্নটি আরও কাছে আসছিলাম তবে এটি অবশ্যই সঠিক is
jli

@ ড্যান ডি - কখনও কখনও আপনি চান না যে সমস্ত বোকাটি লাইন ধরে চলেছে, যেমন কুকিজ এবং শিরোনাম ...
vsync

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

2

আমি মনে করি না যে আমরা ওয়েবসকেট এবং এইচটিটিপি এর পরিষ্কার তুলনা করতে পারি কারণ তারা কোনও প্রতিদ্বন্দ্বী নয় বা একই সমস্যার সমাধান করতে পারে।

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

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

আমাদের আবেদনের জন্য কোনটি আরও ভাল সমাধান সরবরাহ করে তা আমাদের যাচাই করা উচিত, কোনটি আমাদের ব্যবহারের ক্ষেত্রে সবচেয়ে বেশি ফিট করে।


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

@ মাইস্ট আমি আপনার সাথে একমত
গৌরব গান্ধী

1

একটি ক্লায়েন্ট-আকারের lib আকারে HTTP এবং ওয়েবসাইটসকেটের মধ্যে পার্থক্যের একটি উদাহরণ যা ক্লায়েন্টের উপর থাকা REST এপিআই এবং RESTful এন্ডপয়েন্টগুলির মতো ওয়েবসকেট শেষ পয়েন্ট হ্যান্ডেল করতে পারে। https://github.com/mikedeshazer/sockrest এছাড়াও, যারা ক্লায়েন্ট বা তার বিপরীতে যেভাবে ব্যবহার করা হচ্ছে তার জন্য একটি ওয়েবসকেট এপিআই গ্রাহ্য করার চেষ্টা করছেন। Libs / sockrest.js বেশ কিছুটা এটিকে পার্থক্যগুলি পরিষ্কার করে দেয় (বা বরং মনে করা হয়)।

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