এইচটিটিপি হ্যান্ডলার বনাম এইচটিটিপি মডিউল


144

কেউ কি 2 টি কম বাক্যে উভয়ের মধ্যে পার্থক্য ব্যাখ্যা করতে পারে? হ্যাঁ, আমি জানি গুগল কয়েকশো উত্তর সরবরাহ করতে পারে তবে ২ টি পরিষ্কার বাক্যে একটিরও নয় :)


প্রতিটি অনুরোধের আগে কিছু কোড চালানোর সন্ধানে।
ফরাসি

23
"হ্যাঁ আমি জানি এটি গুগল করতে পারি" এর জন্য +1
Carsharp

7
"দুটি বাক্যেরও কম।" পছন্দ, এক বাক্য?
অ্যান্ড্রু থেকেন

উত্তর:


316

রিকোয়েস্ট ট্রেনটি হ'ল এইচটিটিপি হ্যান্ডলার। এইচটিপিএমডিউল একটি স্টেশন।


অপূর্ব ব্যাখ্যা! :)
তাই ব্যবহারকারী

3
আমি একমত যে এটি একটি ভাল উত্তর তবে গ্রহণযোগ্য উত্তর হিসাবে চিহ্নিত করা যাবে না।
শ্রীবল্লভ

কেবল উজ্জ্বল !! :)
Dee

4
প্রযুক্তিগতভাবে, "দুটি বাক্যের চেয়ে কম নয়"। <
trollface

5
খুশী হলাম। আমি যুক্ত করব যে এইচটিটিপি কনটেক্সটটি ট্রেন। প্রতিটি স্টেশন (মডিউল) এর পাশ দিয়ে যেতে যেতে কোনওভাবে এইচটিপিপেক্সটেক্সটকে অবদান রাখে।
ডুয়ান

203

দুটি বাক্য:

কোনও এইচটিপিএমডিউল আপনার আবেদনের প্রতিটি অনুরোধের জন্য এক্সটেনশন নির্বিশেষে কার্যকর করে এবং সাধারণত সুরক্ষা, পরিসংখ্যান, লগিং ইত্যাদির জন্য ব্যবহৃত হয় is

একটি এইচটিপিহ্যান্ডলার সাধারণত একটি নির্দিষ্ট বর্ধনের সাথে যুক্ত হয় এবং এটি আরএসএস ফিডস, গতিশীল চিত্র তৈরি বা পরিবর্তন এবং এর মতো জিনিসের জন্য ব্যবহৃত হয়।

এটি সম্পূর্ণ পরিষ্কার না হলে আরও কিছুটা ব্যাখ্যা:

আমি তাদের সম্পর্কে যেভাবে চিন্তা করি - অনুরোধ পাইপলাইনে মডিউলগুলি "প্লাগ ইন" করে, হ্যান্ডলাররা একটি নির্দিষ্ট ফাইল এক্সটেনশান "পরিচালনা" করে। সুতরাং, যদি আপনি লগিংমোডুল এবং পিডিএফহ্যান্ডলার সহ কোনও সাইট পেয়ে থাকেন তবে উভয়ই http://example.com/sample.pdf- র অনুরোধের জন্য কার্যকর করবেন এবং লগিং মডিউলটি একাই http: // এর অনুরোধের জন্য কার্যকর করা হবে will উদাহরণ . com/page.aspx

এমএসডিএন-তে পার্থক্য সম্পর্কে একটি সুন্দর স্পষ্ট নিবন্ধ রয়েছে: এইচটিটিপি হ্যান্ডলার এবং এইচটিটিপি মডিউলগুলির ওভারভিউ


1
ঠিক আছে, সুতরাং আমি যদি কিছু কোড চালাতে চাই যা একটি .aspx ফাইলের প্রতিটি অনুরোধে চলে তবে আমি একটি হ্যান্ডলার প্রয়োগ করি এবং যদি আমি অনুরোধ করা ফাইলের ধরণের নির্বিশেষে প্রতিটি অনুরোধে কিছু কোড চালাতে চাই তবে আমি একটি মডিউল প্রয়োগ করি। এইটাই কি সেইটা?
ফরাসি

