কম্পিউটার টিউটোরিয়াল

আপনি যখন একটি URL ক্লিক করেন তখন আপনার ব্রাউজারের ভিতরে কী ঘটে

এই আর্টিকেলে, আমি চাই আমার পাঠকরা ওয়েব বিশ্বের একটি খুব বেসিক কনসেপ্টের ছবি পান। পূর্বে, আমি আজকের বাজারের ফ্যান্সি স্টাফে আর্টিকেল লিখেছি, যেমন অ্যাঙ্গুলার যাত্রা, রিয়্যাক্টের বেসিকস, ইত্যাদি। কিন্তু আজ, আমি চাই আমার পাঠকরা সেই যাত্রায় যান যা তারা প্রথমে কোনো URL হিট করলে সম্মুখীন হন।

যেহেতু টপিকটি স্বয়ংস্পষ্ট - যখন আমরা কোনো URL হিট করি তখন কী ঘটে? - চলুন শুরু করি!

URL হিট করার পর কী ঘটে তা আলোচনা করার আগে, আমাদের জানতে হবে URL আসলে কী, এবং URL-এর বিভিন্ন অংশের মানে কী - ঠিক ন? সময় নষ্ট না করে, URL সম্পর্কে আরও বুঝি।

URL – Uniform Resource Locator

যদি আপনি এর ফুলফর্মে দেখেন, তবে এটি স্বয়ংস্পষ্ট: এতে সেই রিসোর্সের লোকেশন থাকে যেগুলো আমরা অ্যাক্সেস করতে চাই। এটি একটি স্থানের ঠিকানা যেখানে আমরা যেতে চাই ইন্টারঅ্যাক্ট করতে বা তথ্য খুঁজে বের করতে।

আপনার দৈনন্দিন জীবন দেখুন। আপনি যদি আপনার বন্ধুর বাড়িতে কোনো কাজে বা তথ্য পেতে যেতে চান, তবে আপনার বন্ধুর ঠিকানা দরকার। একই জিনিস এখানেও এই বড় ওয়েব বিশ্বে: আমাদের ওই ওয়েবসাইটের ঠিকানা দিতে হবে যেটি আমরা অ্যাক্সেস করতে চাই। ওয়েব সাইটটি বাড়ির মতো এবং URL হলো ঠিকানা।

URL-এর анаটোমি

এখন, আমরা জানি URL কী কিন্তু আমরা এখনো URL-এর অংশগুলো সম্পর্কে জানি না। চলুন যাই!

একটি উদাহরণ নিই:

https://www.example.com/page1

এখানে, প্রথম অংশ 'https'। এটি মূলত ব্রাউজারকে বলে কোনো প্রোটোকল ব্যবহার করা উচিত। এটি হতে পারে http, https, ftp, ইত্যাদি। একটি প্রোটোকল হলো নियमের সেট যা ব্রাউজার নেটওয়ার্কের ওপর কমিউনিকেশনের জন্য ব্যবহার করে। 'https' মূলত একটি সুরক্ষিত সংস্করণ, অর্থাৎ তথ্য একটি সুরক্ষিত পদ্ধতিতে এক্সচেঞ্জ হয়।

দ্বিতীয় অংশ www.example.com হলো একটি ডোমেইন নেম। আপনি এটাকে আপনার বন্ধুর বাড়ির সাথে সম্পর্কিত করতে পারেন। এটি একটি ওয়েবসাইটের ঠিকানা। আমরা এটি ব্যবহার করি সার্ভারের (প্রশিক্ষিত কম্পিউটার) কাছে পৌঁছাতে যা সেই ওয়েবসাইটের জন্য তথ্য সার্ভ করার জন্য দায়বদ্ধ। ওপস! আপনি ভাবতে পারেন, কিছু সেকেন্ড আগে আমি বললাম URL হলো ঠিকানা, আবার বললাম ডোমেইন নেমও ঠিকানা। আপনি বিভ্রান্ত হতে পারেন। বিভ্রান্ত হওয়া যাক না!

