মূলত: ব্রাউজারটিতে এইচটিটিপি অনুরোধে ডোমেনের নাম অন্তর্ভুক্ত থাকে, তাই কোন ওয়েব ডোমেনটি অনুরোধ করা হয়েছিল তা ওয়েবসভার জানে এবং সেই অনুযায়ী প্রতিক্রিয়া জানাতে পারে।
এইচটিটিপি অনুরোধ
আপনার সাধারণ এইচটিটিপি অনুরোধটি কীভাবে ঘটে তা এখানে:
ব্যবহারকারী ফর্মের মধ্যে একটি URL সরবরাহ করে http://host:port/path
।
ব্রাউজারটি ইউআরএল এর হোস্ট (ডোমেন) অংশটি বের করে এবং নাম রেজোলিউশন হিসাবে পরিচিত একটি প্রক্রিয়াতে এটি প্রয়োজনে একটি আইপি ঠিকানায় অনুবাদ করে । এই অনুবাদটি ডিএনএসের মাধ্যমে ঘটতে পারে তবে এর দরকার নেই (উদাহরণস্বরূপ, hosts
সাধারণ ওএসে স্থানীয় ফাইল ডিএনএসকে বাইপাস করে)।
ব্রাউজারটি নির্দিষ্ট পোর্টের জন্য একটি টিসিপি সংযোগ খোলে বা সেই আইপি ঠিকানায় 80 পোর্টের ডিফল্ট হয়।
ব্রাউজারটি একটি HTTP অনুরোধ প্রেরণ করে। এইচটিটিপি / ১.১ এর জন্য, এটির মতো দেখাচ্ছে:
GET /path HTTP/1.1
Host: example.com
( Host
শিরোনামটি স্ট্যান্ডার্ড এবং HTTP / 1.1 এ প্রয়োজনীয় the
এখান থেকে, ওয়েবসভারের কাছে বেশ কয়েকটি তথ্য রয়েছে যা এটি কী প্রতিক্রিয়া হবে তা সিদ্ধান্ত নিতে ব্যবহার করতে পারে। নোট করুন যে একক ওয়েবসার্ভার একাধিক আইপি ঠিকানার সাথে আবদ্ধ থাকা সম্ভব।
- অনুরোধ করা আইপি ঠিকানা, টিসিপি সকেট থেকে
- ক্লায়েন্টের আইপি ঠিকানাটি উপলব্ধ, তবে এটি খুব কমই ব্যবহৃত হয় - কখনও কখনও ব্লক / ফিল্টারিংয়ের জন্য
- অনুরোধ করা বন্দর, টিসিপি সকেট থেকে
- অনুরোধ করা হোস্টনাম, যেমন
Host
HTTP অনুরোধে ব্রাউজার দ্বারা শিরোনামে নির্দিষ্ট করা আছে ।
- অনুরোধকৃত পথ
- অন্য কোনও শিরোনাম (কুকিজ ইত্যাদি)
আপনারা যেমন লক্ষ্য করেছেন বলে মনে হয়, আজকাল সর্বাধিক শেয়ার করা হোস্টিং সেটআপ একাধিক ওয়েবসাইটকে একটি আইপি ঠিকানায় রাখে: পোর্ট সংমিশ্রণ, কেবল Host
ওয়েবসাইটগুলির মধ্যে পার্থক্য রেখে ।
এটি অ্যাপাচি-জমিতে একটি নাম ভিত্তিক ভার্চুয়াল হোস্ট হিসাবে পরিচিত , যখন এনগিনেক্স তাদের সার্ভার ব্লকগুলিতে সার্ভারের নাম এবং আইআইএস ভার্চুয়াল সার্ভারকে পছন্দ করে ।
এইচটিটিপিএস সম্পর্কে কী?
এইচটিটিপিএস কিছুটা আলাদা। টিসিপি সংযোগ স্থাপনের ক্ষেত্রে সবকিছু অভিন্ন, তবে এর পরে একটি এনক্রিপ্ট হওয়া টিএলএস টানেলটি স্থাপন করা আবশ্যক। লক্ষ্যটি হ'ল অনুরোধ সম্পর্কে কোনও তথ্য ফাঁস না করা।
সার্ভারটি আসলে এই ডোমেনটির মালিক তা যাচাই করতে, সার্ভারকে অবশ্যই কোনও বিশ্বস্ত তৃতীয় পক্ষের দ্বারা স্বাক্ষরিত একটি শংসাপত্র প্রেরণ করতে হবে। তারপরে ব্রাউজারটি অনুরোধ করা ডোমেনটির সাথে এই শংসাপত্রটির তুলনা করবে।
এটি একটি সমস্যা উপস্থাপন করে। সার্ভার কীভাবে জানতে পারে যে কোন হোস্টের (ওয়েবসাইট) শংসাপত্রটি প্রেরণ করা হবে, যদি HTTP অনুরোধ পাওয়ার আগে এটি করার দরকার হয়?
Ditionতিহ্যগতভাবে, এইচটিটিপিএস প্রয়োজন প্রতিটি ওয়েবসাইটের জন্য একটি ডেডিকেটেড আইপি ঠিকানা (বা পোর্ট) রাখার মাধ্যমে এটি সমাধান করা হয়েছিল। স্পষ্টতই, আমরা IPv4 ঠিকানার বাইরে চলে আসা শুরু করলে সমস্যাটি হয়ে যায় this
এসএনআই প্রবেশ করুন (সার্ভারের নাম ইঙ্গিত)। ব্রাউজারটি এখন টিএলএস আলোচনার সময় হোস্টনামটি পাস করে, তাই সার্ভারটি সঠিক শংসাপত্র প্রেরণের জন্য পর্যাপ্ত পর্যায়ে এই তথ্যটি দেয়। সার্ভারের দিক থেকে, কনফিগারেশনটি HTTP ভার্চুয়াল হোস্টগুলিকে কীভাবে কনফিগার করা হয় তার সাথে খুব মিল similar
ডাউনসাইড হ'ল হোস্টনামটি এখন এনক্রিপশনের আগে সাধারণ পাঠ্য হিসাবে প্রেরণ করা হয় এবং প্রয়োজনীয় তথ্য ফাঁস হয়। এটি সাধারণত একটি গ্রহণযোগ্য ট্রেডঅফ হিসাবে বিবেচনা করা হয়, হোস্টনামটি সাধারণত কোনওভাবে ডিএনএস ক্যোয়ারিতে প্রকাশ করা হয় considering
আপনি যদি কেবল আইপি ঠিকানায় কোনও সাইটের জন্য অনুরোধ করেন?
সার্ভারটি কী করবে যখন এটি জানে না যে আপনি নির্দিষ্ট কোন হোস্টটি অনুরোধ করেছেন সেটি সার্ভার বাস্তবায়ন এবং কনফিগারেশনের উপর নির্ভর করে। সাধারণত, একটি "ডিফল্ট", "ক্যাটচল" বা "ফ্যালব্যাক" সাইট নির্দিষ্ট রয়েছে যা কোনও হোস্টকে স্পষ্টভাবে উল্লেখ না করে এমন সমস্ত অনুরোধের প্রতিক্রিয়া সরবরাহ করবে।
এই ডিফল্ট সাইটটি তার নিজস্ব স্বাধীন সাইট হতে পারে (প্রায়শই একটি ত্রুটি বার্তা দেখায়), বা সার্ভারের প্রশাসকের পছন্দের উপর নির্ভর করে এটি সার্ভারের অন্য কোনও সাইট হতে পারে।
Host:
শিরোনামের মধ্যে কোনও ডোমেন থাকবে না । শেয়ার্ড হোস্টিংয়ের ক্ষেত্রে ওয়েব সার্ভারটি বিভিন্ন উপায়ে হ্যান্ডেল সরবরাহকারীর দ্বারা কনফিগার করা যেতে পারে (যেমন একটি ডিফল্ট থাকতে পারে, সরবরাহকারীকে পুনর্নির্দেশ করুন ইত্যাদি)।