সিএসএস এবং জেএস ইউআরএল সংস্করণ করার সর্বোত্তম উপায় কী?


26

আপনার সাইটের গতি বাড়ানোর জন্য ইয়াহুর বহুল-বলিহুড সেরা অভ্যাস অনুসারে আমরা একটি সিডিএন থেকে স্থির সামগ্রীটি ভবিষ্যতের ক্যাশে সমাপ্তির শিরোনাম ব্যবহার করে পরিবেশন করি। অবশ্যই, আমাদের মাঝে মাঝে এই "স্থিতিশীল" ফাইলগুলি আপডেট করতে হবে, সুতরাং আমরা বর্তমানে ফাইলের নাম হিসাবে (ফাইলের সামগ্রীর SHA1 যোগফলের ভিত্তিতে) ইনফিক্স সংস্করণ যুক্ত করি add এভাবে:

styles.min.css

হয়ে:

styles.min.abcd1234.css

তবে, সংস্করণযুক্ত ফাইলগুলি পরিচালনা করা ক্লান্তিকর হয়ে উঠতে পারে এবং আমি ভাবছিলাম যে কোনও জিইটি যুক্তির স্বরলিপিটি আরও পরিষ্কার এবং ভাল হতে পারে:

styles.min.css?v=abcd1234

আপনি কোনটি ব্যবহার করেন এবং কেন? ব্রাউজার আছে- বা প্রক্সি / ক্যাশে-সম্পর্কিত বিবেচনা যা আমার বিবেচনা করা উচিত?


আমি জিজ্ঞাসা করার কারণটি হ'ল আমি মনে করি জেট-আর্গুমেন্ট স্টাইলটি ব্যবহার না করার কারণ শুনছিলাম rec তবে কেন তা মনে করতে পারছি না।
ডেভিড আইক

জিইটি-আর্গুমেন্ট ব্যবহার করার জন্য কোনও ধরণের সার্ভার সাইড স্ক্রিপ্ট (এবং এটি আর স্থির থাকবে না) দিয়ে স্টাইলশিটটি পরিবেশন করার প্রয়োজন নেই?
লোটাস নোটস

@ লোটাস: আপনি জিইটি-আর্গুমেন্টগুলি প্রেরণ করতে পারেন এবং কোনও কিছুই যদি তাদের সন্ধান না করে তবে তারা চুপচাপ উপেক্ষা করা হবে।
ডেভিড Eyk

উত্তর:


10

গুগলের মেক ওয়েব দ্য ওয়েস্ট অনুসারে , ক্যোয়ারী প্যারামিটার সহ পৃষ্ঠাগুলি অনেক এইচটিটিপি প্রক্সি দ্বারা ক্যাশে করা হয় না।

বেশিরভাগ প্রক্সি, উল্লেখযোগ্যভাবে সংস্করণ 3.0 এর মাধ্যমে স্কুইড আপ, "" দিয়ে সংস্থানগুলি ক্যাশে করে না? " তাদের URL এ এমনকি Cache-control: publicশিরোনাম উপস্থিত থাকলেও। এই সংস্থানগুলির জন্য প্রক্সি ক্যাচিং সক্ষম করতে, স্থির সংস্থান থেকে রেফারেন্স থেকে ক্যোয়ারী স্ট্রিংগুলি সরিয়ে ফেলুন এবং তার পরিবর্তে পরামিতিগুলিকে ফাইলের নামের মধ্যে এনকোড করুন।

তাই styles.min.abcd1234.cssপছন্দসই সমাধান। স্বচ্ছভাবে styles.min.abcd1234.cssবাস্তবায়নের সহজতর করার জন্য আপনি একটি উপযুক্ত ইউআরএল রাইটিং মেকানিজম ব্যবহার করতে পারেন styles.min.css?v=abcd1234

আপনি যদি কেবল এইচটিটিপিএসকে সমর্থন করেন তবে সেই পরামর্শ প্রযোজ্য নয়, কারণ প্রক্সিগুলি সাধারণত SSL- র মাধ্যমে পরিবেশন করা পৃষ্ঠাগুলি ক্যাশে করতে পারে না।


2
আমি ভাবছি যদি ক্যোরিং স্ট্রিং ক্যাশে এবং প্রক্সি সার্ভার সম্পর্কিত তথ্যটি কিছুটা তারিখযুক্ত হয়? গুগলের ডক্স এই প্রসঙ্গে আর কোয়েরি স্ট্রিং এবং প্রক্সি সার্ভারের রেফারেন্স নেই। যদিও উদাহরণগুলির মধ্যে এখনও ফাইলের নাম পরিবর্তন করা জড়িত। স্কুইড ২.7 (২০০৮) এবং ৩.১ (২০১০) কথিত স্ট্রিং ক্যাশে ডিফল্টরূপে সমর্থন করে এবং পূর্ববর্তী সংস্করণগুলি এটি সমর্থন করার জন্য কনফিগার করা যেতে পারে।
মিঃ হোয়াইট

