HTTP হোস্ট শিরোনাম কী?


120

এইচটিটিপি অনুরোধ প্রেরিত হওয়ার সময় টিসিপি সংযোগটি ইতিমধ্যে প্রতিষ্ঠিত হয়েছে, এই আইপি ঠিকানা এবং পোর্টটি সুস্পষ্টভাবে পরিচিত - একটি টিসিপি সংযোগ একটি আইপি + পোর্ট। সুতরাং, কেন আমাদের Hostহেডার দরকার ? টিসিপি সংযোগে অন্তর্ভুক্ত আইপি ঠিকানায় একাধিক হোস্ট ম্যাপ করা আছে, কেবল এই ক্ষেত্রেই এটির কী দরকার?

উত্তর:


140

hostশিরোলেখ ওয়েবসার্ভার যা বলে ভার্চুয়াল হোস্ট ব্যবহার করতে (যদি সেট আপ)। এমনকি বেশ কয়েকটি এলিয়াস (= ডোমেন এবং ওয়াইল্ডকার্ড-ডোমেন) ব্যবহার করে আপনি একই ভার্চুয়াল হোস্ট পেতে পারেন । এই ক্ষেত্রে, আপনি যদি এখনও সম্বোধন করা বিভিন্ন ডোমেনের উপর ভিত্তি করে বিভিন্ন আচরণ সরবরাহ করতে চান তবে আপনার ওয়েব অ্যাপ্লিকেশনটিতে সেই শিরোনামটি ম্যানুয়ালি পড়ার সম্ভাবনা রয়েছে। এটি সম্ভব কারণ আপনার ওয়েবসার্ভারে আপনি করতে পারেন (এবং আমি যদি ভুল করে নাও তবে অবশ্যই) ডিফল্ট হোস্ট হিসাবে একটি ভোস্ট সেট আপ করতে পারেন। এই ডিফল্ট ভোস্টটি যখনই hostকনফিগার করা ভার্চুয়াল হোস্টগুলির সাথে কোনও শিরোনামের সাথে মেলে না, ব্যবহৃত হয় ।

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

যদিও প্রশ্নের অংশ নয়, একটি মজাদার ঘটনা: এই স্পেসিফিকেশনটি প্রাথমিক দিনগুলিতে এসএসএল নিয়ে সমস্যা সৃষ্টি করেছিল কারণ ওয়েব সার্ভারটি ক্লায়েন্টটি যে ডোমেনটি সম্বোধন করেছে তার সাথে সম্পর্কিত শংসাপত্রটি সরবরাহ করতে হবে। তবে কোন শংসাপত্রটি ব্যবহার করতে হবে তা জানতে, ওয়েবসভারটির আগেই ঠিকানা দেওয়া হোস্টনামটি জানা উচিত ছিল। তবে ক্লায়েন্ট সেই তথ্যটি কেবল এনক্রিপ্ট করা চ্যানেলের মাধ্যমে প্রেরণ করে (যার অর্থ: শংসাপত্রটি ইতিমধ্যে প্রেরণের পরে), সার্ভারটিকে ধরে নিতে হয়েছিল যে আপনি ডিফল্ট হোস্টটি ব্রাউজ করেছেন। এর অর্থ প্রতি আইপি ঠিকানা / পোর্ট-সংমিশ্রণে একটি এসএসএল-সুরক্ষিত ডোমেন।

এটি সার্ভার নেম ইঙ্গিত দিয়ে কাটিয়ে উঠেছে ; যাইহোক, এটি আবার কিছু গোপনীয়তা ভঙ্গ করে, সার্ভারের নামটি এখন আবার সরল পাঠ্যে স্থানান্তরিত হয়েছে, তাই মধ্যবর্তী প্রত্যেকটি পুরুষ দেখতে পাবেন যে আপনি কোন হোস্টনামের সাথে সংযোগ স্থাপনের চেষ্টা করছেন।

যদিও সার্ভার নেম ইন্ডিকেশন থেকে ওয়েবসার্ভটি হোস্টের নামটি জানত, তবে hostশিরোনামটি অচল নয়, কারণ সার্ভার নাম সূচক তথ্য কেবলমাত্র টিএলএস হ্যান্ডশেকের মধ্যেই ব্যবহৃত হয়। অনিরাপদ সংযোগ সহ, কোনও সার্ভারের নাম ইঙ্গিত নেই, তাই hostশিরোনামটি এখনও বৈধ (এবং প্রয়োজনীয়)।