5
@ ফ্রাঞ্চি - না, এসপিএক্স পৃষ্ঠাগুলি আপনাকে পৃষ্ঠা লাইফ চক্র সরবরাহ করে এইচটিপিহ্যান্ডার্সের শীর্ষে নির্মিত হয়। একে একটি এসপেক্স পৃষ্ঠা হিসাবে ভাবুন, খুব বেসিক ইভেন্টটি কেটে নিন। ProcessRequest। অন্যদিকে মডিউলটি, জীবন-চক্রের যে কোনও সময়ে আপনি তারটি বেঁধে কার্যকর করবেন। আপনার এসপেক্স পৃষ্ঠার আগে কিছু চালাতে চাওয়ার দৃশ্যের জন্য, আপনি একটি মডিউল চান। তবে আপনাকে .aspx নয় এমন পৃষ্ঠাগুলিতে ম্যানুয়ালি ফিল্টার আউট করতে হবে
ফিল করুন

6
আমি কি বলেছি যে প্রতিটি অনুরোধে মাত্র 1 টি হ্যান্ডলার এবং একাধিক মডিউল থাকতে পারে?
মার্টেন কিফট

1
হ্যান্ডলারগুলির সাধারণ উত্তরটি = রাষ্ট্র এবং মডিউলগুলি কোনও অলিখিত মান নয় বা দুটি থেকে মৌলিকভাবে আলাদা কিছু আছে, আমি বলতে চাইছি কোনও ব্যক্তি কোনও মডিউলকে হ্যান্ডলার এবং তদ্বিপরীত হতে পছন্দ করতে পারে বা এর সীমাবদ্ধতাও থাকতে পারে? তাদের পক্ষে কি এটি অসম্ভব?
ধনী বিয়ানকো

21

এইচটিপিহ্যান্ডলার এবং এইচটিপিএমোডুলের প্রধান এবং সাধারণ লক্ষ্য হ'ল এএসপি.নেট অনুরোধটি আইআইএস সার্ভারে পৌঁছানোর আগে প্রাক প্রসেসিং লজিক ইনজেকশন করা।

এএসপি.এনইটি অনুরোধ পাইপলাইনে লজিক ইনজেকশনের দুটি উপায় সরবরাহ করে;

  1. এইচটিপি হ্যান্ডলারগুলি: এইচটিপি হ্যান্ডলার অনুরোধ করা ফাইলটির নাম বাড়ানোর উপর ভিত্তি করে প্রাক প্রসেসিং লজিক ইনজেক্ট করতে সহায়তা করে। এএসপি.এনইটি তার নিজস্ব কার্যকারিতা অনেকগুলি বাস্তবায়নের জন্য এইচটিটিপি হ্যান্ডলার ব্যবহার করে example উদাহরণস্বরূপ, এএসপি.এনইট .aspx, .asmx এবং trace.axd ফাইল প্রসেসিংয়ের জন্য হ্যান্ডলার ব্যবহার করে।

উদাহরণ: আরএসএস ফিডস: কোনও ওয়েব সাইটের জন্য আরএসএস ফিড তৈরি করতে, আপনি এমন একটি হ্যান্ডলার তৈরি করতে পারেন যা আরএসএস-বিন্যাসিত এক্সএমএল নির্গত করে। সুতরাং যখন ব্যবহারকারীরা আপনার সাইটে একটি অনুরোধ প্রেরণ করে যা .rs এ শেষ হয় তখন এএসপি.এনইটি অনুরোধটি প্রক্রিয়া করার জন্য আপনার হ্যান্ডলারকে কল করে।

হ্যান্ডলার তৈরির সাথে জড়িত তিনটি পদক্ষেপ রয়েছে I IHttpHandler ইন্টারফেস প্রয়োগ করুন lement ২. ওয়েবকনফিগ বা মেশিন.কনফিগ ফাইলে হ্যান্ডলার নিবন্ধন করুন। ৩. আইআইএস-এ এস্পনেট_আইএসপি.ডিএল-তে ফাইল এক্সটেনশান (* .আরশাদ) মানচিত্র করুন।

আইএইচটিপিএইচ্যান্ডলার ইন্টারফেসে প্রসেসরুয়েস্ট পদ্ধতি এবং ইসআরউজেবল সম্পত্তি রয়েছে যা বাস্তবায়ন করা দরকার। প্রক্রিয়াআরকিউয়েস্ট: এই পদ্ধতিতে, আপনি কোডটি লিখেন যা হ্যান্ডলারের আউটপুট তৈরি করে। IsResuable: এই সম্পত্তিটি জানায় যে এই হ্যান্ডলারটি পুনরায় ব্যবহার করা যায় কি না।

