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