404 not found錯誤表示服務器無法找到所請求的資源。對于瀏覽器來說,這意味著該 url 無法識別。
404 請求會讓用戶感到沮喪,并可能導致網站性能不佳。此外,搜索引擎會抓取不存在的頁面并將其編入索引,因此,網站的排名會受到負面影響。總而言之,我們可以通過一些方法來避免搜索無法訪問的請求。
1。定期檢查鏈接
這看起來似乎微不足道,但 404 錯誤的最常見原因是頁面已被移動或刪除以及 url 鍵入不正確。因此,您可以使用 google search console 和 screaming frog seo spider 等免費工具來驗證損壞的鏈接和soft 404s(不存在的資源,但仍返回成功狀態200).
2。驗證網址
在發出請求之前,請驗證 url 是否正確。雖然這不能保證所請求的資源不存在,但它可以防止明顯的錯誤。為了驗證 url,有 javascript 的 url 接口。在這里您可以驗證請求文件的 url 結構、協議、域或擴展名。
您還可以在使用 head 方法發出 get 請求之前檢查資源是否存在。
async function fileExists(url) { try { const response = await fetch(url, { method: 'HEAD' }); return response.ok; } catch (error) { console.error('Error verifying the existence of the file:', error); return false; } } fileExists('https://example.com/file.jpg').then(exists => { if (exists) { console.log('File exists.'); } else { console.log('File not found.'); } });
登錄后復制
3。評估網站的限制
不要忘記檢查 html、css、javascript 文件和其他資源是否具有用戶正確的讀取和執行權限。另請檢查 web 服務器設置中是否存在可能阻止訪問某些文件或目錄的不當訪問限制。
allowoverride 和 require all grant 等設置如果配置不正確,可能會導致問題。
4。清除緩存
緩存存儲網站資源的副本,以便當您再次訪問同一網站時,瀏覽器可以更快地加載這些資源。但是,如果網站資源返回 404 錯誤,則該響應也可以存儲在緩存中。因此,即使該資源在服務器上得到糾正,用戶仍然可能收到 404 錯誤。為了解決這個問題,我們可以從http header的配置上下功夫。
您可以設置 cache-control: no-store 來防止存儲響應,或者設置 cache-control: no-cache 來強制瀏覽器在使用緩存版本之前與服務器進行檢查。您還可以使用響應過期的時間配置 expires 標頭。
5。如果資源缺失,請優雅處理
不要讓用戶遇到 404 錯誤,而是設置重定向到出現錯誤的替代頁面并建議其他服務。此外,如果服務已移動或重命名,請設置 301(永久)或 302(臨時)重定向到新 url。
結論
404 錯誤會對用戶體驗以及應用程序和 seo 的可信度產生負面影響。作為開發人員,通過優雅地處理 404 錯誤,您可以展現出對質量和可用性的承諾,從而增強客戶對您的工作和正在開發的產品的信心。