আপনি হ্যান্ডলারটি এটির মতো ওয়েবকনফিগ ফাইলে নিবন্ধন করতে পারেন

<httpHandlers>
   <add verb="*" path="*.arshad" type="namespace.classname, assemblyname" />
</httpHandlers>

দ্রষ্টব্য: এখানে আমরা এক্সটেনশন আরশাদ সহ যে কোনও ফাইলের নাম পরিচালনা করছি।

  1. এইচটিপি মডিউল: অনুরোধটি আইআইএস সার্ভারে পৌঁছানোর আগে প্রাক-প্রসেসিং লজিক ইনজেক্ট করার জন্য এইচটিটিপি মডিউল একটি ইভেন্ট ভিত্তিক প্রসেসর। ASP.NET তার নিজস্ব কার্যকারিতা প্রচুর পরিমাণে প্রমাণীকরণ এবং অনুমোদন, সেশন পরিচালনা এবং আউটপুট ক্যাচিং ইত্যাদি প্রয়োগ করতে এইচটিটিপি মডিউল ব্যবহার করে

অনুরোধ পাইপলাইনের মাধ্যমে অনুরোধটি পাস করার সাথে সাথে এএসপি.এনইটি ইঞ্জিন প্রচুর ইভেন্ট নির্গত করে। এই ইভেন্টগুলির মধ্যে কয়েকটি হ'ল প্রমাণীকরণের আবেদন, অনুমোদনপ্রাপ্তি, বিগ্রেইনকোয়েস্ট, সমাপ্তি অনুসন্ধান। এইচটিটিপিডমডুল ব্যবহার করে আপনি এই ইভেন্টগুলিতে যুক্তি লিখতে পারেন। এই যুক্তি ঘটনাগুলি আগুনের সাথে সাথে অনুরোধটি আইআইএসে পৌঁছানোর আগেই কার্যকর করা হয়।

মডিউল তৈরির সাথে দুটি পদক্ষেপ জড়িত রয়েছে, ১. আইএইচটিপিডমডিউল ইন্টারফেস প্রয়োগ করুন ২. ওয়েবকনফাইগ বা মেশিন.কনফিগ ফাইলে মডিউলটি নিবন্ধন করুন

উদাহরণ: সুরক্ষা: এইচটিটিপি মডিউল ব্যবহার করে, অনুরোধটি আইআইএসে পৌঁছানোর আগে আপনি কাস্টম প্রমাণীকরণ বা অন্যান্য সুরক্ষা চেক করতে পারেন।


19

এইচটিটিপি হ্যান্ডলার এমন একটি প্রক্রিয়া যা একটি এএসপি.নেট ওয়েব অ্যাপ্লিকেশনকে করা অনুরোধের প্রতিক্রিয়া হিসাবে চলে। এইচটিটিপি মডিউলগুলি আপনাকে আগত এবং বহির্গামী অনুরোধগুলি পরীক্ষা করতে এবং অনুরোধের ভিত্তিতে ব্যবস্থা নিতে দেয়।


1
সেই অর্থে, একটি এসপেক্সকে এক ধরণের HThandler হিসাবে বিবেচনা করা যেতে পারে?
ফরাসি

17
হ্যাঁ ফ্রেঞ্চি.. যে কোনও এসপেক্সের পিছনে কোডটি খুলুন। আপনি দেখতে পাবেন: পাবলিক আংশিক শ্রেণীর ভাল: System.Web.UI.Page এখন পৃষ্ঠায় ডান ক্লিক করুন এবং সংজ্ঞাতে যান, আপনি দেখতে পাবেন: পাবলিক ক্লাস পৃষ্ঠা: টেমপ্লেট কন্ট্রোল, আইএইচটিপি হ্যান্ডলার
আদিত্য বোকেদে

5

এইচটিপিএইচডিএলডার এক্সটেনশন দ্বারা HTTP অনুরোধ পরিচালনা করার জন্য দায়ী, যখন এইচটিটিপিডমডুল অ্যাপ্লিকেশন লাইফ চক্র ইভেন্টগুলিতে সাড়া দিচ্ছে।


2

