আমি যখন এক্সপ্রেস দিয়ে তৈরি কোনও ওয়েবসাইট পুনরায় লোড করি তখন আমি সাফারি (ক্রোমের সাথে নয়) এর সাথে একটি ফাঁকা পৃষ্ঠা পাই কারণ নোডজেএস সার্ভার আমাকে 304 স্থিতি কোড প্রেরণ করে।
কীভাবে সমাধান করবেন?
অবশ্যই এটি কেবল সাফারির সমস্যা হতে পারে তবে এটি অন্য সমস্ত ওয়েবসাইটে সূক্ষ্মভাবে কাজ করে, সুতরাং এটি আমার নোডজেএস সার্ভারেও সমস্যা হতে পারে।
পৃষ্ঠাগুলি তৈরি করতে, আমি জেড এর সাথে ব্যবহার করছি res.render
।
আপডেট: মনে হচ্ছে এই সমস্যাটি দেখা দেয় কারণ সাফারি 'cache-control': 'max-age=0'
পুনরায় লোড প্রেরণ করে।
আপডেট 2: আমার এখন একটি কার্যনির্বাহী রয়েছে, তবে এর থেকে আরও ভাল সমাধান কি আছে? কার্যকারিতা:
app.get('/:language(' + content.languageSelector + ')/:page', function (req, res)
{
// Disable caching for content files
res.header("Cache-Control", "no-cache, no-store, must-revalidate");
res.header("Pragma", "no-cache");
res.header("Expires", 0);
// rendering stuff here…
}
আপডেট 3: সুতরাং সম্পূর্ণ কোড অংশটি বর্তমানে:
app.get('/:language(' + content.languageSelector + ')/:page', pageHandle);
function pageHandle (req, res)
{
var language = req.params.language;
var thisPage = content.getPage(req.params.page, language);
if (thisPage)
{
// Disable caching for content files
res.header("Cache-Control", "no-cache, no-store, must-revalidate");
res.header("Pragma", "no-cache");
res.header("Expires", 0);
res.render(thisPage.file + '_' + language, {
thisPage : thisPage,
language: language,
languages: content.languages,
navigation: content.navigation,
footerNavigation: content.footerNavigation,
currentYear: new Date().getFullYear()
});
}
else
{
error404Handling(req, res);
}
}