প্রসঙ্গ
ফ্রিল্যান্স বিকাশকারী হিসাবে কাজ করে, প্রায়শই আমি এক্সএসএলটি-র ভিত্তিতে সম্পূর্ণ ওয়েবসাইট তৈরি করি। অন্য কথায়, প্রতিটি অনুরোধে একটি এক্সএমএল ফাইল তৈরি করা হয়, যা পৃষ্ঠার সামগ্রী সম্পর্কে আমাদের যা জানা দরকার তা উপস্থিত রয়েছে: বর্তমানে লগইন হওয়া ব্যবহারকারীর নাম, শীর্ষ মেনু এন্ট্রি, যদি এই মেনুটি গতিশীল / কনফিগারযোগ্য হয়, তবে পাঠ্যটি পৃষ্ঠার একটি নির্দিষ্ট অঞ্চলে প্রদর্শন করুন, ইত্যাদি। তারপর এক্সএসএল প্রক্রিয়া (ক্যাশে, ইত্যাদি) এটি ব্রাউজারে প্রেরণের জন্য এইচটিএমএল / এক্সএইচটিএমএল পৃষ্ঠাতে প্রেরণ করুন।
বিশেষত পিএইচপি সহ ছোট আকারের ওয়েবসাইটগুলি তৈরি করা সহজ করার জন্য এটির একটি ভাল পয়েন্ট রয়েছে। এটি এক ধরণের টেম্পলেট ইঞ্জিন, তবে যা আমি অন্যান্য টেম্পলেট ইঞ্জিনগুলির চেয়ে বেশি পছন্দ করি কারণ এটি বেশিরভাগ টেম্পলেট ইঞ্জিনগুলির চেয়ে অনেক বেশি শক্তিশালী এবং কারণ আমি এটি আরও ভাল জানি এবং পছন্দ করি। পৃথক এপিআই তৈরি করার প্রয়োজন ছাড়াই স্বয়ংক্রিয় অ্যাক্সেসের দাবিতে কাঁচা এক্সএমএল ডেটাতে অ্যাক্সেস দেওয়াও সম্ভব হয় need
অবশ্যই, এটি কোনও মিডিয়াম-স্কেল বা বৃহত-স্কেল ওয়েবসাইটে সম্পূর্ণরূপে ব্যর্থ হবে, যেহেতু, ভাল ক্যাচিং কৌশল সহ, এক্সএসএল এখনও সামগ্রিক ওয়েবসাইটের কার্যকারিতা হ্রাস করে এবং আরও সিপিইউ সার্ভারসাইডের প্রয়োজন।
প্রশ্ন
আধুনিক ব্রাউজারগুলিতে একটি এক্সএমএল ফাইল নেওয়ার এবং এটি এক্সএমএলের মতো ঘোষিত কোনও সম্পর্কিত এক্সএসএল ফাইলের সাথে রূপান্তর করার ক্ষমতা রাখে <?xml-stylesheet href="demo.xslt" type="text/xsl"?>। ফায়ারফক্স 3 এটি করতে পারে। ইন্টারনেট এক্সপ্লোরার 8 এটিও করতে পারে।
এর অর্থ হ'ল 50% ব্যবহারকারীর জন্য সার্ভার থেকে ক্লায়েন্টের পক্ষে এক্সএসএল প্রসেসিং স্থানান্তরিত করা সম্ভব (বেশ কয়েকটি ওয়েবসাইটে ব্রাউজারের পরিসংখ্যান অনুসারে যেখানে আমি এটি প্রয়োগ করতে পারি)। এর অর্থ এই যে 50% ব্যবহারকারীরা প্রতিটি অনুরোধে কেবলমাত্র এক্সএমএল ফাইল পাবেন, এইভাবে তাদের এবং সার্ভারের ব্যান্ডউইদথকে হ্রাস করবে (এক্সএমএল ফাইলটি এটির প্রক্রিয়াজাত এইচটিএমএল এনালগের তুলনায় অনেক ছোট) এবং সার্ভারের সিপিইউ ব্যবহার হ্রাস করবে।
এই কৌশলটির ত্রুটিগুলি কী কী?
আমি বেশ কয়েকটি সম্পর্কে ভেবেছিলাম, তবে এটি এই পরিস্থিতিতে প্রয়োগ হয় না:
- ব্রাউজারের অনুরোধের ভিত্তিতে, কখন কাঁচা এক্সএমএল প্রেরণ করতে হবে এবং কখন পরিবর্তে এটি এইচটিএমএলে রূপান্তর করতে হবে তা কার্যকর করা এবং প্রয়োগ করা প্রয়োজন। স্পষ্টতই, আসলটি হলে সিস্টেমটি খুব বেশি কঠিন হবে না। কেবলমাত্র পরিবর্তনটি হ'ল প্রতিটি এক্সএমএলে এক্সএসএল ফাইল লিঙ্ক যুক্ত করা এবং ব্রাউজারের চেক যুক্ত করা।
- এক্সওএসএলটি ফাইলটি সার্ভারের মাধ্যমে ক্যাশে হওয়ার পরিবর্তে ব্রাউজারগুলি ডাউনলোড করবে বলে আরও আইও এবং ব্যান্ডউইথ ব্যবহার। আমি মনে করি এটি সমস্যা হবে না, যেহেতু এক্সএসএলটি ফাইলটি ব্রাউজারগুলির দ্বারা ক্যাশে করা হবে (যেমন চিত্র, বা সিএসএস, বা জাভাস্ক্রিপ্ট ফাইলগুলি আসলে ক্যাশে করা হয়েছে)।
- ক্লায়েন্ট পক্ষের সম্ভবত কিছু সমস্যা যেমন কিছু ব্রাউজারে কোনও পৃষ্ঠা সংরক্ষণ করার সময় সমস্যা।
- কোডটি ডিবাগ করতে অসুবিধা: ব্রাউজারটি যে প্রকৃত একমাত্র প্রদর্শিত উত্সটি ডাউনলোড করা এক্সএমএল তা হ'ল এইচটিএমএল উত্স প্রাপ্ত করা অসম্ভব। অন্যদিকে, আমি ক্লায়েন্টের দিক থেকে এইচটিএমএল কোডটি খুব কমই দেখতে যাই এবং বেশিরভাগ ক্ষেত্রে এটি সরাসরি ব্যবহারের অযোগ্য হয় (সাদা স্থান সরিয়ে ফেলা হয়)।
ngx_http_xslt_moduleবা চারটি ক্ষেত্রেই ছিল কিনা তা আমি ঠিক মনে করি না )। আমি অত্যন্ত সন্দেহ করি যে এক্সএসএলটি ২.০ এর ক্লায়েন্ট-সাইড সমর্থন আরও ভাল।