Django

⌘K
  1. Home
  2. Django
  3. Django তে কিভাবে কাজ করতে...
  4. middleware
  5. Django ডিফল্টভাবে কিছু middleware প্রদান করে

Django ডিফল্টভাবে কিছু middleware প্রদান করে

Django ডিফল্টভাবে কিছু middleware প্রদান করে, যেগুলি আপনার অ্যাপ্লিকেশন এবং রিকোয়েস্ট/রেসপন্স লাইফসাইকেল পরিচালনা করতে সাহায্য করে। নিম্নলিখিত হলো Django ডিফল্ট middleware গুলোর নাম এবং সংক্ষিপ্ত বিবরণ:

1. SecurityMiddleware

  • কাজ: ওয়েব অ্যাপ্লিকেশনের নিরাপত্তা নিশ্চিত করে। এটি HTTPS এর মাধ্যমে নিরাপদ কানেকশন (SSL) এবং HTTP সিকিউরিটি হেডার যেমন Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options ইত্যাদি যোগ করে।
  • সংক্ষিপ্ত বিবরণ: নিরাপত্তা সংক্রান্ত কিছু সাধারণ হেডার যুক্ত করে এবং কিছু নিরাপত্তা বৈশিষ্ট্য সক্রিয় করে।

2. SessionMiddleware

  • কাজ: সেশন ডেটা ম্যানেজ করে। এটি ব্যবহারকারীর সেশন ডেটাকে SESSION_COOKIE বা অন্য কোনো স্টোরেজে সংরক্ষণ করে এবং পুনরুদ্ধারের জন্য প্রতিটি রিকোয়েস্টে সেগুলি অ্যাক্সেস করতে সহায়তা করে।
  • সংক্ষিপ্ত বিবরণ: ক্লায়েন্ট সেশন ম্যানেজ করে এবং সেশন কুকি দিয়ে ব্যবহৃত তথ্য সংরক্ষণ করে।

3. CommonMiddleware

  • কাজ: সাধারণ কিছু ফিচার সমর্থন করে। এটি URL redirection (যেমন, / এর শেষে slashes যোগ করা) এবং Content-Length হেডার ম্যানেজ করার মতো কাজ করে।
  • সংক্ষিপ্ত বিবরণ: সাধারণ কাজ যেমন slashes শেষ করা, Content-Length হেডার যোগ করা ইত্যাদি।

4. CSRFMiddleware

  • কাজ: CSRF (Cross Site Request Forgery) আক্রমণ প্রতিরোধে সহায়তা করে। এটি একটি CSRF token দিয়ে ফর্ম সাবমিশন যাচাই করে।
  • সংক্ষিপ্ত বিবরণ: CSRF আক্রমণ প্রতিরোধের জন্য টোকেন যাচাই করে এবং নিরাপত্তা নিশ্চিত করে।

5. AuthenticationMiddleware

  • কাজ: ব্যবহারকারীর লগইন স্টেটাস ট্র্যাক করে। এটি রিকোয়েস্টে user অবজেক্ট যোগ করে, যা ডাটাবেজ থেকে লগইন ইউজারকে যাচাই করে।
  • সংক্ষিপ্ত বিবরণ: রিকোয়েস্টের সাথে লগইন করা ইউজারের ডেটা অ্যাটাচ করে (যেমন: request.user)।

6. MessageMiddleware

  • কাজ: সেশন বেসড মেসেজগুলো হ্যান্ডল করে। এটি সাধারণত ব্যবহারকারীদের সেশনে মেসেজ শো করার জন্য ব্যবহৃত হয়।
  • সংক্ষিপ্ত বিবরণ: ব্যবহারকারীদের জন্য সেশনে সংরক্ষিত মেসেজগুলি দেখানোর জন্য ব্যবহৃত হয় (যেমন: ফ্ল্যাশ মেসেজ)।

7. RedirectFallbackMiddleware

  • কাজ: কনফিগার করা ফ্যালব্যাক URL গুলির মাধ্যমে রিডাইরেকশন নিশ্চিত করে।
  • সংক্ষিপ্ত বিবরণ: URL রিডাইরেকশন কাজ করে।

8. LocaleMiddleware

  • কাজ: ব্যবহারকারীর ল্যাংগুয়েজ প্রেফারেন্স অনুযায়ী লোকালাইজেশন ম্যানেজ করে।
  • সংক্ষিপ্ত বিবরণ: রিকোয়েস্টের ভাষা পরিবর্তন এবং প্রাসঙ্গিক ভাষা ফাইলগুলি লোড করার জন্য ব্যবহৃত হয়।

9. XFrameOptionsMiddleware

  • কাজ: একে অন্যের পেজে ফ্রেম করা থেকে রক্ষা করে। এটি X-Frame-Options হেডার সেট করে।
  • সংক্ষিপ্ত বিবরণ: অন্য সাইটে আপনার সাইটকে ফ্রেমে প্রদর্শন হওয়া থেকে রক্ষা করে।

10. CacheMiddleware

  • কাজ: রিকোয়েস্টের জন্য ক্যাশিং হ্যান্ডল করে। এটি ক্যাশ করা ডেটা দ্রুত সার্ভ করার জন্য ব্যবহৃত হয়।
  • সংক্ষিপ্ত বিবরণ: রিকোয়েস্টের আউটপুট ক্যাশ করে, যাতে একাধিক রিকোয়েস্টে একই ডেটা পুনরায় সার্ভ করার প্রয়োজন না হয়।

11. ConditionalGetMiddleware

  • কাজ: ক্লায়েন্টের HTTP If-Modified-Since বা If-None-Match হেডারের ভিত্তিতে রেসপন্স কন্ডিশনালি সরবরাহ করে।
  • সংক্ষিপ্ত বিবরণ: কন্ডিশনাল রেসপন্স সাপোর্ট করে, অর্থাৎ ক্যাশ হওয়া রেসপন্সগুলি যদি পরিবর্তন না হয়, তবে তা আবার সার্ভ করবে না।

12. GZipMiddleware

  • কাজ: রেসপন্স গেজিপ (Gzip) ফর্ম্যাটে কম্প্রেস করে পাঠায়।
  • সংক্ষিপ্ত বিবরণ: রেসপন্স কম্প্রেস করে গেজিপ ফর্ম্যাটে পাঠায়, যা নেটওয়ার্ক ট্রাফিক কমাতে সহায়তা করে।

13. HttpResponseCompressionMiddleware

  • কাজ: HTTP রেসপন্সের কম্প্রেশন হ্যান্ডল করে, বিশেষ করে যখন মডিফায়েড কনটেন্ট বা ক্যাশিংয়ে গেজিপ ফরম্যাট ব্যবহার করা হয়।
  • সংক্ষিপ্ত বিবরণ: HTTP রেসপন্স কম্প্রেস করে।

14. RequestMiddleware (Custom Middleware)

  • কাজ: এটির মাধ্যমে ব্যবহারকারী নিজস্ব লগ, ক্লিয়ারেন্স এবং কিছু কাস্টম কাজ করতে পারে।

How can we help?