URL এবং ডোমেইন নেমের পার্থক্য

দोनों এর মধ্যে প্রধান পার্থক্য হলো URL একটি সম্পূর্ণ ঠিকানা। URL বলে তথ্য কী পদ্ধতিতে এক্সচেঞ্জ হবে, সেই ওয়েবসাইটে পৌঁছানোর পর পাথ। যেখানে ডোমেইন নেম URL-এর একটি অংশ।

আমাদের আগের উদাহরণ নিই ভালো বুঝতে। আপনি বলতে পারেন আপনার বন্ধুর বাড়ির ঠিকানা হলো ডোমেইন নেম, যেখানে URL শুধু বন্ধুর বাড়ির ঠিকানা (ডোমেইন নেম) বলছে না বরং আপনি কীভাবে যোগাযোগ করবেন সেটাও বলছে যেমন আলাদা ঘরে কথা বলা (সুরক্ষিত) বা সবার সামনে (তথ্য লিক হতে পারে)। এটিও পাথ বলে, অর্থাৎ বাড়িতে ঢুকে যাওয়ার পর আপনি বাড়ির কোন অংশে যাবেন। অতএব, ডোমেইন নেম URL-এর অংশ। আরও তথ্য সহ একটি ডোমেইন নেম হলো URL।

আশা করি এখন আপনি URL নিয়ে স্পষ্ট হয়েছেন। চলুন পরবর্তী অংশে যাই।

ডোমেইন নেম

পূর্বের অংশে, আমি ডোমেইন নেম সম্পর্কে ব্যাখ্যা করলাম, কিন্তু গভীরে নই। আমি চাই আপনি সেটিতে গভীরে যান। যেনে আমি আপনাকে বললাম, ডোমেইন নেম হলো ওয়েবসাইটের ঠিকানা। এটি আপনার ওয়েবসাইটকে এই বিশাল ওয়েব বিশ্বে একটি অনন্য পরিচয় দেয়। দুটি ডোমেইন নেম একই হতে পারে না PERO - হ্যাঁ! এখানে 'পERO' আছে। ডোমেইন নেমের এই একমাত্র সংজ্ঞা নয়। এর পেছনে আরেকটি গল্প আছে। চলুন সেটি জানি।

যেমন আমরা জানি, যখন আমরা যেকোনো URL বা ডোমেইন নেম হিট করি, তবে সেই ওয়েবসাইট তার কন্টেন্টের সাথে খুলে যাওয়া একটি সার্ভার (একটি প্রশিক্ষিত কম্পিউটার) দ্বারা সার্ভ করা হয়। আমরা এছাড়া জানি যে প্রতিটি কম্পিউটারের একটি IP অ্যাড্রেস থাকে যা ইন্টারনেটের ওপর কমিউনিকেশনের জন্য ব্যবহৃত হয়। এটি একটি ঠিকানা যেহেতু এটিই স্বয়ংস্পষ্ট 'IP address'। যখন আমরা হিট করি যেকোনো URL, তবে আমরা আসলে হিট করছি কম্পিউটারের IP অ্যাড্রেস যা ওয়েবসাইট কন্টেন্ট সার্ভ করার জন্য দায়বদ্ধ (হোস্টিং)।

এখন, আপনি ভাবতে পারেন কি সব কিছু ঠিকানা? এই ডোমেইন নেম কেন আছে যদি IP অ্যাড্রেস থাকে? আমরা কেন IP অ্যাড্রেস ব্যবহার করে ওয়েবসাইটের কন্টেন্ট পেতে পারি না?

হ্যাঁ! আপনি IP অ্যাড্রেস ব্যবহার করতে পারেন ওয়েবসাইটের কন্টেন্ট পেতে কিন্তু সত্যি!.. আপনি কি প্রতিটি ওয়েবসাইটের সংশ্লিষ্ট IP অ্যাড্রেস মনে রাখতে পারবেন? অবশ্যই না! এটি প্রতিটি ওয়েবসাইটের IP অ্যাড্রেস মনে রাখা কঠিন। তাই ডোমেইন নেম বাজারে এসেছে।

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

