আমি কিছু ইতিহাস সহ একটি বিকল্প উত্তর দিতে চাই, যাতে আপনি বুঝতে পারেন কেন কাস্ট্রেল কেন আসে, এমনকি আপনি যদি কেবল উইন্ডোজ এবং আইআইএস ব্যবহার করেন তবে।
2000 সালের আগে এএসপি.এনইটি বিকাশের একেবারে গোড়ার দিকে, স্পষ্টতই মাইক্রোসফ্ট এএসপি.নেট ওয়েবফোর্স অ্যাপ্লিকেশনগুলি হোস্ট করার জন্য দুটি টুকরো তৈরি করেছিল,
- ক্যাসিনি পরে ভিজ্যুয়াল স্টুডিওতে এএসপি.এনইটি ডেভলপমেন্ট সার্ভারে পরিণত হয়। এটি সি # ভিত্তিক লিখিত একটি সম্পূর্ণ পরিচালিত ওয়েব সার্ভার
HttpListener
। অবশ্যই এটি যেহেতু শুধুমাত্র উন্নয়নের জন্য, তাই অনেকগুলি বৈশিষ্ট্য কখনও প্রয়োগ করা হয়নি। মাইক্রোসফ্ট ক্যাসিনির সোর্স কোডটিকে জনসাধারণের জন্য উপলব্ধ করার সাথে সাথে তৃতীয় পক্ষ রয়েছে যারা কোড বেসটি কাঁটাচামচ করেছে এবং আরও বৈশিষ্ট্য যুক্ত করেছে, যা ক্যাসিনি পরিবার শুরু করেছিল।
- আইআইএসে এএসপি.এনইটি সমর্থন (সংশোধন 1)। কারণ আইআইএস তখন 4.0.০ এবং ৫.০ / ৫.১ ছিল, যার অ্যাপ্লিকেশন পুলের মতো কিছুই নেই, এএসপি.নেট এমনকি নিজস্ব কর্মী প্রক্রিয়াও রয়েছে (
aspnet_wp.exe
)।
সুতরাং একটি ওয়েব অ্যাপ্লিকেশন বিকাশ করতে আপনি ক্যাসিনি ব্যবহার করেন এবং আইআইএস ব্যবহার করতে পারেন।
আইআইএস in-এ অ্যাপ্লিকেশন পুলগুলির প্রবর্তনের জন্য এএসপি.এনইটি পক্ষের কিছু পরিবর্তন দরকার হয়েছিল, তাই aspnet_wp.exe
অপ্রচলিত হয়ে প্রতিস্থাপন করে aspnet_isapi.dll
। এটি আইআইএস পুনর্বিবেচনা 2 এএসপি.এনইটি সমর্থন হিসাবে দেখা যেতে পারে 2 সুতরাং ISP কর্মী প্রক্রিয়াগুলিতে ASP.NET অ্যাপগুলি হোস্ট করা হচ্ছে w3wp.exe
।
আইআইএস in এবং এর উপরে সংহত পাইপলাইন প্রবর্তনের জন্য আরও পরিবর্তন প্রয়োজন, যা পরিবর্তিত aspnet_isapi.dll
হয়েছিল webengine4.dll
। এটি আইআইএস পুনর্বিবেচনায় এএসপি.এনইটি সমর্থন হিসাবে দেখা যায় 3.. এএসপি.এনইটি এবং আইআইএস পাইপলাইনগুলি একীভূত।
আপনি দেখতে পাচ্ছেন এএসপি.এনইটি আরও জটিল এবং আইআইএসের সাথে দৃly়ভাবে সংহত হয়ে গেছে, তাই ক্যাসিনি তার বয়স দেখাতে শুরু করে এবং ধীরে ধীরে আইআইএস এক্সপ্রেস (একটি ব্যবহারকারী মোড লাইট আইআইএস) দ্বারা প্রতিস্থাপিত হয়।
সুতরাং, অনেক ক্ষেত্রে, লোকেরা যখন আইআইএস ধীর গতিতে দোষ দেয়, তাদের আসলে এএসপি.নেটকে দোষ দেওয়া উচিত। ASP.NET ব্যতীত আইআইএস নিজেই বেশ দ্রুত এবং স্থিতিশীল, যদিও এএসপি.নেট যথেষ্ট পারফরম্যান্স মেট্রিক্সকে মাথায় রেখে তৈরি করা হয়নি (যেহেতু ওয়েবফোর্ডগুলি বেশিরভাগ উত্পাদনশীলতা এবং আরএডি তে মনোনিবেশ করে)।
তারপরে ২০১৪ সালের নভেম্বরে, এএসপি.নেট ৫ (পরে এএসপি.নেট কোর নামকরণ করা হয়েছিল) ঘোষিত হয়েছিল এবং ক্রস প্ল্যাটফর্ম প্রযুক্তিতে পরিণত হয়েছিল। স্পষ্টতই উইন্ডোজ, ম্যাকস এবং লিনাক্স সমর্থন করার জন্য মাইক্রোসফ্টের একটি নতুন ডিজাইনের প্রয়োজন ছিল, যেখানে আইআইএস ছাড়াও সমস্ত বড় ওয়েব সার্ভার, এনজিনেক্স / অ্যাপাচি (বা অন্যান্য ওয়েব সার্ভার) বিবেচনা করা উচিত।
আমি মনে করি অনেকে নোডেজেএস থেকে মাইক্রোসফ্টের কাছ থেকে অনেক কিছু শিখেছে, এবং তারপরে কেস্ট্রল ডিজাইন করে বিকাশ করেছে ( libuv
প্রাথমিকভাবে ভিত্তিক তবে শিগগিরই অন্য প্রযুক্তিতে যেতে পারে) many এটি প্রাথমিকভাবে ক্যাসিনির মতো একটি হালকা ওজনের ওয়েব সার্ভার, তবে পরে আরও বৈশিষ্ট্য যুক্ত করা হচ্ছে (অন্য উত্তরের মত মন্তব্য করা হয়েছে, আরও অনেকগুলি বৈশিষ্ট্য যাতে সম্পূর্ণ ওয়েব সার্ভার হিসাবে বিবেচনা করা যায়)। যদিও সম্পূর্ণরূপে পরিচালিত (কিছু নেটিভ নির্ভরতা বিদ্যমান), এটি আর ক্যাসিনির মতো খেলনা ওয়েব সার্ভার নয়।
তাহলে আপনি কেন কেবল কেষ্টরেল ব্যবহার করতে পারবেন না? আইআইএস এক্সপ্রেস এবং সম্ভাব্য আইআইএস, এনজিনেক্স, বা অ্যাপাচি কেন এখনও দরকার? এটি মূলত আজকের ইন্টারনেট অনুশীলনের ফলাফল। বেশিরভাগ ওয়েব সাইটগুলি আপনার ওয়েব ব্রাউজারগুলি থেকে অনুরোধ নিতে এবং তারপরে পটভূমিতে অ্যাপ্লিকেশন সার্ভারগুলিতে এগিয়ে যাওয়ার জন্য বিপরীত প্রক্সি ব্যবহার করে।
- আইআইএস এক্সপ্রেস / আইআইএস / এনগিনেক্স / অ্যাপাচি হ'ল বিপরীত প্রক্সি সার্ভার
- কেষ্টরেল / নোডজেএস / টমক্যাট এবং আরও অনেকগুলি অ্যাপ্লিকেশন সার্ভার রয়েছে
অন্য একটি উত্তর ইতিমধ্যে মাইক্রোসফ্ট ডকুমেন্টেশনের লিঙ্ক দেখিয়েছে, যাতে আপনি একবার দেখতে পারেন।
মাইক্রোসফ্ট IIS কে জাভা / পাইথন ইত্যাদির জন্য যথেষ্ট পরিমাণে বিপরীত প্রক্সি তৈরির জন্য প্রাথমিকভাবে এইচটিপিপ্ল্যাটফর্মহ্যান্ডলার বিকাশ করেছিল, সুতরাং এটিএসপি.নেট কোরের জন্য এটি ব্যবহারের পরিকল্পনা করেছিল। উন্নয়নের সময় ইস্যুগুলি উপস্থিত হতে শুরু করে, তাই পরে মাইক্রোসফ্ট এএসপি.এনইটি কোর মডিউলটি বিশেষ করে এএসপি.এনইটি কোরের জন্য তৈরি করে। আইআইএস সংশোধন 4 এ এটিএসপি.এনইটি সমর্থন।
এএসপি.নেট কোর ২.২ থেকে শুরু করে, আইআইএসের জন্য এএসপি.নেট কোর মডিউল (সংস্করণ 2) w3wp.exe
এআইএস.এনইটি 2.x / 4.x এর মতোই আইআইএস কর্মী প্রক্রিয়া ( ) এর মধ্যে নেট নেট পরিবেশকে হোস্ট করতে পারে। এই মোডটিকে "আইআইএস ইন-প্রসেস হোস্টিং" বলা হয় । আইআইএস সংশোধন 5 এ এএসপি.এনইটি সমর্থন হিসাবে বিবেচনা করা যেতে পারে।
বেশ, বেশ দীর্ঘ, তবে আমি আশা করি যে আমি প্রয়োজনীয় সমস্ত টুকরো একসাথে রেখেছি এবং আপনি এটি পড়তে আনন্দিত।