新聞中心

服務(wù)器和客戶端錯(cuò)誤偶爾會發(fā)生,我們通常將它們稱為http響應(yīng)或狀態(tài)代碼。 “406 error”或“406 Not Acceptable”錯(cuò)誤就是這樣一種HTTP響應(yīng)。
您可能會在訪問網(wǎng)站時(shí)看到406 error。或者更糟的是,在您的網(wǎng)站上。雖然它可能會激怒普通互聯(lián)網(wǎng)用戶,但對于網(wǎng)站或應(yīng)用程序所有者來說,它可能是可怕的。除了看起來有些不專業(yè)和令人困惑之外,任何HTTP響應(yīng)代碼,包括406 error,都可能失去銷售和用戶。
本文將解釋“406 Not Acceptable”錯(cuò)誤的基礎(chǔ)知識、原因、修復(fù)方法以及將來避免它的步驟。
什么是406錯(cuò)誤?
好消息是HTTP錯(cuò)誤“406 Not Acceptable”消息并不像404服務(wù)器錯(cuò)誤(通常表示網(wǎng)頁不存在)甚至301或500 HTTP錯(cuò)誤那么常見。因此,你絕對不應(yīng)該看到這個(gè)。
盡管這種情況很少見,但406錯(cuò)誤仍有可能成為您網(wǎng)站的問題。它通??雌饋硐襁@樣:
“406 Not Acceptable”消息的一個(gè)示例。
該消息通常為:
Not Acceptable
An appropriate representation of the requested resource could not be found on this server.
然后它有時(shí)會識別問題所在的“請求的資源”,并在末尾提到其他消息或服務(wù)器信息:
一些406錯(cuò)誤顯示被拒絕的資源
406錯(cuò)誤消息中的外觀和文本取決于用于訪問該網(wǎng)站的網(wǎng)站、主機(jī)和瀏覽器。 406錯(cuò)誤可能會揭示錯(cuò)誤的來源。其他時(shí)候,您可能會發(fā)現(xiàn)這是一個(gè)簡單的“406 Not Acceptable”錯(cuò)誤,沒有任何信息可以幫助您解決問題。
現(xiàn)在,讓我們假設(shè)瀏覽器說的是簡單的英語而不是這些神秘的信息。
在這種情況下,瀏覽器會說這樣的話:你好,我是瀏覽器。我試圖顯示此網(wǎng)頁,但發(fā)生了兩個(gè)問題之一:
因此,請解決違規(guī)問題或讓服務(wù)器使用我接受的文件格式之一。如果您想知道,這里是我知道如何閱讀的文件格式。
要是瀏覽器這么友好就好了!
本質(zhì)上,服務(wù)器與用于呈現(xiàn) Web 應(yīng)用程序的瀏覽器或機(jī)器之間存在錯(cuò)誤通信。瀏覽器要么無法讀取傳入的內(nèi)容,要么無法驗(yàn)證數(shù)據(jù),因?yàn)樗环夏承┮蟆,F(xiàn)在我們必須回答一些問題來找出造成這種誤解的原因。
是什么導(dǎo)致了406錯(cuò)誤?
每次打開網(wǎng)頁時(shí),您的瀏覽器(如 Safari、Firefox、Brave、Chrome 或 Internet Explorer)都會向頁面服務(wù)器發(fā)送請求以獲取站點(diǎn)內(nèi)容和數(shù)據(jù)庫文件。瀏覽器充當(dāng)您和服務(wù)器之間的信使——它告訴服務(wù)器用戶想看到什么,并希望返回正確的信息。
在第一個(gè)請求期間,瀏覽器會告訴服務(wù)器它可以接受的所有文件格式。它被稱為Accept-標(biāo)頭請求,它提示服務(wù)器以正確的格式傳送文件以生成整個(gè)網(wǎng)站或Web應(yīng)用程序,從頭開始。
有時(shí),服務(wù)器會發(fā)送格式不合適或違反瀏覽器或客戶端計(jì)算機(jī)規(guī)定的規(guī)則的回復(fù)。在這種情況下,瀏覽器窗口中會出現(xiàn)406錯(cuò)誤,表明服務(wù)器沒有提供適當(dāng)?shù)臄?shù)據(jù)。
以下是標(biāo)頭請求中可能出現(xiàn)的“錯(cuò)誤格式”和“違反規(guī)則”的一些示例:
- Accept-ranges:一些服務(wù)器設(shè)置了安全措施或只允許響應(yīng)中的特定文件大小范圍。如果響應(yīng)嘗試發(fā)送超出允許范圍的太多字節(jié),您將看到 406 錯(cuò)誤。
- Accept-encoding:這是用于壓縮文件的標(biāo)題區(qū)域,因此它們可以快速從服務(wù)器移動到瀏覽器。不接受某些壓縮方法和格式,從而呈現(xiàn) 406 錯(cuò)誤代碼。
- Accept-charset:指字符集或站點(diǎn)文件表如何獲取代碼(如CSS和HTML )并將其轉(zhuǎn)換為可理解的字符。世界上有太多的字符、語言和符號,很難涵蓋所有這些。標(biāo)準(zhǔn)表稱為ISO-8859,但也有其他補(bǔ)充表。偶爾會發(fā)布新的字符表以跟上語言和字符的添加。
- Accept-language:這通常是Accept-charset的不同名稱,它引用了它對國際語言的關(guān)注。
- MIME type violation:有時(shí),瀏覽器會從服務(wù)器請求特定的MIME類型。 MIME類型是內(nèi)容元素,如JPEG圖像、特定視頻格式或簡單文本。如果服務(wù)器無法提供請求的MIME類型(如JPEG圖像),您將看到406錯(cuò)誤。
解決和修復(fù)406錯(cuò)誤的主要方法是檢查Accept-、Request-和Response-標(biāo)頭中的問題的源代碼。
查看Accept-和Response-標(biāo)頭的最簡單方法是在瀏覽器中打開一個(gè)網(wǎng)頁,右鍵單擊并選擇Inspect 。
轉(zhuǎn)到Network > Headers以顯示來自此網(wǎng)頁的所有請求。
右鍵單擊并在瀏覽器中選擇“Inspect”,然后轉(zhuǎn)到“Network”和“Headers”選項(xiàng)卡。
您通??梢詮拈L列表中選擇任何請求以查看該特定請求的 Request-和Response-標(biāo)頭。
單擊列表中的任何請求以查看諸如Response- 和 Request-標(biāo)頭之類的內(nèi)容
或者,您可以聯(lián)系您的Web開發(fā)人員以查看源代碼。但是,當(dāng)您擁有用于調(diào)試和清理數(shù)據(jù)庫的工具時(shí),檢查源代碼會容易得多,我們將在本文后面討論。如前所述,“406 Not Acceptable”錯(cuò)誤告訴我們客戶端已向服務(wù)器發(fā)送了有效請求,但該請求包含服務(wù)器必須遵循的唯一要求。初始請求中的特殊要求采用HTTP Accept-標(biāo)頭的形式。這給我們留下了一些潛在的原因:
您可能會看到406錯(cuò)誤還有其他原因,但它們并不常見。上面的列表是從最常見到最不常見的原因。前兩個(gè)比其他更頻繁地發(fā)揮作用,因此您很有可能通常應(yīng)該專注于排除 MIME 類型違規(guī)或Accept-language問題的可能性。
總體而言,網(wǎng)站所有者應(yīng)該了解這些格式問題和違規(guī)行為,了解您網(wǎng)站文件中的某些內(nèi)容可能會導(dǎo)致問題。此類情況經(jīng)常因人為錯(cuò)誤而發(fā)生,例如意外輸入錯(cuò)誤代碼、刪除必要代碼或錯(cuò)誤配置服務(wù)器。當(dāng)特定的安全設(shè)置或規(guī)則阻止來自服務(wù)器的內(nèi)容傳輸時(shí),也會出現(xiàn)406錯(cuò)誤。
如何修復(fù)406錯(cuò)誤
在完成解決406錯(cuò)誤的任何步驟之前運(yùn)行網(wǎng)站或應(yīng)用程序備份是明智的。訪問站點(diǎn)的源代碼總是有可能導(dǎo)致進(jìn)一步的問題,因此如果需要,您需要有一個(gè)數(shù)據(jù)庫和站點(diǎn)文件備份來恢復(fù)。
確保您完成了從數(shù)據(jù)庫到應(yīng)用程序以及媒體元素到站點(diǎn)文件的所有內(nèi)容的完整備份。
現(xiàn)在我們對406錯(cuò)誤發(fā)生的原因有了更深入的了解,是時(shí)候討論解決錯(cuò)誤并防止它再次發(fā)生的最佳方法了。這些策略包括客戶端原因(用戶出錯(cuò)或機(jī)器工作不正常)、服務(wù)器端原因和基于平臺的原因,如插件錯(cuò)誤。
確保URL正確
我們的第一條建議聽起來可能很簡單,但它是最快的故障排除選項(xiàng),并且將重點(diǎn)放在客戶端(即您的計(jì)算機(jī))的問題上。
在這種情況下,404錯(cuò)誤比406錯(cuò)誤更有可能發(fā)生,但如果網(wǎng)站URL有效,您最終可能會看到“406 Not Acceptable”錯(cuò)誤。然而,瀏覽器轉(zhuǎn)換請求的方式有些奇怪。例如,在URL末尾添加“JSON”或“PHP”可能會被誤解為對這些特定格式的請求,即使客戶端不需要它們。
要解決此問題,請仔細(xì)檢查之前使用的導(dǎo)致錯(cuò)誤的URL。嘗試再次輸入它或在網(wǎng)站上選擇不同的子域,看看它是否只有一個(gè)頁面沒有呈現(xiàn)。
406消息在技術(shù)上被認(rèn)為是客戶端錯(cuò)誤代碼(即使它通常是平臺或服務(wù)器問題),因此這是確定客戶端是否有問題的第一個(gè)操作過程。
重置您的設(shè)備和網(wǎng)絡(luò)
另一個(gè)客戶端問題偶爾涉及從用戶計(jì)算機(jī)發(fā)送到無法滿足請求的平臺的相同Accept-標(biāo)頭。其中許多平臺包括Hulu等面向游戲或媒體的系統(tǒng)或Spotify等音樂市場。
簡單來說,您可能會登錄Hulu等平臺,嘗試觀看您喜歡的電視節(jié)目,并收到406錯(cuò)誤消息。在這個(gè)例子中,問題幾乎總是在客戶端。它通常是您用來啟動平臺的計(jì)算機(jī)、網(wǎng)絡(luò)或其他設(shè)備。
盡管任何平臺都可能發(fā)生這種情況,但一些通常報(bào)告406錯(cuò)誤的平臺包括:
- Hulu
- Google Play
- Square Enix Games
- Netflix
- Xbox
- Windows(通常用于游戲)
此列表遠(yuǎn)非完整,但它可以讓您了解406錯(cuò)誤可能發(fā)生的位置。
媒體和游戲平臺很復(fù)雜,有很多限制,這些限制取決于您的位置或網(wǎng)絡(luò)配置。由于所有移動部件,您可能會遇到這樣的錯(cuò)誤。
盡管我們無法幫助您對每個(gè)特定平臺進(jìn)行故障排除,但請考慮執(zhí)行以下建議并檢查錯(cuò)誤是否已解決:
- 上網(wǎng)檢查您平臺服務(wù)器的狀態(tài)。可能只是公司服務(wù)器的問題。
- 重新啟動您的計(jì)算機(jī)、游戲系統(tǒng)、流媒體設(shè)備或其他機(jī)器。
- 斷開所有設(shè)備與電纜的連接,等待幾分鐘,然后重新連接所有設(shè)備,然后檢查錯(cuò)誤是否消失。
- 檢查應(yīng)用程序是否正在運(yùn)行最新版本。另外,查看您的任何機(jī)器是否有可用的固件更新。
- 重置您的家庭或辦公室網(wǎng)絡(luò)(通過路由器的 WiFi 或互聯(lián)網(wǎng)連接)。
- 如果您仍然遇到問題,請考慮從無線網(wǎng)絡(luò)切換到有線網(wǎng)絡(luò)連接。
- 盡管這并不總是可能的,但請考慮使用完全不同的機(jī)器復(fù)制錯(cuò)誤。確保設(shè)備在同一網(wǎng)絡(luò)上。如果您無法復(fù)制錯(cuò)誤,請查看您的網(wǎng)絡(luò)和原始機(jī)器。
如果所有其他方法都失敗了,請轉(zhuǎn)到您的搜索引擎并輸入您的平臺名稱以及“+ 406 錯(cuò)誤代碼”以獲得特定于平臺的故障排除建議。這通常會顯示論壇和支持文檔,以指導(dǎo)您完成整個(gè)過程。
回滾您最近的CMS更改
接下來,是時(shí)候探索用于您的網(wǎng)站或應(yīng)用程序的系統(tǒng)了。您可能會發(fā)現(xiàn)您的內(nèi)容管理系統(tǒng)(例如WordPress)是“406 Not Acceptable”錯(cuò)誤的直接原因,因?yàn)槟恼军c(diǎn)文件中的某些內(nèi)容很復(fù)雜。
無論是使用WordPress還是任何其他內(nèi)容管理系統(tǒng),請查看您上次更新的時(shí)間。無論如何,WordPress都有一個(gè)堅(jiān)固的默認(rèn)基礎(chǔ)架構(gòu),旨在避免這些類型的錯(cuò)誤。
但是,特定的插件、主題或手動調(diào)整的編碼可能會產(chǎn)生站點(diǎn)文件違反客戶端或服務(wù)器請求的情況。簡單升級到CMS的最新版本即可立即解決問題。
要確定它是否是您的CMS ,請首先回滾發(fā)生在核心文件上的任何最近升級。您可能已經(jīng)知道,WordPress會定期向其系統(tǒng)發(fā)送更新。大多數(shù)更新會自動發(fā)生,但舊版本仍需要您單擊按鈕。
此外,WordPress和其他CMS使用多個(gè)移動部件,如插件、主題和擴(kuò)展。這些也會定期更新,因此您可能需要回滾其中一些。
對于WordPress之外的所有系統(tǒng),搜索“平臺名稱 + 如何降級”。
如果您使用WordPress,您可以輕松降級您的WordPress網(wǎng)站,有效地將其回滾到以前的版本之一:
降級到以前的WordPress版本
該指南概述了以下降級WordPress網(wǎng)站的方法,其中大部分只需要幾分鐘:
- 手動降級您的WordPress網(wǎng)站。
- 使用插件完成WordPress系統(tǒng)降級。
- 恢復(fù)以前的備份以恢復(fù)舊版本,或者至少是以前的內(nèi)容和文件。
- 手動降級主題或插件。
- 使用單獨(dú)的插件降級插件或主題。
- 切換到舊版本的PHP。
卸載和重新安裝插件、主題和擴(kuò)展
WordPress插件和主題向與核心WordPress文件交互的站點(diǎn)文件添加額外代碼。信譽(yù)良好的插件通常不會引起任何問題,但偶爾會發(fā)生沖突。插件、主題或第三方擴(kuò)展可能是406錯(cuò)誤的原因。
識別麻煩的插件或主題的行之有效的方法是一一停用您的插件和主題。禁用每個(gè)后,檢查406錯(cuò)誤是否已消失。如果是這樣,你就找到了問題所在。如果它沒有消失,請重新安裝插件或主題并繼續(xù)卸載下一個(gè)。
轉(zhuǎn)到WordPress中的插件選項(xiàng)卡并一個(gè)一個(gè)地停用每個(gè)插件。
分析數(shù)據(jù)庫狀態(tài)的變化和沖突
不幸的是,刪除的“問題”插件仍然可能會影響您的WordPress數(shù)據(jù)庫,因?yàn)椴寮梢酝耆L問數(shù)據(jù)庫才能正常工作。因此,即使插件的刪除使406錯(cuò)誤消失,您仍然應(yīng)該檢查數(shù)據(jù)庫的狀態(tài)。否則,您將來仍有可能會遇到更多問題。
如果插件或主題不是罪魁禍?zhǔn)祝€應(yīng)該檢查您的數(shù)據(jù)庫是否是錯(cuò)誤的主要來源。有時(shí),數(shù)據(jù)庫更改,無論是偶然的還是有意的,都會成為出現(xiàn)406錯(cuò)誤的主要原因。
要掃描和修復(fù)您的數(shù)據(jù)庫,請考慮以下解決方案:
使用WP-Optimize之類的優(yōu)化工具清理數(shù)據(jù)庫。圖片來源: WP-Optimize
分析您的服務(wù)器日志
之前的建議側(cè)重于客戶端和面向CMS的故障排除?,F(xiàn)在我們將考慮所有服務(wù)器端問題。如果您沒有使用CMS或知道406錯(cuò)誤與您的CMS或客戶端計(jì)算機(jī)沒有連接,則此提示以及以下提示是最佳選擇。
服務(wù)器故障排除的第一步是檢查日志。無論您使用什么類型的Web應(yīng)用程序、CMS或Web設(shè)計(jì)系統(tǒng);他們都有服務(wù)器端日志。
應(yīng)用程序日志存儲該Web 應(yīng)用程序的整個(gè)(或最近)歷史記錄,以及有關(guān)每個(gè)數(shù)據(jù)庫查詢、提供的結(jié)果、請求的頁面等等的信息。另一方面,服務(wù)器日志包含有關(guān)用于運(yùn)行 Web 應(yīng)用程序的服務(wù)器或硬件的運(yùn)行狀況和狀態(tài)的信息。
檢查所有可能導(dǎo)致406錯(cuò)誤的日志,一般為:
- error.log文件
- access.log文件
調(diào)試Web應(yīng)用程序(如WordPress)
就像大多數(shù) Web 應(yīng)用程序都有服務(wù)器和錯(cuò)誤日志一樣,它們通常也提供有關(guān)調(diào)試應(yīng)用程序本身的信息。調(diào)試涉及通過應(yīng)用程序的代碼來查找和消除小錯(cuò)誤(或錯(cuò)誤)。
運(yùn)行WordPress(以及任何與此相關(guān)的任何 Web 應(yīng)用程序)完整掃描的最佳方法之一是調(diào)試數(shù)據(jù)庫和網(wǎng)站文件。幸運(yùn)的是,調(diào)試并不意味著您必須通讀每一行代碼并自己找出錯(cuò)誤。
防止將來出現(xiàn)406錯(cuò)誤
406錯(cuò)誤的問題在于它可以在許多不同的情況下彈出。作為普通消費(fèi)者瀏覽Hulu或Netflix時(shí),您可能會看到“406 Not Acceptable HTTP”錯(cuò)誤。
但沒有什么是一點(diǎn)點(diǎn)故障排除無法解決的。更令人擔(dān)憂的是406錯(cuò)誤發(fā)生在您的網(wǎng)站或應(yīng)用程序上。對于這些實(shí)例,您需要檢查服務(wù)器和CMS站點(diǎn)文件。
如果是您的網(wǎng)站,您將希望防止錯(cuò)誤再次發(fā)生。插件、主題和人為錯(cuò)誤總是會起作用,但我們有一些建議可以讓您的數(shù)據(jù)庫和站點(diǎn)文件在未來保持干凈:
- 僅安裝必要且信譽(yù)良好的插件、主題和擴(kuò)展。始終將這些元素保持在最低限度。
- 永遠(yuǎn)不要修改核心WordPress文件,除非您絕對必須并且知道自己在做什么。
- 定期運(yùn)行數(shù)據(jù)庫清理器和站點(diǎn)優(yōu)化器。我們建議每個(gè)月完成這個(gè)過程,最好找到一個(gè)在后臺自動運(yùn)行的更干凈的插件。
- 養(yǎng)成調(diào)試服務(wù)器和Web應(yīng)用程序的習(xí)慣。
- 設(shè)置您的網(wǎng)站或應(yīng)用程序的自動備份。這樣,代碼沖突或錯(cuò)誤不會給您帶來太大壓力,因?yàn)槟梢曰謴?fù)網(wǎng)站的先前版本并從那里開始。
- 在您計(jì)劃更新WordPress和任何插件之前運(yùn)行您的站點(diǎn)的手動備份,即使您已經(jīng)運(yùn)行了自動備份(安全總比抱歉好)。在編輯任何文件或向站點(diǎn)添加新代碼之前運(yùn)行備份也是明智的。
小結(jié)
您可以通過多種方式修復(fù)406錯(cuò)誤。只要您知道所看到的內(nèi)容以及在哪里尋找修復(fù)程序,您就應(yīng)該能夠清除錯(cuò)誤。雖然這不是更常見的WordPress錯(cuò)誤之一,但如果您的配置不正確,您會不時(shí)看到它。
對于解決“406 Not Acceptable”錯(cuò)誤,您還有其他建議嗎?請?jiān)谙旅娴脑u論部分分享它們!
標(biāo)題名稱:如何修復(fù)406error或者406NotAcceptable錯(cuò)誤
文章路徑:http://m.5511xx.com/article/djdgpde.html


咨詢
建站咨詢
