আলোচ্য বিষয়টি কি?
ইতিমধ্যে ক্লায়েন্ট-সাইড ক্যাচিং নামে একটি সুপ্রতিষ্ঠিত প্রযুক্তি রয়েছে। এইচটিএমএল 5 স্থানীয় স্টোরেজ কী ক্ষেত্রে ক্যাচিংয়ের অনুপস্থিত তা এনে দেয়?
আপনার কিছু ধরণের অদ্ভুত অ্যাপ্লিকেশন থাকতে পারে যা অবশ্যই জাভাস্ক্রিপ্ট কোডের অংশগুলি গতিশীলভাবে লোড করতে হবে যাতে আপনি কার্যকরভাবে ক্যাশে ব্যবহার করতে পারবেন না, তবে এটি অত্যন্ত বিরল ঘটনা।
এছাড়াও, অন্য একটি জিনিস সম্পর্কে সচেতন হতে হবে। ব্রাউজারগুলির ক্যাশের জন্য নির্দিষ্ট নীতি থাকে এবং বেশিরভাগ ব্রাউজারগুলি ক্যাশে ভালভাবে পরিচালনা করার ক্ষেত্রে যথেষ্ট ভাল (কেবলমাত্র পুরানো সামগ্রীগুলি অপসারণ করে)। আপনার ঘরে তৈরি ক্যাশে প্রয়োগ করে আপনি ব্রাউজারগুলিকে এটি সঠিকভাবে পরিচালনা করতে বাধা দেন। এটি কেবল নিজের দ্বারা সমালোচনা করা যায় না, তবে তাড়াতাড়ি বা পরে আপনাকে আঘাত করবে। উদাহরণ: যখন কোনও ওয়েব অ্যাপ্লিকেশন ব্যবহারকারীরা বাগগুলি জানায়, প্রায়শই আপনি তাদের ক্যাশে সাফ করতে জিজ্ঞাসা করে উত্তর দেন। আমি নিশ্চিত না আপনি কী ক্ষেত্রে জিজ্ঞাসা করবেন, কারণ ক্যাশে সাফ করা কখনই আপনার ওয়েব অ্যাপ্লিকেশানের সাথে সমস্যাগুলি সমাধান করবে না।
আপনার প্রথম সম্পাদনার প্রতিক্রিয়াতে (আপনার দ্বিতীয় সম্পাদনাটি অফ-টপিক হচ্ছে):
আমি সচেতন ব্রাউজার ক্যাশে করি, এখনও কিছু শিরোনাম অ্যাক্সেস চেকিং থাকবে
আপনার মনে হয় ব্রাউজারের ক্যাচিংয়ের কিছুটা বোঝার অভাব আছে। এ কারণেই নিজের ঘরে তৈরি ক্যাশেিং ব্যবস্থাটি বাস্তবায়নের আগে এটি কীভাবে প্রথমে কাজ করে তা বোঝা জরুরি । আপনি নিজের বিদ্যমান চাকাটি তখনই পুনরায় উদ্ভাবন করুন যখন আপনি যথেষ্ট পরিমাণে বিদ্যমান চাকাগুলি বুঝতে পারেন এবং সেগুলি ব্যবহার না করার উপযুক্ত কারণ রয়েছে। "চাকা পুনরায় উদ্ভাবন করা এবং এটির জন্য অনুশোচনা করা হচ্ছে না" প্রশ্নের আমার উত্তরটির প্রথম পয়েন্টটি দেখুন ।
HTTP- র মাধ্যমে কিছু ডেটা সরবরাহ করার সময়, আপনি ক্যাশে সম্পর্কিত কয়েকটি শিরোনাম নির্দিষ্ট করতে পারেন:
Last-Modified
বিষয়বস্তু পরিবর্তন করা হয়েছে যখন নির্দিষ্ট করে,
Expires
সামগ্রীটি পরিবর্তিত হলে ব্রাউজারকে সার্ভারের কাছে কখন জিজ্ঞাসা করতে হবে তা নির্দিষ্ট করে ।
এই দুটি শিরোলেখ ব্রাউজারটিকে অনুমতি দেয়:
- বারবার সামগ্রী ডাউনলোড করা থেকে বিরত থাকুন। যদি
Last-Modified
গত মাসে সেট করা থাকে এবং কন্টেন্টটি আজ কয়েক ঘন্টা আগেই ডাউনলোড হয়ে গিয়েছিল, আবার এটি ডাউনলোড করার দরকার নেই।
- যে তারিখে ফাইলটি সর্বশেষ সংশোধন করা হয়েছিল তার জন্য জিজ্ঞাসা করা থেকে বিরত থাকুন। যদি
Expires
একটি ক্যাশে সত্তা মে 5 ম 2014, আপনি যে কোনো পেতে অনুরোধ ইস্যু হবে না তন্ন তন্ন 2011 সালে, কিংবা 2012 বা 2013 সালে, যেহেতু আপনি কি জানেন যে ক্যাশে আপ-টু-তারিখ।
দ্বিতীয়টি সিডিএনগুলির জন্য প্রয়োজনীয়। যখন Google তোলে JQuery স্ট্যাক ওভারফ্লো একটি পরিদর্শক অথবা cdn.sstatic.net
চিত্র বা স্টাইলশীট স্ট্যাক ওভারফ্লো দ্বারা ব্যবহৃত তোলে, তারা একটি নতুন সংস্করণ প্রত্যেক সময় জন্য প্রশ্নের ব্রাউজার চাই না। পরিবর্তে, তারা একবার এই ফাইলগুলি পরিবেশন করছে, মেয়াদোত্তীকরণের তারিখটি দীর্ঘ পর্যাপ্ত কিছুতে সেট করুন এবং এগুলি সবই।
উদাহরণস্বরূপ, আমি যখন স্ট্যাক ওভারফ্লো হোম পৃষ্ঠাতে আসি তখন কী ঘটছে এর একটি স্ক্রিনশট:
পরিবেশন করার জন্য 15 টি ফাইল রয়েছে। কিন্তু এই সব 304 Not Modified
প্রতিক্রিয়া কোথায়? আপনার কাছে কেবল তিনটি সামগ্রীর অনুরোধ রয়েছে যা পরিবর্তিত হয়েছে। অন্য কিছুর জন্য, ব্রাউজারটি কোনও সার্ভারে কোনও অনুরোধ না করে ক্যাশেড সংস্করণ ব্যবহার করে ।
উপসংহারে, আপনার নিজের ক্যাশে প্রক্রিয়াটি প্রয়োগ করার আগে আপনাকে সত্যিই দু'বার চিন্তা করতে হবে এবং বিশেষত একটি ভাল দৃশ্যের সন্ধান করা উচিত যেখানে এটি কার্যকর হতে পারে । আমি আমার উত্তরের শুরুতে যেমন বলেছিলাম, আমি কেবল একটিই পেয়েছি: যেখানে আপনি ওএমজি, এর মাধ্যমে জাভাস্ক্রিপ্টের অংশগুলি সেগুলি ব্যবহার করার জন্য পরিবেশন করছেন eval()
। তবে এক্ষেত্রে আমি নিশ্চিত যে আরও ভাল পন্থাগুলিও রয়েছে যেগুলি:
- মানক ক্যাশে কৌশলগুলি ব্যবহার করে আরও কার্যকর বা
- বজায় রাখা সহজ।