সংস্করণ 91 এর আগে, Chrome-এ টাইমার রেজোলিউশনগুলি ডেস্কটপে 5 মাইক্রোসেকেন্ডের মধ্যে সীমাবদ্ধ ছিল, যেখানে সাইট-বিচ্ছিন্নতা সক্ষম করা হয়েছে এবং Android-এ 100 মাইক্রোসেকেন্ডের মধ্যে, যেখানে এটি নেই৷
সংস্করণ 91 থেকে শুরু করে, একটি স্পেসিফিকেশন পরিবর্তনের পর, Chrome প্ল্যাটফর্ম জুড়ে 100 মাইক্রোসেকেন্ডে স্পষ্ট টাইমার ( performance.now()
, performance.timeOrigin
এবং DOMHighResTimestamps
প্রকাশ করে এমন অন্যান্য কর্মক্ষমতা API-এর রেজোলিউশন সীমাবদ্ধ করবে। ক্রস-অরিজিন আইসোলেশন সক্ষম করে, ওয়েবসাইটগুলি প্ল্যাটফর্ম নির্বিশেষে 5 মাইক্রোসেকেন্ডের সীমাবদ্ধতা শিথিল করতে পারে৷
ক্রস-অরিজিন আইসোলেশন সক্ষম করে আরও শক্তিশালী ক্ষমতা অর্জন করা SharedArrayBuffer
এ উত্থাপিত অনুরূপ পদ্ধতি । ক্রস-অরিজিন আইসোলেশন এমন একটি অবস্থা যেখানে একটি ওয়েব পেজ অপ্ট-ইন করা ছাড়া অন্য উৎস থেকে আলাদা করা হয়।
আমি এটা সম্পর্কে কিছু করতে হবে?
সম্ভবত না. performance.now()
অন্যান্য ব্রাউজারে উল্লেখযোগ্যভাবে বেশি মোটা রেজোলিউশনের মধ্যে সীমাবদ্ধ করা হয়েছে (উদাহরণস্বরূপ, 1 মিলিসেকেন্ড = 0.001 সেকেন্ড), তাই আপনার যাইহোক বর্তমান রেজোলিউশনের উপর নির্ভর করা উচিত নয়।
একই সময়ে, আপনি যদি আপনার টাইমারগুলির জন্য উচ্চ রেজোলিউশন থেকে উপকৃত হতে চান, উদাহরণস্বরূপ আরও সঠিক কর্মক্ষমতা পরিমাপের জন্য, আপনাকে নিশ্চিত করতে হবে যে আপনার সাইটটি ক্রস-অরিজিন আইসোলেটেড । এটি আপনাকে ক্রোম এবং অন্যান্য ক্রোমিয়াম ভিত্তিক ব্রাউজার, পাশাপাশি ফায়ারফক্স উভয় ক্ষেত্রেই আরও ভাল রেজোলিউশন প্রদান করবে৷
টাইমারদের ক্রস-অরিজিন আইসোলেশনের সাথে কী করতে হবে?
ব্রাউজার বিক্রেতারা টাইমারগুলিকে আরও মোটা রেজোলিউশনে সীমাবদ্ধ করার সিদ্ধান্ত নিয়েছে (সেইসাথে SharedArrayBuffers এর উপলব্ধতা যা অন্তর্নিহিত টাইমার হিসাবে ব্যবহার করা যেতে পারে) যখন Specter আবিষ্কৃত হয়েছিল। এর কারণ হল স্পেকটার, এবং অনুরূপ অনুমানমূলক এক্সিকিউশন অ্যাটাক, নির্দিষ্ট অপারেশনের সময় পরিমাপ করার জন্য টাইমারের উপর নির্ভর করে, তারপর প্রক্রিয়াটির মেমরির বিষয়বস্তু অনুমান করে।
যদিও অনুমানমূলক মৃত্যুদন্ডের আক্রমণগুলি মোটা টাইমার দিয়ে চালানো যেতে পারে, উচ্চ-রেজোলিউশন টাইমারগুলি তাদের গতি বাড়াতে পারে। ক্রোম তার সাইট-আইসোলেশন আর্কিটেকচার, সেইসাথে অন্যান্য প্রক্রিয়া ব্যবহার করে, ঝুঁকি কমাতে এবং সেই কার্যকারিতাগুলিকে পুনরায় সক্ষম করে, কিন্তু এটি শুধুমাত্র ডেস্কটপ প্ল্যাটফর্ম এবং ক্রোমিয়াম ব্রাউজারগুলিতে সীমাবদ্ধ। অন্তর্নিহিত ব্রাউজার আর্কিটেকচারের উপর নির্ভর করে APIs থাকা সত্যিই আদর্শ নয়।
ক্রস-অরিজিন আইসোলেশন ব্রাউজারগুলিকে একটি বিচ্ছিন্ন পরিবেশে পৃষ্ঠাগুলি চালানোর জন্য স্ট্যান্ডার্ড বেসলাইন প্রদান করে যাতে তারা অনিচ্ছাকৃত ক্রস-অরিজিন রিসোর্স লোড করতে অক্ষম, এবং সেইজন্য, স্পেকটারের জন্য ঝুঁকিপূর্ণ নয়। ক্রস-অরিজিন আইসোলেশনের মাধ্যমে, আমরা এখন পৃষ্ঠাগুলিকে উচ্চ-রেজোলিউশন টাইমার, SharedArrayBuffer
এবং অন্যান্য APIগুলি অ্যাক্সেস করার অনুমতি দিতে পারি যেগুলি অরক্ষিত ক্রস-অরিজিন ডেটা পড়তে পারে এমন প্রক্রিয়াগুলিতে প্রকাশ করা অনিরাপদ৷
এই পরিবর্তনের পিছনের পটভূমি সম্পর্কে আরও জানতে, শক্তিশালী বৈশিষ্ট্যগুলির জন্য কেন আপনার "ক্রস-অরিজিন আইসোলেটেড" প্রয়োজন তা পড়ুন।
আনস্প্ল্যাশে লিন্ডা পেরেজ জোহানেসনের কভার ফটো।