আপডেট 2x
সংক্ষিপ্ত উত্তর: না, কেবলমাত্র পথ এবং প্রোটোকল ক্ষেত্র নির্দিষ্ট করা যেতে পারে।
দীর্ঘ উত্তর:
ক্লায়েন্ট / ব্রাউজার প্রেরণের জন্য অতিরিক্ত শিরোনাম নির্দিষ্ট করার জন্য জাভাস্ক্রিপ্ট ওয়েবসকেটস এপিআই-তে কোনও পদ্ধতি নেই । এইচটিটিপি পাথ ("জিইটি / এক্সআইজেড") এবং প্রোটোকল শিরোনাম ("সেক-ওয়েবস্কট-প্রোটোকল") ওয়েবস্কট কনস্ট্রাক্টরে নির্দিষ্ট করা যেতে পারে।
সেক-ওয়েবসকেট-প্রোটোকল শিরোলেখ (যা কখনও কখনও ওয়েবসকেট নির্দিষ্ট প্রমাণীকরণে ব্যবহারের জন্য প্রসারিত হয়) Sচ্ছিক দ্বিতীয় যুক্তি থেকে ওয়েবস্কট কনস্ট্রাক্টরের উত্পন্ন হয়:
var ws = new WebSocket("ws://example.com/path", "protocol");
var ws = new WebSocket("ws://example.com/path", ["protocol1", "protocol2"]);
নিম্নলিখিত শিরোনামে উপরের ফলাফল:
Sec-WebSocket-Protocol: protocol
এবং
Sec-WebSocket-Protocol: protocol1, protocol2
ওয়েবসকেট প্রমাণীকরণ / অনুমোদন অর্জনের জন্য একটি সাধারণ প্যাটার্ন হ'ল টিকিটিং সিস্টেমটি প্রয়োগ করা যেখানে ওয়েবস্কট ক্লায়েন্টের হোস্টিং পৃষ্ঠাটি সার্ভার থেকে একটি টিকিটের জন্য অনুরোধ করে এবং তারপরে প্রোটোকল ক্ষেত্রে, URL / কোয়েরি স্ট্রিংয়ে ওয়েবস্কট সংযোগ সেটআপের সময় এই টিকিটটি পাস করে, বা সংযোগ স্থাপনের পরে প্রথম বার্তা হিসাবে প্রয়োজনীয়। সার্ভারটি কেবল তখনই সংযোগটি চালিয়ে যাওয়ার অনুমতি দেয় যদি টিকিট বৈধ হয় (বিদ্যমান, ইতিমধ্যে ব্যবহার করা হয়নি, টিকিটের ম্যাচগুলিতে ক্লায়েন্ট আইপি এনকোডেড, টিকিটের টাইমস্ট্যাম্প সাম্প্রতিককালে ইত্যাদি)। এখানে ওয়েবসকেট সুরক্ষা তথ্যের একটি সংক্ষিপ্তসার রয়েছে: https://devcenter.heroku.com/articles/websket- সুরক্ষা
বুনিয়াদি প্রমাণীকরণটি আগে একটি বিকল্প ছিল তবে এটি অবচয় করা হয়েছে এবং আধুনিক ব্রাউজারগুলি নির্দিষ্ট করে থাকলেও শিরোনামটি প্রেরণ করে না।
বেসিক লেখার তথ্য (হ্রাস করা) :
অনুমোদনের শিরোনামটি ওয়েবসকেট ইউআরআইয়ের ব্যবহারকারীর নাম এবং পাসওয়ার্ড (বা কেবল ব্যবহারকারীর নাম) ক্ষেত্র থেকে উত্পন্ন হয়েছে:
var ws = new WebSocket("ws://username:password@example.com")
উপরের ফলাফলগুলি নীচের শিরোনামটিতে "ব্যবহারকারীর নাম: পাসওয়ার্ড" বেস 64 এনকোডযুক্ত স্ট্রিং সহ রয়েছে:
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
আমি ক্রোম 55 এবং ফায়ারফক্স 50 এ মৌলিক লেখক পরীক্ষা করেছি এবং যাচাই করেছি যে প্রকৃতপক্ষে প্রাথমিক লেখক তথ্যটি সার্ভারের সাথে আলোচনা করা হয়েছে (এটি সাফারিতে কাজ নাও করতে পারে)।
প্রাথমিক লেখক উত্তরের জন্য দিমিত্রি ফ্র্যাঙ্ককে ধন্যবাদ's