ব্যবহারকারী এজেন্ট স্ট্রিং এর উপর নির্ভরশীল কার্যকারিতা প্রতিস্থাপন করতে, আপনি ব্যবহারকারী এজেন্ট ক্লায়েন্ট ইঙ্গিত API প্রয়োগ করতে পারেন।
ব্যবহারকারী-এজেন্ট ক্লায়েন্ট ইঙ্গিত পৃষ্ঠা কিছু পটভূমি প্রদান করে।
এই ব্লগ পোস্টের অবশিষ্টাংশ অবমূল্যায়িত বলে বিবেচনা করা উচিত।
ইউজার-এজেন্ট রিডাকশন হল ইউজার-এজেন্ট (UA) স্ট্রিং-এর তথ্য শুধুমাত্র ব্রাউজারের ব্র্যান্ড এবং উল্লেখযোগ্য সংস্করণ, এর ডেস্কটপ বা মোবাইলের পার্থক্য এবং এটি যে প্ল্যাটফর্মে চলছে তার মধ্যে তথ্য কমিয়ে প্যাসিভ ফিঙ্গারপ্রিন্টিং সারফেস কমানোর একটি প্রচেষ্টা। বর্তমানে, UA স্ট্রিং প্রতিটি HTTP অনুরোধে শেয়ার করা হয় এবং ব্রাউজার দ্বারা লোড করা সমস্ত সংস্থান জাভাস্ক্রিপ্টে প্রকাশ করা হয়। এটিতে ব্রাউজার, এটি যে প্ল্যাটফর্মে চলছে এবং এর ক্ষমতা সম্পর্কে গুরুত্বপূর্ণ তথ্য রয়েছে৷ ব্যবহারকারী-এজেন্ট ক্লায়েন্ট ইঙ্গিত (UA-CH) সম্পূর্ণ UA স্ট্রিংয়ের মতো একই তথ্য প্রদান করতে পারে, যখন সাইটগুলিকে শুধুমাত্র তাদের প্রয়োজনীয় UA তথ্যের জন্য অনুরোধ করতে দেয়।
ক্রোম 95 বিটা দিয়ে শুরু করে, আমরা ব্যবহারকারী-এজেন্ট হ্রাসের জন্য মূল ট্রায়াল খুলব যাতে সাইটগুলিকে এখন হ্রাস করা UA স্ট্রিং গ্রহণ করার জন্য বেছে নেওয়ার অনুমতি দেওয়া হয়। এটি Chrome-এ হ্রাসকৃত UA ডিফল্ট আচরণে পরিণত হওয়ার আগে সমস্যাগুলি আবিষ্কার করতে এবং সমাধান করতে সাইটগুলিকে সক্ষম করবে (হ্রাসটি 2022 সালের দ্বিতীয় ত্রৈমাসিকে শুরু করার পরিকল্পনা করা হয়েছে)৷ আপনি যদি স্থিতিশীল জনসংখ্যার কাছে এটি চালু হওয়ার আগে 95 বিটা ব্যবহারকারীদের উপর অরিজিন ট্রায়াল পরীক্ষা করতে চান, তাহলে Chrome 95 ( বর্তমানে 19 অক্টোবর, 2021-এর জন্য নির্ধারিত ) প্রকাশের তারিখের আগে নির্বাচন করতে এবং পরীক্ষা করতে ভুলবেন না।
নীচে অরিজিন ট্রায়ালের একটি ওভারভিউ এবং কী আশা করা যায়, এবং বরাবরের মতো, আমরা UA রিডাকশন গিটহাব রিপোজিটরিতে এই ট্রায়াল জুড়ে প্রতিক্রিয়া বা যেকোনো সমস্যাকে স্বাগত জানাই।
ব্যবহারকারী-এজেন্ট কি?
ব্যবহারকারী-এজেন্ট (UA) স্ট্রিংটি প্রতিটি HTTP অনুরোধে শেয়ার করা হয় এবং ব্রাউজার দ্বারা লোড করা সমস্ত সংস্থান জাভাস্ক্রিপ্টে প্রকাশ করা হয়। বর্তমানে, এটি ব্রাউজার এবং এটি যে প্ল্যাটফর্মে চলছে তার উল্লেখযোগ্য তথ্য রয়েছে৷
কেন ব্যবহারকারী-এজেন্ট হ্রাস করা হচ্ছে?
ইউজার-এজেন্ট রিডাকশন হল Chrome ব্রাউজারে প্যাসিভ ফিঙ্গারপ্রিন্টিং সারফেস কমানোর একটি প্রচেষ্টা যা 2020 সালের জানুয়ারিতে প্রথম ঘোষণা করা হয়েছিল। UA স্ট্রিং-এর তথ্য শুধুমাত্র ব্রাউজারের ব্র্যান্ড এবং উল্লেখযোগ্য সংস্করণে কমিয়ে, এর ডেস্কটপ বা মোবাইলের পার্থক্য এবং প্ল্যাটফর্ম এটি চালু আছে, এটি পৃথক ব্যবহারকারীদের সনাক্ত করা আরও কঠিন হয়ে ওঠে।
ওয়েব ডেভেলপারদের জন্য এর মানে কি?
সাইটগুলিকে কম হওয়া UA স্ট্রিংগুলি পাওয়ার জন্য প্রস্তুত করা উচিত এবং অরিজিন ট্রায়ালে অংশগ্রহণ করার কথা বিবেচনা করা উচিত (নিচে বিস্তারিত)। হ্রাসকৃত ব্যবহারকারী এজেন্ট মানগুলি এতে প্রদর্শিত হবে:
-
User-Agent
HTTP অনুরোধ শিরোনাম -
navigator.userAgent
জাভাস্ক্রিপ্ট গেটার -
navigator.platform
জাভাস্ক্রিপ্ট গেটার -
navigator.appVersion
জাভাস্ক্রিপ্ট গেটার
হ্রাসকৃত ব্যবহারকারী-এজেন্ট দ্বারা যা শেয়ার করা হয়েছে তার চেয়ে বেশি ক্লায়েন্ট তথ্য পেতে, সাইটগুলিকে নতুন ব্যবহারকারী-এজেন্ট ক্লায়েন্ট ইঙ্গিত API এ স্থানান্তর করতে হবে। মাইগ্রেশন কৌশল সম্পর্কে আরও বিশদ বিবরণের জন্য, ব্যবহারকারী-এজেন্ট ক্লায়েন্ট ইঙ্গিতগুলিতে মাইগ্রেট দেখুন।
ব্যবহারকারী-এজেন্ট হ্রাস পরিকল্পনা বর্তমানে iOS এবং WebView অন্তর্ভুক্ত করে না, তাই এই প্ল্যাটফর্মগুলি সম্পূর্ণ ব্যবহারকারী এজেন্ট স্ট্রিং পেতে থাকবে। প্রাথমিক কারণ হল এই প্ল্যাটফর্মগুলি এখনও ব্যবহারকারী-এজেন্ট ক্লায়েন্ট ইঙ্গিতগুলি প্রয়োগ করেনি।
কিভাবে এই মূল ট্রায়াল কাজ করে?
এই অরিজিন ট্রায়াল একটি স্ট্যান্ডার্ড অরিজিন ট্রায়াল থেকে একটু ভিন্ন। স্ট্যান্ডার্ড অরিজিন ট্রায়ালগুলি শুধুমাত্র প্রতিক্রিয়ার আচরণ নিয়ন্ত্রণ করতে পারে (উদাহরণস্বরূপ, প্রতিক্রিয়ার জাভাস্ক্রিপ্টে একটি API-তে অ্যাক্সেস নিয়ন্ত্রণ)। এই ট্রায়ালে, আমাদের লক্ষ্য হল জাভাস্ক্রিপ্ট API-এ প্রদত্ত UA স্ট্রিং পরিবর্তন করাই নয়, HTTP অনুরোধে প্রেরিত User-Agent হেডারও পরিবর্তন করা।
এটি করতে সক্ষম হওয়ার জন্য, আমরা Sec-CH-UA-Reduced
নামে একটি অস্থায়ী ক্লায়েন্ট ইঙ্গিত সংজ্ঞায়িত করছি, যার একটি অনুরোধে উপস্থিতি নির্দেশ করবে যে ব্যবহারকারী-এজেন্ট শিরোলেখ মান হ্রাসকৃত UA স্ট্রিং রয়েছে৷ Sec-CH-UA-Reduced
ক্লায়েন্ট ইঙ্গিত শুধুমাত্র পাঠানো হবে (হ্রাস করা UA স্ট্রিং সহ) যদি অরিজিন ট্রায়াল টোকেন বৈধ হয় এবং Sec-CH-UA-Reduced
ক্লায়েন্ট ইঙ্গিতটি অরিজিন ট্রায়ালের মেয়াদ শেষ হয়ে গেলে কাজ করবে না৷ মনে রাখবেন যে প্রথম নেভিগেশন অনুরোধটি এখনও অপরিবর্তিত ব্যবহারকারী-এজেন্ট স্ট্রিং পাবে যদি না আপনি Critical-CH header
সেট করেন।
একই উত্সের সাব-সোর্স অনুরোধগুলি স্বয়ংক্রিয়ভাবে একই ব্যবহারকারী-এজেন্ট স্ট্রিং পাঠাবে যেমন শীর্ষ-স্তরের অনুরোধ পাঠানো হয়েছে। থার্ড-পার্টি অরিজিনগুলিতে সাব-সোর্স অনুরোধগুলিও একই ইউজার-এজেন্ট স্ট্রিংটি শীর্ষ-স্তরের অনুরোধ হিসাবে পাঠাবে, যার মধ্যে হ্রাস করা UA স্ট্রিং সহ যদি অরিজিন ট্রায়াল টোকেন বৈধ হয়, তবে অনুমতি নীতি এটির অনুমতি দেয়।
আমি কিভাবে ইউজার-এজেন্ট রিডাকশন অরিজিন ট্রায়ালে অংশগ্রহণ করব?
অরিজিন ট্রায়ালের জন্য নিবন্ধন করতে এবং আপনার ডোমেনের জন্য একটি টোকেন পেতে, ট্রায়াল ফর ইউজার এজেন্ট রিডাকশন পৃষ্ঠাতে যান।
আপনার HTTP প্রতিক্রিয়া শিরোনাম আপডেট করুন:
-
Origin-Trial: <ORIGIN TRIAL TOKEN>
, যেখানে <ORIGIN TRIAL TOKEN
> অরিজিন ট্রায়ালের জন্য নিবন্ধন করার সময় আপনি যে টোকেন পেয়েছিলেন তা রয়েছে। -
Accept-CH: Sec-CH-UA-Reduced
। -
Accept-CH
সেট করার ফলে শুধুমাত্র ব্যবহারকারী-এজেন্ট স্ট্রিং কমে যাবে পরবর্তী অনুরোধে মূলে পাঠানো হবে; হ্রাসকৃত ব্যবহারকারী-এজেন্ট স্ট্রিং সহ প্রথম নেভিগেশন অনুরোধ পুনরায় পাঠাতে,Accept-CH
এবংOrigin-Trial
শিরোনাম ছাড়াও আপনার HTTP প্রতিক্রিয়া শিরোনামেCritical-CH: Sec-CH-UA-Reduced
যোগ করুন। - দ্রষ্টব্য: যদি প্রতিক্রিয়া শিরোনামে একটি বৈধ
Origin-Trial
টোকেন থাকে এবংAccept-CH: Sec-CH-UA-Reduced
, তাহলে সমস্ত সাবরিসোর্স অনুরোধ (উদাহরণস্বরূপ, ছবি বা স্টাইলশীটের জন্য) এবং সাবনেভিগেশন (উদাহরণস্বরূপ, iframes) পাঠাবে হ্রাসকৃত UA স্ট্রিং, এমনকি যদি সেই অনুরোধগুলির উত্সগুলি মূল বিচারে নথিভুক্ত না হয়।
-
Chrome M95 (বা তার পরে) আপনার ওয়েবসাইট লোড করুন এবং হ্রাস করা UA স্ট্রিং পেতে শুরু করুন।
UA Reduction GitHub সংগ্রহস্থলে কোনো সমস্যা বা প্রতিক্রিয়া জমা দিন।
মূল ট্রায়ালের একটি সাধারণ প্রদর্শনের জন্য https://uar-ot.glitch.me/ দেখুন (সোর্স কোড সহ)।
কিভাবে একটি তৃতীয় পক্ষের এম্বেড হিসাবে মূল বিচারে অংশগ্রহণ করবেন?
ক্রোম 96 থেকে শুরু করে, তৃতীয়-পক্ষের এম্বেডগুলি (উদাহরণস্বরূপ, অন্য সাইটের ভিতরে একটি আইফ্রেম) শীর্ষ-স্তরের সাইটকে নথিভুক্ত করার প্রয়োজন ছাড়াই অরিজিন ট্রায়ালে অংশগ্রহণ করতে পারে৷
তৃতীয়-পক্ষ এম্বেড হিসাবে নথিভুক্ত করতে:
- ইউজার এজেন্ট রিডাকশনের ট্রায়ালে যান এবং রেজিস্টার এ ক্লিক করুন।
- টোকেন তৈরি করার সময়,
Third-party matching
চেকবক্স নির্বাচন করতে ভুলবেন না। - তৃতীয় পক্ষের এম্বেড থেকে হ্রাসকৃত ব্যবহারকারী-এজেন্ট শিরোনাম পেতে, HTTP প্রতিক্রিয়া শিরোনাম আপডেট করুন ।
- জাভাস্ক্রিপ্ট API-এ হ্রাসকৃত ব্যবহারকারী-এজেন্ট স্ট্রিং পেতে, ট্রায়াল টোকেন অবশ্যই Javascript এর মাধ্যমে ইনজেকশন করতে হবে।
তৃতীয় পক্ষের এম্বেডগুলিতে অরিজিন ট্রায়াল চালানোর বিষয়ে কিছু গুরুত্বপূর্ণ বিষয়: + তৃতীয় পক্ষের এম্বেডগুলির জন্য Critical-CH
নির্দিষ্ট করা যাবে না, তাই প্রথম নেভিগেশন হ্রাস করা UA স্ট্রিং পাঠাবে না, যদিও তৃতীয় পক্ষের এম্বেডের সাবরিসোর্স অনুরোধগুলি হ্রাসকৃত UA স্ট্রিং পাঠাবে। + যদি অরিজিন ট্রায়ালটি তৃতীয়-পক্ষের এম্বেডের উত্সের জন্য বৈধ করা হয়, একটি শীর্ষ-স্তরের নেভিগেশনে একই উত্সের পরবর্তী অনুরোধগুলি হ্রাস করা UA স্ট্রিং পাঠাবে৷ এই কারণে, শীর্ষ-স্তরের এবং এম্বেড অনুরোধ উভয়ের জন্যই অরিজিন ট্রায়ালে অংশগ্রহণ বাড়ানোর পরামর্শ দেওয়া হচ্ছে। + যদি ব্যবহারকারী এজেন্ট তৃতীয় পক্ষের কুকিজ নিষ্ক্রিয় করে থাকে, তাহলে তৃতীয় পক্ষের এম্বেড অনুরোধে User-Agent
শিরোনামের জন্য অরিজিন ট্রায়াল কাজ করবে না, যদিও জাভাস্ক্রিপ্ট APIগুলি এখনও হ্রাসকৃত UA স্ট্রিং পাবে।
আমি কিভাবে যাচাই করব যে মূল ট্রায়াল কাজ করছে?
অরিজিন ট্রায়াল কাজ করছে তা যাচাই করতে, অনুরোধের শিরোনামগুলি পরীক্ষা করুন এবং নিম্নলিখিতগুলি নিশ্চিত করুন:
- ব্যবহারকারী-এজেন্ট শিরোনামে হ্রাস করা সংস্করণ রয়েছে। হ্রাসকৃত UA স্ট্রিংগুলির নমুনার এই তালিকাটি পড়ুন। বলার একটি সহজ উপায় হল যে Chrome মাইনর সংস্করণ স্ট্রিংটিতে
0.0.0
রয়েছে। -
Sec-CH-UA-Reduced
হেডারটি?1
এ সেট করা হয়েছে।
অরিজিন ট্রায়াল টোকেন সহ প্রাথমিক প্রতিক্রিয়ার শিরোনামগুলি এইরকম হওয়া উচিত:
হ্রাসকৃত UA স্ট্রিং ধারণকারী পরবর্তী অনুরোধ শিরোনামগুলি এইরকম হওয়া উচিত:
আমি কিভাবে ইউজার-এজেন্ট রিডাকশন অরিজিন ট্রায়ালে অংশগ্রহণ করা বন্ধ করব?
ট্রায়াল চলাকালীন সময়ে যে কোনো সময়ে, আপনি অংশগ্রহণ করা বন্ধ করতে পারেন এবং সম্পূর্ণ ব্যবহারকারী-এজেন্ট স্ট্রিং পেতে পারেন। অংশগ্রহণ বন্ধ করতে:
- আপনার HTTP প্রতিক্রিয়াতে একটি
Accept-CH
শিরোনাম পাঠান যাতেSec-CH-UA-Reduced
অন্তর্ভুক্ত নয় । দ্রষ্টব্য: আপনার সাইট যদি অন্য কোনো ক্লায়েন্ট ইঙ্গিতের জন্য অনুরোধ না করে তাহলে একটি খালি মান সহAccept-CH
এটি সম্পন্ন করার একটি বৈধ উপায়। - আপনার HTTP প্রতিক্রিয়া থেকে ব্যবহারকারী-এজেন্ট রিডাকশন ট্রায়ালের জন্য
Origin-Trial
শিরোনামটি সরান। - সেট করা হলে, আপনার HTTP প্রতিক্রিয়াতে
Critical-CH
শিরোনাম থেকেSec-CH-UA-Reduced
সরান।
কতদিন মূল বিচার শেষ হবে?
UA রিডাকশন অরিজিন ট্রায়াল কমপক্ষে ছয় মাস চলবে, যা প্রায় ছয়টি Chrome মাইলস্টোনের সাথে মিলে যায়। অরিজিন ট্রায়ালটি M95-এ প্রদর্শিত হবে এবং M101-এর মধ্যে শেষ হবে, এই সময়ে, রোলআউট প্ল্যান অনুযায়ী পর্যায়ক্রমে হ্রাসকৃত ব্যবহারকারী-এজেন্ট স্ট্রিং পাঠানোর সাথে এগিয়ে যাওয়ার আগে Chrome অরিজিন ট্রায়াল থেকে প্রতিক্রিয়া মূল্যায়ন করবে৷ যদি কোনো সাইটের আর বেশি সময়ের প্রয়োজন হয় তাহলে তারা পরবর্তী অবচয় অরিজিন ট্রায়াল বেছে নিতে পারে, যা তাদের অন্তত আরও ছয় মাসের জন্য সম্পূর্ণ UA স্ট্রিং অ্যাক্সেস করতে দেয়। এটি প্রস্তুত হলে আমরা অবচয় ট্রায়াল সম্পর্কে আরও বিশদ প্রকাশ করব৷
ইউজার-এজেন্ট রিডাকশন অরিজিন ট্রায়ালের জন্য আমি কীভাবে প্রতিক্রিয়া শেয়ার করব?
UA Reduction GitHub সংগ্রহস্থলে কোনো সমস্যা বা প্রতিক্রিয়া জমা দিন।