當使用JavaScript (JS) 和 Cascading Style Sheets (CSS)時,您可能會遇到返回狀態碼 304 的情況。這意味著您的瀏覽器發出了一個請求,但服務器發現該請求已經在緩存中存在,并向瀏覽器發送 304 狀態碼以指示它可以使用緩存版本。這可以提高頁面加載速度并減少帶寬消耗。
以下是一個返回 304 狀態碼的 JS 示例:
// 在 index.js 文件中,請求 GitHub API 并將響應轉換為 JSON fetch('https://api.github.com/users/github') .then(res =>{ if (res.status === 304) { console.log('使用緩存中的響應'); } else { return res.json(); } }) .then(json =>{ console.log(json); }) .catch(err =>{ console.error('錯誤:', err); });
以下是一個返回 304 狀態碼的 CSS 示例:
// 在 style.css 文件中,請求 Google Font API @import url('https://fonts.googleapis.com/css?family=Open+Sans'); body { font-family: 'Open Sans', sans-serif; } // 在 main.js 文件中,添加樣式表到頁面中 const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'style.css'; document.head.appendChild(link); // 在 onload 事件中檢查響應狀態碼 link.onload = () =>{ if (link.sheet && link.sheet.cssRules.length) { console.log('樣式已經包含在緩存中'); } else { console.log('添加新樣式表'); } };
在上面的兩個示例中,我們使用了 fetch API 和 CSS import 來請求數據和樣式表。如果服務器確定請求已經在緩存中,將返回 304 狀態碼。在 JavaScript 代碼中,我們檢查狀態碼并使用緩存響應來加快頁面加載速度。在 CSS 代碼中,我們檢查樣式表是否已存在,并向用戶顯示相關信息。
上一篇mysql 表被鎖住
下一篇js刷新css生效