এই বিশাল পরিমাণ ডেটা একটি ডেটাবেসে মেইনটেইন করা হয় যেখানে ডোমেইন নেম তার সংশ্লিষ্ট IP অ্যাড্রেসের সাথে সংরক্ষিত থাকে। একটি সিস্টেম যা ডোমেইন নেম তার সংশ্লিষ্ট IP অ্যাড্রেসের সাথে সংরক্ষণ করে সেটাকে DNS (Domain name system) বলা হয় (আমি মনে করি আপনি এর बारेে শুনেছেন)।

আমি মনে করি আমি পর্যাপ্ত বেসিক আলোচনা করেছি। এখন, যেকোনো URL হিট করলে যে প্রক্রিয়া ঘটে সেটিতে গভীরে যাই।

IP অ্যাড্রেস খুঁজে বের করার জন্য DNS লুকআপ

URL হিট করার পর, প্রথম জিনিসটি যা ঘটতে হবে সেটি হলো ডোমেইন নেমের সাথে সংশ্লিষ্ট IP অ্যাড্রেস রেজলভ করা। DNS এতে সাহায্য করে। DNS একটি ফোন বুকের মতো এবং আমাদের সাহায্য করে ডোমেইন নেমের সাথে সংশ্লিষ্ট IP অ্যাড্রেস প্রদান করতে ঠিক আমাদের ফোন বুক যেভাবে একটি মোবাইল নম্বর দেয় যা একজন ব্যক্তির নামের সাথে সংশ্লিষ্ট।

আপনি যখন একটি URL ক্লিক করেন তখন আপনার ব্রাউজারের ভিতরে কী ঘটে

এটি একটি ওভারভিউ, কিন্তু চারটি লেয়ার আছে যেগুলোর মাধ্যমে এই ডোমেইন নেম কুয়েরি চলে। ধাপগুলো বুঝি:

1. URL হিট করার পর, ব্রাউজার ক্যাশ চেক করা হয়। ব্রাউজার কিছু সময়ের জন্য আপনি যেসব ওয়েবসাইট ভিজিট করেছেন তাদের DNS রেকর্ড মেইনটেইন করে। অতএব, প্রথমে, DNS কুয়েরি এখানে চলে IP অ্যাড্রেস খুঁজে বের করতে যা ডোমেইন নেমের সাথে সংশ্লিষ্ট।

2. দ্বিতীয় জায়গা যেখানে DNS কুয়েরি চলে OS ক্যাশ এবং তারপর রাউটার ক্যাশ।

3. যদি উপরের ধাপগুলোর মধ্যে DNS কুয়েরি রেজলভ না হয়, তবে এটি রেজলভার সার্ভারের সাহায্য নেয়। রেজলভার সার্ভার আর কিছু নয় আপনার ISP (ইন্টারনেট সার্ভিস প্রোভাইডার)। কুয়েরিটি ISP-এ পাঠানো হয় যেখানে DNS কুয়েরি চলে ISP ক্যাশে।

4. যদি ৩ নম্বর ধাপেও কোনো ফলাফল না পাওয়া যায়, তবে রিকোয়েস্ট পাঠানো হয় DNS হিরার্কির টপ বা রুট সার্ভার-এ। সেখানে কখনোই "ফলাফল পাওয়া যায় না" বলা হয় না, কিন্তু আসলে এটি বলে, এই তথ্য কোথা থেকে পাবেন। আপনি যদি টপ লেভেল ডোমেইন (.com,.net,.Gov,. org) এর IP অ্যাড্রেস খুঁজছেন। এটি রেজলভার সার্ভারকে বলে TLD সার্ভার (টপ লেভেল ডোমেইন) খুঁজতে।