আর একটি মজাদার তথ্য: বেশিরভাগ ওয়েবসার্ভার (সমস্ত না থাকলে) আপনার HTTP- অনুরোধটিকে প্রত্যাখ্যান করে যদি এটিতে ঠিক একটি hostশিরোনাম না থাকে , এমনকি এটি বাদ দেওয়া যেতে পারে কারণ সেখানে কেবলমাত্র ডিফল্ট ভোস্ট কনফিগার করা আছে। এর মানে হল যে ন্যূনতম একটি http- (get-) অনুরোধে তথ্যের প্রয়োজন প্রথম ধারণকারী লাইন METHOD RESOURCEএবং PROTOCOL VERSIONএবং অন্তত host-header, এভাবে:

GET /someresource.html HTTP/1.1
Host: www.example.com

ইন হোস্ট-হেডারে MDN ডকুমেন্টেশন তারা আসলে এটা ভালো ফ্রেজ:

একটি হোস্ট শিরোলেখ ক্ষেত্র অবশ্যই সমস্ত HTTP / 1.1 অনুরোধ বার্তায় প্রেরণ করতে হবে। একটি 400 (খারাপ অনুরোধ) স্থিতি কোড যে কোনও এইচটিটিপি / 1.1 অনুরোধ বার্তায় প্রেরণ করা হবে যা কোনও হোস্ট শিরোনাম ক্ষেত্রের অভাব রয়েছে বা একাধিকর বেশি রয়েছে।

ড্যারেল মিলার দ্বারা উল্লিখিত হিসাবে, সম্পূর্ণ চশমা আরএফসি 7230 এ পাওয়া যাবে


ভাল উত্তর. আপনি লিখেছেন "এটি সম্ভব কারণ আপনার ওয়েবসার্ভারে আপনি ডিফল্ট হোস্ট হওয়ার জন্য একটি ভোস্ট সেট আপ করতে পারেন (এবং যদি আমি ভুল নাও করতেই পারি)। হোস্ট। " আমি আরএফসি 72২৩০ এ যাচাই করতে চেয়েছিলাম তবে vhostকেবলমাত্র 3 টি ঘনিষ্ঠ ঘটনা খুঁজে পেলাম virtual hostযার অর্থ আপনার বাক্যটির নিকটবর্তী নয় এবং 12 defaultবন্দর সম্পর্কে প্রায়শই,
আলেক্সি মার্টিয়ানোভ

হোস্ট সম্পর্কে কেবল এটিই: "যদি তা না হয়, তবে যদি কোনও হোস্ট শিরোলেখ ক্ষেত্রটি একটি খালি খালি ক্ষেত্রের মান সরবরাহ করা হয় তবে কর্তৃপক্ষের উপাদানটি হোস্ট ফিল্ড-মানের সমান" " - আইএমএইচও নয়। আপনি কি আমাকে আরএফসি তে নির্দেশ করতে পারেন?
আলেক্সি মার্টিয়ানভ

ব্যবহারিক দিক: কিছু সার্ভারে আমি শিরোনাম হোস্ট = ডোমেন নাম দিয়ে পোষ্ট প্রেরণ করি এবং 200 (ঠিক) পাই, আমি পরিবর্তিত হোস্ট শিরোনাম প্রেরণ করি এবং 404 পেয়েছি (পাওয়া যায়নি)। এর অর্থ কি সার্ভারটি সঠিকভাবে (পুরোপুরি by the book) কনফিগার করা হয়নি?
আলেক্সি মার্টিয়ানোভ

যেমন মন্তব্য সম্পাদনা করা যায় না: ২ য় তে উদ্ধৃতিটি defaultসন্ধানের কাছাকাছি শব্দটি পাওয়া গিয়েছিলOtherwise, the authority component is assigned the default name configured for the server
আলেক্সি মার্টিয়ানভ

অদ্ভুত। সরঞ্জামগুলিতেvirtual host আমার অনুসন্ধানের দ্বারা পাওয়া সমস্ত 3 টি ঘটনা.ইটিএফ.আর.জি.এইচটিএমএল / আরএফসি 7230 এর মধ্যে রয়েছে Appendix A. HTTP Version History। দেখে মনে হচ্ছে আপনার অনুসন্ধানে অন্য কিছু পাওয়া গেছে।
আলেক্সি মার্টিয়ানোভ

30

HTTP শিরোনামগুলির অর্থ এবং উদ্দেশ্য বোঝার চেষ্টা করার সময় আমি সর্বদা অনুমোদনের উত্সে যাওয়ার পরামর্শ দিই recommend

একটি অনুরোধে "হোস্ট" শিরোনাম ক্ষেত্রটি
ইউআরআই লক্ষ্য থেকে হোস্ট এবং পোর্ট সম্পর্কিত তথ্য সরবরাহ করে , একক আইপি ঠিকানায়
একাধিক
হোস্টের নামের জন্য অনুরোধগুলি সার্ভিস করার সময় উত্স সার্ভারকে সংস্থানগুলির মধ্যে পার্থক্য করতে সক্ষম করে ।

https://tools.ietf.org/html/rfc7230#section-5.4

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.