চমৎকার নিবন্ধটি এটিকে HtpModule- এবং- এইচটিটিপিহ্যান্ডার্স বন্ধ করে দেয়

তথ্যসূত্র: INFO: ASP.NET HTTP মডিউল এবং HTTP হ্যান্ডলার সংক্ষিপ্ত বিবরণ

"মডিউলগুলি হ্যান্ডলার কার্যকর করার আগে এবং পরে ডাকা হয়। মডিউলগুলি বিকাশকারীদের প্রতিটি স্বতন্ত্র অনুরোধকে বাধা দিতে, অংশ নিতে বা সংশোধন করতে সক্ষম করে। হ্যান্ডলারগুলি স্বতন্ত্র পয়েন্টের অনুরোধগুলি প্রক্রিয়া করতে ব্যবহৃত হয়। হ্যান্ডলারগুলি একটি অ্যাপ্লিকেশনের মধ্যে স্বতন্ত্র HTTP URL বা URL এক্সটেনশনের গোষ্ঠীগুলিকে প্রক্রিয়া করতে ASP.NET ফ্রেমওয়ার্ক সক্ষম করে। মডিউলগুলির বিপরীতে, একটি অনুরোধ প্রক্রিয়া করার জন্য কেবলমাত্র একটি হ্যান্ডলার ব্যবহৃত হয়।


আপনাকে ধন্যবাদ, এটি আমাকে অনেক সাহায্য করে
রাহুল চৌধুরী

1

এইচটিটিপি হ্যান্ডলারটি সেটিংয়ের ভিত্তিতে প্রকৃতপক্ষে সংকলন সম্পন্ন হয়। যেমন যদি পৃষ্ঠা এক্সটেনশন .aspx হয় তবে এটি system.web.Ui.Pagahandlef কারখানার মাধ্যমে সংকলন করবে। এইচটিটিপি হ্যান্ডেলটিতে একবার সংকলন শেষ হয়ে গেলেও এইচটিটিপি মডিউল এবং আইআইএস চলবে।


0

এইচটিটিপি হ্যান্ডলার

এইচটিটিপি হ্যান্ডলার এমন একটি প্রক্রিয়া যা এইচটিটিপি অনুরোধের প্রতিক্রিয়া হিসাবে চলে। সুতরাং যখনই ব্যবহারকারী কোনও ফাইলের জন্য অনুরোধ করেন এটি এক্সটেনশনের ভিত্তিতে হ্যান্ডলার দ্বারা প্রক্রিয়া করা হয়। সুতরাং, যখন আপনার ফাইলের নাম এক্সটেনশনের উপর ভিত্তি করে বিশেষ হ্যান্ডলিং করা দরকার তখন কাস্টম HTTP হ্যান্ডলারগুলি তৈরি করা হয়। আসুন কোনও সাইটের জন্য আরএসএস তৈরি করার জন্য একটি উদাহরণ বিবেচনা করি। সুতরাং, এমন একটি হ্যান্ডলার তৈরি করুন যা আরএসএস-ফর্ম্যাট XML উত্পন্ন করে। এখন কাস্টম হ্যান্ডলারের সাথে .rss এক্সটেনশনটিকে আবদ্ধ করুন।

এইচটিটিপি মডিউল

এইচটিটিপি মডিউলগুলি একটি অনুরোধের জীবনচক্রটিতে প্লাগ হয়। সুতরাং যখন কোনও অনুরোধটি প্রক্রিয়া করা হয় তখন এটি অনুরোধের পাইপলাইনে সমস্ত মডিউল দিয়ে যায়। সুতরাং সাধারণত HTTP মডিউলগুলি এর জন্য ব্যবহৃত হয়:

সুরক্ষা: অনুরোধটি পরিচালনা করার আগে একটি অনুরোধ প্রমাণ করার জন্য।

পরিসংখ্যান এবং লগিং: যেহেতু প্রতিটি অনুরোধের জন্য মডিউলগুলি আহ্বান করা হয় সেগুলি পরিসংখ্যান সংগ্রহ এবং লগিংয়ের তথ্যের জন্য ব্যবহার করা যেতে পারে।

কাস্টম শিরোনাম: যেহেতু প্রতিক্রিয়া পরিবর্তন করা যেতে পারে, তাই কেউ প্রতিক্রিয়ায় কাস্টম শিরোনামের তথ্য যুক্ত করতে পারে।

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