5. এখন, রেজলভার TLD সার্ভারকে জিজ্ঞেস করে আমাদের ডোমেইন নেমের IP অ্যাড্রেস দিতে। TLD ডোমেইন নেমের অ্যাড্রেস ইনফরমেশন সংরক্ষণ করে। এটি রেজলভারকে বলে Authoritative Name server.-এর কাছে জিজ্ঞেস করতে।

6. Authoritative name server ডোমেইন নেম সম্পর্কে সব কিছু জানার জন্য দায়বদ্ধ। অবশেষে, রেজলভার (ISP) ডোমেইন নেমের সাথে সংশ্লিষ্ট IP অ্যাড্রেস পায় এবং ব্রাউজারের কাছে ফেরত পাঠায়।

IP অ্যাড্রেস পাওয়ার পর, রেজলভার তার ক্যাশে সেটি সংরক্ষণ করে যাতে পরবর্তীতে একই কুয়েরি আসলে আবার সকল ধাপ যেতে না হয়। এখন এটি তাদের ক্যাশ থেকে IP অ্যাড্রেস দিতে পারে।

এটি হলো ডোমেইন নেমের সাথে সংশ্লিষ্ট IP অ্যাড্রেস রেজলভ করার জন্য অনুসরণকৃত ধাপগুলো। নিচে দেখুন ভালো বুঝতে:

আপনি যখন একটি URL ক্লিক করেন তখন আপনার ব্রাউজারের ভিতরে কী ঘটে

ব্রাউজার দ্বারা সার্ভারের সাথে TCP কানেকশন শুরু

একবার কম্পিউটারের IP অ্যাড্রেস (যেখানে আপনার ওয়েবসাইটের তথ্য আছে) পাওয়া যায়, এটি সেটির সাথে কানেকশন শুরু করে। নেটওয়ার্কের ওপর কমিউনিকেশনের জন্য, ইন্টারনেট প্রোটোকল ফলো করা হয়। TCP/IP সবচেয়ে সাধারণ প্রোটোকল। দুটির মাঝপথে একটি কানেকশন তৈরি হয় 'TCP 3-way handshake' নামে একটি প্রক্রিয়াই। প্রক্রিয়াটি সংক্ষেপে বুঝি:

১. একটি ক্লায়েন্ট কম্পিউটার একটি SYN মেসেজ পাঠায় অর্থাৎ, দ্বিতীয় কম্পিউটারটি নতুন কানেকশনের জন্য খোলা আছে কিনা।

২. তখন অন্য কম্পিউটারটি, যদি নতুন কানেকশনের জন্য খোলা থাকে, এটি অ্যাওলেজ মেসেজ SYN মেসেজসহ পাঠায়।

৩. এরপর, প্রথম কম্পিউটার তার মেসেজ পায় এবং এক ACK মেসেজ পাঠিয়ে একনোলেজ করে।

ভালো বুঝতে, নিচের ডায়াগ্রাম দেখুন।

আপনি যখন একটি URL ক্লিক করেন তখন আপনার ব্রাউজারের ভিতরে কী ঘটে

কমিউনিকেশন শুরু (রিকোয়েস্ট রেসপন্স প্রক্রিয়া)

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

এটাই সব! উপরের সকল প্রক্রিয়া ঘটে যখন আমরা ব্রাউজারে যেকোনো URL হিট করি। যদিও এই লম্বা প্রক্রিয়া এক সেকেন্ডের কম সময়ে সম্পন্ন হয়। আপনার প্রশ্ন 'ব্রাউজারে যেকোনো URL হিট করলে কী হয়?' এর উত্তরটি এটাই।

পড়ার জন্য ধন্যবাদ!

  1. আপনার ব্রাউজারে আপনি যা করছেন সেটি সহজে রেকর্ড করার উপায়

  2. আইফোনে নম্বর ব্লক করা: এটি কী করে এবং কীভাবে কাজ করে

  3. প্রাইভেট ব্রাউজিং দিয়ে আপনার অ্যান্ড্রয়েড প্রাইভেসি রক্ষা করুন

  4. মরণোত্তর অনলাইন একাউন্ট হ্যান্ডলিং: একটি ব্যবহারিক গাইড