15

ফাঁকা ক্যাশে একাধিক ইউআরএল - যেমন style.css?v=123এবং style.css?v=456- থেকে একই সামগ্রীতে ফিরে আসবে জেট স্টাইলের সংস্করণ ব্যবহার Using তবে আমি দেখতে পাচ্ছি না এটি সমস্যাযুক্ত হবে, বিশেষত যেহেতু আপনি একবারে কেবল একটিতে লিঙ্ক করবেন।

আমি মনে করি আপনি GET- স্টাইলটি বজায় রাখা আরও সহজ পাবেন। আপনার পৃথক ফাইলের দরকার নেই: কেবল URL টি পরিবর্তন করুন এবং ব্রাউজারগুলি নতুন করে সিএসএস আনবে।

আপডেট: আরও গবেষণায় এটি প্রদর্শিত হয় যে কোনও ক্যোরি স্ট্রিং ব্যবহার করে ব্রাউজারগুলি ফাইলগুলি ক্যাশে করা বন্ধ করতে পারে । তবে আপনি যদি সঠিক শিরোনামগুলি ফিরিয়ে দিচ্ছেন তবে Expiresএটি কোনও সমস্যা নয়।

আপডেট 2: গৃহীত উত্তরটি নির্দেশ করে যে কিছু প্রক্সি একটি ক্যোয়ারী স্ট্রিং সহ ফাইলগুলি ক্যাশে করে না। তবে এটি পুরানো তথ্যের ভিত্তিতে; স্কুইডে তারা যে বিশেষ সমস্যাটি উল্লেখ করেছে তা years বছর আগে ঠিক করা হয়েছিল। চিত্তাকর্ষক ওয়েবসাইটগুলি এ সম্পর্কে একটি ভাল লেখার কাজ করেছে


এটাই আমি স্মরণ করার চেষ্টা করছিলাম cave লিঙ্কের জন্য ধন্যবাদ।
ডেভিড আইক

1

উভয়ই সমানভাবে কাজ করবে যেমন একটি কোয়েরি স্ট্রিংকে ইউআরএল-র অংশ হিসাবে বিবেচনা করা হয় এবং এটি পরিবর্তন করে আপনি কার্যকরভাবে সংস্থানটির নাম পরিবর্তন করে যা ব্রাউজারটি ফাইলটির একটি নতুন অনুলিপি আনতে বাধ্য করে।

আমি বলছি যে কোনও পদ্ধতি ব্যবহার করা আপনার পক্ষে বজায় রাখা সহজ।


0

এটি উপরোক্ত প্রশ্নের উত্তর নয় , আমি আরও ভাল সমাধান চাই তাই এখানে নিজেই জিজ্ঞাসা করছি

উভয় পদ্ধতিতে সিএসএস এবং জেএস ফাইলগুলি উল্লিখিত ফাইলগুলিতে পরিবর্তনের প্রয়োজন হবে। সুতরাং কার্যকরভাবে পরিবর্তনের পরে অ্যাপ্লিকেশন সার্ভারটি পুনরায় চালু করতে হবে।

অ্যাপ্লিকেশন সার্ভারটি পুনরায় আরম্ভ না করে স্থির ফাইলগুলির সংস্করণ পরিচালনা করা যেতে পারে, এর চেয়ে ভাল উপায় কি?

নিম্নলিখিতটি সমাধানে প্রত্যাখ্যান করা হয়েছে

  • সিএসএস এবং জেএস ফাইলের নাম পরিবর্তন করা হচ্ছে
  • ইউআরএল-এ একটি কোয়েরি প্যারামিটার উত্তীর্ণ করা

সমাধানটি ক্যাশে-নিয়ন্ত্রণ বা মেয়াদ নির্ধারণের ক্ষেত্রেও প্রভাব ফেলবে না।

ধন্যবাদ


1
দেখে মনে হচ্ছে আপনি এখানে নতুন এটা একটা ভালো প্রশ্ন। আপনার এটি পোস্ট করা উচিত, রেফারেন্সের জন্য সম্ভবত এই প্রশ্নের সাথে যুক্ত হয়ে। আমি এটি মডারেটরের মনোযোগের জন্য চিহ্নিত করেছি যাতে তারা আপনাকে সহায়তা করতে পারে।
ডেভিড আইক

ডেভিড যেমন উল্লেখ করেছেন, এই সাইটটি অন্য ফোরামের সাইটের মতো নয়। যদি আপনার কাছে নতুন প্রশ্ন জিজ্ঞাসা করা থাকে তবে নির্দ্বিধায় "একটি প্রশ্ন জিজ্ঞাসা বোতাম" ক্লিক করুন
মার্ক হেন্ডারসন

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